LoraxMod
1.0.2
Tree-sitter AST parsing and analysis via PowerShell. Native C# implementation with schema-driven extraction. Supports 28+ languages.
Minimum PowerShell version
7.0
Installation Options
Owners
Copyright
(c) 2025 jackyHardDisk. MIT License.
Package Details
Author(s)
- jackyHardDisk
Tags
tree-sitter AST parsing code-analysis static-analysis
Cmdlets
Get-LoraxSchema ConvertTo-LoraxAST Find-LoraxNode Compare-LoraxAST Start-LoraxParserSession Invoke-LoraxParse Stop-LoraxParserSession Find-LoraxFunction Get-LoraxDependency Get-LoraxDiff
Dependencies
This module has no dependencies.
Release Notes
## v1.0.2 - License Compliance
Additions:
- Added THIRD_PARTY_NOTICES.txt with MIT license attributions
- TreeSitter.DotNet and all tree-sitter grammars properly attributed
## v1.0.1 - DLL Loading Fix
Fixes:
- Fixed native DLL loading when module loaded via PWSH_MCP_MODULES
- ModuleInitializer now modifies PATH environment variable to include bin/ and runtimes/{RID}/native/
- TreeSitter.DotNet language parsers (tree-sitter-python.dll, etc.) now load correctly
Technical Details:
- TreeSitter.DotNet uses LoadLibrary (Win32 API) which searches PATH
- AddDllDirectory doesn't work (only affects LoadLibraryEx with LOAD_LIBRARY_SEARCH_USER_DIRS)
- Solution: Modify PATH environment variable during assembly initialization
See: PWSH_DLL_LOADING_ISSUE.md for detailed investigation and solution documentation
## v1.0.0 - Native C# Implementation
Breaking Changes:
- Complete rewrite using TreeSitter.DotNet native bindings
- No Node.js dependency required
- New cmdlet-based API (10 cmdlets)
- Removed script-based functions from v0.3.0
New Architecture:
- Native C# parsers via TreeSitter.DotNet
- Schema-driven extraction (dynamic field discovery)
- Direct .NET integration
- 28+ supported languages (vs 12 in v0.3.0)
Cmdlets:
- Schema: Get-LoraxSchema (query schemas, list languages)
- Parse: ConvertTo-LoraxAST, Find-LoraxNode, Compare-LoraxAST
- Sessions: Start/Invoke/Stop-LoraxParserSession (batch processing)
- Analysis: Find-LoraxFunction, Get-LoraxDependency, Get-LoraxDiff
Performance:
- Faster parsing (native C# vs Node.js interop)
- Session-based batch processing for high throughput
- Reduced memory overhead
Language Support:
- All v0.3.0 languages: C, C++, C#, Python, JavaScript, Rust, CSS, HTML, Bash
- New: TypeScript, Go, Java, Ruby, PHP, Swift, JSON, and 13+ more
- Missing from v0.3.0: Fortran, PowerShell, R (use v0.3.0 or SchemaCache for 170+ languages)
Migration from v0.3.0:
- Start-LoraxStreamParser -> Start-LoraxParserSession
- Invoke-LoraxStreamQuery -> Invoke-LoraxParse
- Stop-LoraxStreamParser -> Stop-LoraxParserSession
- Find-FunctionCalls -> Find-LoraxFunction (alias preserved)
- Get-IncludeDependencies -> Get-LoraxDependency (alias preserved)
Requirements:
- PowerShell 7.0+
- .NET 8.0 runtime
- No Node.js dependency
FileList
- LoraxMod.nuspec
- bin\runtimes\linux-arm64\native\libtree-sitter-css.so
- bin\runtimes\win\lib\net8.0\System.Management.Automation.dll
- bin\runtimes\win-x64\native\tree-sitter-haskell.dll
- LoraxMod.psd1
- bin\runtimes\linux-arm64\native\libtree-sitter-embedded-template.so
- bin\runtimes\win\lib\net8.0\System.Management.dll
- bin\runtimes\win-x64\native\tree-sitter-html.dll
- LoraxMod.psm1
- bin\runtimes\linux-arm64\native\libtree-sitter-go.so
- bin\runtimes\win\lib\net8.0\System.Security.Cryptography.Pkcs.dll
- bin\runtimes\win-x64\native\tree-sitter-java.dll
- THIRD_PARTY_NOTICES.txt
- bin\runtimes\linux-arm64\native\libtree-sitter-haskell.so
- bin\runtimes\win\lib\net8.0\System.Windows.Extensions.dll
- bin\runtimes\win-x64\native\tree-sitter-javascript.dll
- bin\LoraxMod.deps.json
- bin\runtimes\linux-arm64\native\libtree-sitter-html.so
- bin\runtimes\win-arm\lib\net5.0\getfilesiginforedistwrapper.dll
- bin\runtimes\win-x64\native\tree-sitter-jsdoc.dll
- bin\LoraxMod.dll
- bin\runtimes\linux-arm64\native\libtree-sitter-java.so
- bin\runtimes\win-arm\native\getfilesiginforedist.dll
- bin\runtimes\win-x64\native\tree-sitter-json.dll
- bin\LoraxMod.pdb
- bin\runtimes\linux-arm64\native\libtree-sitter-javascript.so
- bin\runtimes\win-arm\native\PowerShell.Core.Instrumentation.dll
- bin\runtimes\win-x64\native\tree-sitter-julia.dll
- bin\LoraxMod.xml
- bin\runtimes\linux-arm64\native\libtree-sitter-jsdoc.so
- bin\runtimes\win-arm\native\pwrshplugin.dll
- bin\runtimes\win-x64\native\tree-sitter-ocaml.dll
- bin\Microsoft.ApplicationInsights.dll
- bin\runtimes\linux-arm64\native\libtree-sitter-json.so
- bin\runtimes\win-arm64\lib\net5.0\getfilesiginforedistwrapper.dll
- bin\runtimes\win-x64\native\tree-sitter-php.dll
- bin\Microsoft.Win32.Registry.AccessControl.dll
- bin\runtimes\linux-arm64\native\libtree-sitter-julia.so
- bin\runtimes\win-arm64\lib\netstandard1.6\microsoft.management.infrastructure.dll
- bin\runtimes\win-x64\native\tree-sitter-python.dll
- bin\Newtonsoft.Json.dll
- bin\runtimes\linux-arm64\native\libtree-sitter-ocaml.so
- bin\runtimes\win-arm64\lib\netstandard1.6\microsoft.management.infrastructure.native.dll
- bin\runtimes\win-x64\native\tree-sitter-ql.dll
- bin\System.CodeDom.dll
- bin\runtimes\linux-arm64\native\libtree-sitter-php.so
- bin\runtimes\win-arm64\native\getfilesiginforedist.dll
- bin\runtimes\win-x64\native\tree-sitter-ruby.dll
- bin\System.Configuration.ConfigurationManager.dll
- bin\runtimes\linux-arm64\native\libtree-sitter-python.so
- bin\runtimes\win-arm64\native\microsoft.management.infrastructure.native.unmanaged.dll
- bin\runtimes\win-x64\native\tree-sitter-rust.dll
- bin\System.Diagnostics.EventLog.dll
- bin\runtimes\linux-arm64\native\libtree-sitter-ql.so
- bin\runtimes\win-arm64\native\PowerShell.Core.Instrumentation.dll
- bin\runtimes\win-x64\native\tree-sitter-scala.dll
- bin\System.DirectoryServices.dll
- bin\runtimes\linux-arm64\native\libtree-sitter-ruby.so
- bin\runtimes\win-arm64\native\pwrshplugin.dll
- bin\runtimes\win-x64\native\tree-sitter-swift.dll
- bin\System.Management.dll
- bin\runtimes\linux-arm64\native\libtree-sitter-rust.so
- bin\runtimes\win-arm64\native\tree-sitter-agda.dll
- bin\runtimes\win-x64\native\tree-sitter-toml.dll
- bin\System.Security.Cryptography.Pkcs.dll
- bin\runtimes\linux-arm64\native\libtree-sitter-scala.so
- bin\runtimes\win-arm64\native\tree-sitter-bash.dll
- bin\runtimes\win-x64\native\tree-sitter-tsq.dll
- bin\System.Security.Cryptography.ProtectedData.dll
- bin\runtimes\linux-arm64\native\libtree-sitter-tsx.so
- bin\runtimes\win-arm64\native\tree-sitter-c-sharp.dll
- bin\runtimes\win-x64\native\tree-sitter-tsx.dll
- bin\System.Security.Permissions.dll
- bin\runtimes\linux-arm64\native\libtree-sitter-typescript.so
- bin\runtimes\win-arm64\native\tree-sitter-css.dll
- bin\runtimes\win-x64\native\tree-sitter-typescript.dll
- bin\System.Windows.Extensions.dll
- bin\runtimes\linux-arm64\native\libtree-sitter-verilog.so
- bin\runtimes\win-arm64\native\tree-sitter-embedded-template.dll
- bin\runtimes\win-x64\native\tree-sitter-verilog.dll
- bin\tree-sitter-agda.dll
- bin\runtimes\linux-arm64\native\libtree-sitter.so
- bin\runtimes\win-arm64\native\tree-sitter-go.dll
- bin\runtimes\win-x64\native\tree-sitter.dll
- bin\tree-sitter-bash.dll
- bin\runtimes\linux-musl-x64\native\libpsl-native.so
- bin\runtimes\win-arm64\native\tree-sitter-haskell.dll
- bin\runtimes\win-x86\lib\net5.0\getfilesiginforedistwrapper.dll
- bin\tree-sitter-c-sharp.dll
- bin\runtimes\linux-x64\native\libpsl-native.so
- bin\runtimes\win-arm64\native\tree-sitter-html.dll
- bin\runtimes\win-x86\lib\netstandard1.6\microsoft.management.infrastructure.dll
- bin\tree-sitter-c.dll
- bin\runtimes\linux-x64\native\libtree-sitter-agda.so
- bin\runtimes\win-arm64\native\tree-sitter-java.dll
- bin\runtimes\win-x86\lib\netstandard1.6\microsoft.management.infrastructure.native.dll
- bin\tree-sitter-cpp.dll
- bin\runtimes\linux-x64\native\libtree-sitter-bash.so
- bin\runtimes\win-arm64\native\tree-sitter-jsdoc.dll
- bin\runtimes\win-x86\native\getfilesiginforedist.dll
- bin\tree-sitter-csharp.dll
- bin\runtimes\linux-x64\native\libtree-sitter-c-sharp.so
- bin\runtimes\win-arm64\native\tree-sitter-json.dll
- bin\runtimes\win-x86\native\microsoft.management.infrastructure.native.unmanaged.dll
- bin\tree-sitter-css.dll
- bin\runtimes\linux-x64\native\libtree-sitter-c.so
- bin\runtimes\win-arm64\native\tree-sitter-julia.dll
- bin\runtimes\win-x86\native\PowerShell.Core.Instrumentation.dll
- bin\tree-sitter-embedded-template.dll
- bin\runtimes\linux-x64\native\libtree-sitter-cpp.so
- bin\runtimes\win-arm64\native\tree-sitter-ocaml.dll
- bin\runtimes\win-x86\native\pwrshplugin.dll
- bin\tree-sitter-go.dll
- bin\runtimes\linux-x64\native\libtree-sitter-css.so
- bin\runtimes\win-arm64\native\tree-sitter-php.dll
- bin\runtimes\win-x86\native\tree-sitter-agda.dll
- bin\tree-sitter-haskell.dll
- bin\runtimes\linux-x64\native\libtree-sitter-embedded-template.so
- bin\runtimes\win-arm64\native\tree-sitter-python.dll
- bin\runtimes\win-x86\native\tree-sitter-bash.dll
- bin\tree-sitter-html.dll
- bin\runtimes\linux-x64\native\libtree-sitter-go.so
- bin\runtimes\win-arm64\native\tree-sitter-ql.dll
- bin\runtimes\win-x86\native\tree-sitter-c-sharp.dll
- bin\tree-sitter-java.dll
- bin\runtimes\linux-x64\native\libtree-sitter-haskell.so
- bin\runtimes\win-arm64\native\tree-sitter-ruby.dll
- bin\runtimes\win-x86\native\tree-sitter-c.dll
- bin\tree-sitter-javascript.dll
- bin\runtimes\linux-x64\native\libtree-sitter-html.so
- bin\runtimes\win-arm64\native\tree-sitter-rust.dll
- bin\runtimes\win-x86\native\tree-sitter-cpp.dll
- bin\tree-sitter-jsdoc.dll
- bin\runtimes\linux-x64\native\libtree-sitter-java.so
- bin\runtimes\win-arm64\native\tree-sitter-scala.dll
- bin\runtimes\win-x86\native\tree-sitter-css.dll
- bin\tree-sitter-json.dll
- bin\runtimes\linux-x64\native\libtree-sitter-javascript.so
- bin\runtimes\win-arm64\native\tree-sitter-swift.dll
- bin\runtimes\win-x86\native\tree-sitter-embedded-template.dll
- bin\tree-sitter-julia.dll
- bin\runtimes\linux-x64\native\libtree-sitter-jsdoc.so
- bin\runtimes\win-arm64\native\tree-sitter-toml.dll
- bin\runtimes\win-x86\native\tree-sitter-go.dll
- bin\tree-sitter-ocaml.dll
- bin\runtimes\linux-x64\native\libtree-sitter-json.so
- bin\runtimes\win-arm64\native\tree-sitter-tsq.dll
- bin\runtimes\win-x86\native\tree-sitter-haskell.dll
- bin\tree-sitter-php.dll
- bin\runtimes\linux-x64\native\libtree-sitter-julia.so
- bin\runtimes\win-arm64\native\tree-sitter-tsx.dll
- bin\runtimes\win-x86\native\tree-sitter-html.dll
- bin\tree-sitter-python.dll
- bin\runtimes\linux-x64\native\libtree-sitter-ocaml.so
- bin\runtimes\win-arm64\native\tree-sitter-typescript.dll
- bin\runtimes\win-x86\native\tree-sitter-java.dll
- bin\tree-sitter-ql.dll
- bin\runtimes\linux-x64\native\libtree-sitter-php.so
- bin\runtimes\win-arm64\native\tree-sitter-verilog.dll
- bin\runtimes\win-x86\native\tree-sitter-javascript.dll
- bin\tree-sitter-ruby.dll
- bin\runtimes\linux-x64\native\libtree-sitter-python.so
- bin\runtimes\win-arm64\native\tree-sitter.dll
- bin\runtimes\win-x86\native\tree-sitter-jsdoc.dll
- bin\tree-sitter-rust.dll
- bin\runtimes\linux-x64\native\libtree-sitter-ql.so
- bin\runtimes\win-x64\lib\net5.0\getfilesiginforedistwrapper.dll
- bin\runtimes\win-x86\native\tree-sitter-json.dll
- bin\tree-sitter-scala.dll
- bin\runtimes\linux-x64\native\libtree-sitter-ruby.so
- bin\runtimes\win-x64\lib\netstandard1.6\microsoft.management.infrastructure.dll
- bin\runtimes\win-x86\native\tree-sitter-julia.dll
- bin\tree-sitter-swift.dll
- bin\runtimes\linux-x64\native\libtree-sitter-rust.so
- bin\runtimes\win-x64\lib\netstandard1.6\microsoft.management.infrastructure.native.dll
- bin\runtimes\win-x86\native\tree-sitter-ocaml.dll
- bin\tree-sitter-toml.dll
- bin\runtimes\linux-x64\native\libtree-sitter-scala.so
- bin\runtimes\win-x64\native\getfilesiginforedist.dll
- bin\runtimes\win-x86\native\tree-sitter-php.dll
- bin\tree-sitter-tsq.dll
- bin\runtimes\linux-x64\native\libtree-sitter-tsx.so
- bin\runtimes\win-x64\native\microsoft.management.infrastructure.native.unmanaged.dll
- bin\runtimes\win-x86\native\tree-sitter-python.dll
- bin\tree-sitter-tsx.dll
- bin\runtimes\linux-x64\native\libtree-sitter-typescript.so
- bin\runtimes\win-x64\native\PowerShell.Core.Instrumentation.dll
- bin\runtimes\win-x86\native\tree-sitter-ql.dll
- bin\tree-sitter-typescript.dll
- bin\runtimes\linux-x64\native\libtree-sitter-verilog.so
- bin\runtimes\win-x64\native\pwrshplugin.dll
- bin\runtimes\win-x86\native\tree-sitter-ruby.dll
- bin\tree-sitter-verilog.dll
- bin\runtimes\linux-x64\native\libtree-sitter.so
- bin\runtimes\win-x64\native\tree-sitter-agda.dll
- bin\runtimes\win-x86\native\tree-sitter-rust.dll
- bin\tree-sitter.dll
- bin\runtimes\osx\native\libpsl-native.dylib
- bin\runtimes\win-x64\native\tree-sitter-bash.dll
- bin\runtimes\win-x86\native\tree-sitter-scala.dll
- bin\TreeSitter.dll
- bin\runtimes\unix\lib\net8.0\System.Management.Automation.dll
- bin\runtimes\win-x64\native\tree-sitter-c-sharp.dll
- bin\runtimes\win-x86\native\tree-sitter-swift.dll
- bin\runtimes\linux-arm\native\libpsl-native.so
- bin\runtimes\unix\lib\netstandard1.6\Microsoft.Management.Infrastructure.dll
- bin\runtimes\win-x64\native\tree-sitter-c.dll
- bin\runtimes\win-x86\native\tree-sitter-toml.dll
- bin\runtimes\linux-arm64\native\libpsl-native.so
- bin\runtimes\win\lib\net8.0\Microsoft.PowerShell.CoreCLR.Eventing.dll
- bin\runtimes\win-x64\native\tree-sitter-cpp.dll
- bin\runtimes\win-x86\native\tree-sitter-tsq.dll
- bin\runtimes\linux-arm64\native\libtree-sitter-agda.so
- bin\runtimes\win\lib\net8.0\Microsoft.Win32.Registry.AccessControl.dll
- bin\runtimes\win-x64\native\tree-sitter-csharp.dll
- bin\runtimes\win-x86\native\tree-sitter-tsx.dll
- bin\runtimes\linux-arm64\native\libtree-sitter-bash.so
- bin\runtimes\win\lib\net8.0\System.Diagnostics.EventLog.dll
- bin\runtimes\win-x64\native\tree-sitter-css.dll
- bin\runtimes\win-x86\native\tree-sitter-typescript.dll
- bin\runtimes\linux-arm64\native\libtree-sitter-c-sharp.so
- bin\runtimes\win\lib\net8.0\System.Diagnostics.EventLog.Messages.dll
- bin\runtimes\win-x64\native\tree-sitter-embedded-template.dll
- bin\runtimes\win-x86\native\tree-sitter-verilog.dll
- bin\runtimes\linux-arm64\native\libtree-sitter-c.so
- bin\runtimes\win\lib\net8.0\System.DirectoryServices.dll
- bin\runtimes\win-x64\native\tree-sitter-go.dll
- bin\runtimes\win-x86\native\tree-sitter.dll
- bin\runtimes\linux-arm64\native\libtree-sitter-cpp.so
Version History
| Version | Downloads | Last updated |
|---|---|---|
| 1.0.2 (current version) | 4 | 12/28/2025 |
| 1.0.1 | 4 | 12/28/2025 |