feat: add build script

This commit is contained in:
Kentai Radiquum 2025-05-04 06:16:06 +05:00
parent 6421fde57e
commit 9cf32caea3
Signed by: Radiquum
GPG key ID: 858E8EE696525EED
2 changed files with 30 additions and 2 deletions

30
build.py Normal file
View file

@ -0,0 +1,30 @@
import subprocess
import os
import shutil
OUT_DIR = "./dist"
if __name__ == "__main__":
if os.path.exists(OUT_DIR) and os.path.isdir(OUT_DIR):
shutil.rmtree(OUT_DIR)
os.makedirs(OUT_DIR)
subprocess.call(["bun", "run", "build"], cwd="./gui", shell=True)
files = [f.name for f in os.scandir("./gui/out") if f.is_file()]
dirs = [f.name for f in os.scandir("./gui/out") if f.is_dir()]
os.makedirs(f"{OUT_DIR}/static")
os.makedirs(f"{OUT_DIR}/templates")
for file in files:
if file.endswith(".html"):
shutil.copyfile(f"./gui/out/{file}", f"{OUT_DIR}/templates/{file}")
continue
shutil.copyfile(f"./gui/out/{file}", f"{OUT_DIR}/static/{file}")
for dir in dirs:
shutil.copytree(f"./gui/out/{dir}", f"{OUT_DIR}/static/{dir}", dirs_exist_ok=True)
shutil.copytree("./src", f"{OUT_DIR}/", dirs_exist_ok=True)

View file

@ -6,13 +6,11 @@ import os
app = Flask(__name__)
# TODO: auto copy next html files to templates folder
@app.route("/")
def index():
return render_template("index.html")
# TODO: auto copy next static out on build to static folder
@app.route("/<path:path>")
def rewrite_next(path):
if os.path.exists(f"./static/{path}"):