A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/Eccenux/wiki-lua-mw-mock below:

Eccenux/wiki-lua-mw-mock: Minimal impl of 'mw' object for Lua modules of Wikipedia. Use only for debugging and testing.

Minimal implementation of the mw object for testing and debugging Wikipedia Lua modules outside of MediaWiki.

⚠️ This is a lightweight mock. It is not complete or production-safe β€” intended for development and debugging only.

Quick example:

-- include this library
local mw = require("mw/mw")

-- replace require to support namespace removal
local originalRequire = require
function require(moduleName)
	moduleName = moduleName:gsub("Modu[^:]+:", "")
	return originalRequire(moduleName)
end

-- Load a copy of a module
-- Note that this loads "Piechart.lua" file (a local file).
local p = require('Module:Piechart')
local json_data = '[{"label": "k: $v", "value": 33.1}, {"label": "m: $v", "value": -1}]'
local html = p.renderPie(json_data)
mw.logObject(html)

After this lua and luac should be available in your terminal.

Install Lua on Windows using Scoop.

If you don’t have Scoop yet:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression

Then install Lua:

Install Homebrew.

Then install Lua:

brew update
brew install lua
2. Install Visual Studio Code and Lua Debug

Install Visual Studio Code.

Install the Lua Debug extension by actboy168:

Extension ID: actboy168.lua-debug
  1. Create a .vscode/launch.json:

    {
    	"version": "0.2.0",
    	"configurations": [
    		{
    			"type": "lua",
    			"request": "launch",
    			"name": "Launch Lua script",
    			"program": "${workspaceFolder}/_test.lua"
    		}
    	]
    }
  2. Create a test file, e.g. _test.lua:

    mw = require("mw") -- your mock
    
    mw.log("Hello from mock mw!")
    mw.logObject({ foo = "bar", nested = { a = 1 } })
  3. Set breakpoints, hit F5 to debug.

πŸ“ Project Structure Example
lua-wiki/
β”‚
β”œβ”€β”€ mw/
β”‚   β”œβ”€β”€ mw.lua             -- mw entry point
β”‚   β”œβ”€β”€ text.lua           -- mw.text mock
β”‚   β”œβ”€β”€ ustring.lua        -- mw.ustring proxy
|   ...
β”œβ”€β”€ _test.lua              -- your dev entry point
-- _test.lua
require("mw")

local data = {
	title = "Example",
	ns = 0,
	isTalk = false,
}

mw.logObject(data)

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4