From aae3d407bb0b995173d26265d94cfc4fc5c0a78d Mon Sep 17 00:00:00 2001 From: Robert Jelic Date: Sun, 9 Feb 2025 15:28:22 +0100 Subject: [PATCH] Test --- .github/workflows/minify.yml | 59 +++++++++++++++++++++++++----------- src/main.lua | 1 - 2 files changed, 42 insertions(+), 18 deletions(-) diff --git a/.github/workflows/minify.yml b/.github/workflows/minify.yml index 79bc9d8..ea8ce06 100644 --- a/.github/workflows/minify.yml +++ b/.github/workflows/minify.yml @@ -32,28 +32,53 @@ jobs: echo "Creating minification script..." cat > minify_script.lua << 'EOL' local minify = loadfile("minify.lua")() - local f = io.open("src/main.lua", "r") - local content = f:read("*all") - f:close() + local lfs = require("lfs") - local success, minified = minify(content) - - if not success then - print("Minification failed") - print(minified) - return + local files = {} + for file in lfs.dir("src") do + if file:match("%.lua$") then + table.insert(files, file) + end end - - local out = io.open("release/main.min.lua", "w") - out:write(minified) + + local output = { + 'local minified = true\n', + 'local project = {}\n' + } + + for _, file in ipairs(files) do + local f = io.open("src/" .. file, "r") + local content = f:read("*all") + f:close() + + local success, minified = minify(content) + if not success then + print("Failed to minify " .. file) + print(minified) + os.exit(1) + end + + table.insert(output, string.format( + 'project["%s"] = function(...) %s end\n', + file, minified + )) + end + + table.insert(output, 'return project["main.lua"]') + + local out = io.open("release/project.min.lua", "w") + out:write(table.concat(output)) out:close() EOL + echo "Installing LuaFileSystem..." + sudo apt-get install -y lua-filesystem + echo "Running minification..." if lua minify_script.lua; then echo "Minification successful" echo "Minified content:" - cat release/main.min.lua + cat release/project.min.lua else echo "Minification failed" exit 1 @@ -62,14 +87,14 @@ jobs: - name: Commit minified Lua file if: success() run: | - if [ -s release/main.min.lua ]; then + if [ -s release/project.min.lua ]; then git config --global user.name 'github-actions[bot]' git config --global user.email 'github-actions[bot]@users.noreply.github.com' - git add release/main.min.lua - git commit -m 'Minify main.lua' + git add release/project.min.lua + git commit -m 'Minify all Lua files into project bundle' git push else - echo "Error: main.min.lua is empty or doesn't exist" + echo "Error: project.min.lua is empty or doesn't exist" exit 1 fi env: diff --git a/src/main.lua b/src/main.lua index e720a9f..6574f2c 100644 --- a/src/main.lua +++ b/src/main.lua @@ -112,6 +112,5 @@ function basalt.run(isActive) end end end -basalt.autoUpdate = basalt.run return basalt \ No newline at end of file