1234567891011121314151617181920212223 |
- # noqa: INP001
- import os
- import shutil
- import subprocess
- from sys import stderr
- from hatchling.builders.hooks.plugin.interface import BuildHookInterface
- class CustomBuildHook(BuildHookInterface):
- def initialize(self, version, build_data):
- super().initialize(version, build_data)
- stderr.write(">>> Building Open Webui frontend\n")
- npm = shutil.which("npm")
- if npm is None:
- raise RuntimeError(
- "NodeJS `npm` is required for building Open Webui but it was not found"
- )
- stderr.write("### npm install\n")
- subprocess.run([npm, "install"], check=True) # noqa: S603
- stderr.write("\n### npm run build\n")
- os.environ["APP_BUILD_HASH"] = version
- subprocess.run([npm, "run", "build"], check=True) # noqa: S603
|