Module:Sandbox/Aidan9382/CodeAnalysis/doc
![]() | This is a documentation subpage for Module:Sandbox/Aidan9382/CodeAnalysis. It may contain usage information, categories and other content that is not part of the original module page. |
This function provides basic analysis of module code, pointing out any unused variables or unexpected globals.
The code of this is mostly lifted from https://github.com/9382/Dump/tree/main/LuaObfuscator, which in turn lifts a lot of code from https://github.com/stravant/LuaMinify.
Usage
This module can be required and used from the Debug console, like the following: require("Module:Sandbox/Aidan9382/CodeAnalysis").run()
. The module will then log any behaviour it notices. The function can be provided an argument to specify a target page other than the current page. Valid inputs are the name of the wanted page as a string, or the mw.title object of the wanted page.
This module can also be used via templates using #invoke:
, like the following: {{#invoke:Sandbox/Aidan9382/CodeAnalysis|main}}
. The module will then produce a wikitable of anything it notes within the code. An argument can be provided to the first positional parameter to specify a certain page to analyse.
Examples
Basic code analysis for Module:Sandbox/Aidan9382/CodeAnalysis | |
---|---|
Scope | Message |
Scope starting line 124 | i is defined but never referenced
|
Entire script | 9 local variables called _ were defined but never referenced, likely intentionally
|
Entire script | Global variable print was referenced or defined, yet isn't a standard global
|
Basic code analysis for Module:Wikitext Parsing | |
---|---|
Scope | Message |
Main scope | startswith is defined but never referenced
|
Scope starting line 404 | Variable _ is referenced, despite the name implying it is unused
|
Entire script | 3 local variables called _ were defined but never referenced, likely intentionally
|