Add lua minifier
This commit is contained in:
parent
7a7275cf66
commit
cf0be21596
@ -1,6 +1,6 @@
|
||||
FROM archlinux:base-devel AS builder
|
||||
|
||||
RUN pacman -Syu npm luarocks just --noconfirm
|
||||
RUN pacman -Syu npm lua luarocks just --noconfirm
|
||||
|
||||
# build frontend
|
||||
WORKDIR /frontend
|
||||
@ -11,6 +11,7 @@ RUN npm install && npm run build
|
||||
WORKDIR /lua
|
||||
COPY lua .
|
||||
RUN luarocks install tl && \
|
||||
luarocks install dumbluaparser && \
|
||||
eval $(luarocks path) && \
|
||||
just build
|
||||
|
||||
|
@ -1,17 +1,18 @@
|
||||
default:
|
||||
@just --list
|
||||
|
||||
lua_files := `find . -type f -name "*.lua" ! -path './out/*' ! -name tlconfig.lua -printf "%p "`
|
||||
lua_files := `find . -type f -name "*.lua" ! -path './out/*' ! -name tlconfig.lua ! -name minify.lua -printf "%p "`
|
||||
teal_files := `find . -type f -name "*.tl" ! -name '*.d.tl' -printf "%p "`
|
||||
|
||||
build:
|
||||
mkdir -p out
|
||||
for file in {{lua_files}}; do \
|
||||
cp $file out; \
|
||||
lua minify.lua $file; \
|
||||
done
|
||||
for file in {{teal_files}}; do \
|
||||
tl gen $file; \
|
||||
mv ${file%.tl}.lua out; \
|
||||
lua minify.lua ${file%.tl}.lua; \
|
||||
rm ${file%.tl}.lua; \
|
||||
done
|
||||
|
||||
alias b := build
|
||||
|
16
lua/minify.lua
Normal file
16
lua/minify.lua
Normal file
@ -0,0 +1,16 @@
|
||||
local args = { ... }
|
||||
local filename = args[1]
|
||||
print(('filename: "%s"'):format(filename))
|
||||
|
||||
local parser = require("dumbParser")
|
||||
|
||||
local tokens = parser.tokenizeFile(filename)
|
||||
local ast = parser.parse(tokens)
|
||||
|
||||
parser.minify(ast, true)
|
||||
|
||||
local output = parser.toLua(ast)
|
||||
|
||||
local f = io.open("out/"..filename, "w")
|
||||
f:write(output)
|
||||
f:close()
|
Loading…
Reference in New Issue
Block a user