1
0
Fork 1
mirror of https://github.com/zen-browser/desktop.git synced 2025-07-07 20:39:59 +02:00
zen-desktop/scripts/update_newtab.py
Cristian Cezar Moisés 711f189e0e
Update update_newtab.py
Signed-off-by: Cristian Cezar Moisés <ethicalhacker@riseup.net>
2025-01-03 23:11:02 +00:00

40 lines
1.1 KiB
Python

import os
import subprocess
import logging
# Set up logging
logging.basicConfig(level=logging.INFO)
# Constants for paths
NEW_TAB_DIR = './engine/browser/components/newtab'
ENGINE_DIR = './engine'
NPM_INSTALL_COMMANDS = [
"npm install",
"npm install meow@9.0.0"
]
BUNDLE_COMMAND = "npm run bundle --prefix=browser/components/newtab"
def install_dependencies():
"""Install necessary npm packages for the newtab component."""
for command in NPM_INSTALL_COMMANDS:
logging.info(f"Running command: {command} in {NEW_TAB_DIR}")
subprocess.run(command.split(), cwd=NEW_TAB_DIR, check=True)
def bundle_newtab_components():
"""Bundle the newtab components."""
logging.info(f"Bundling newtab components in {ENGINE_DIR}")
subprocess.run(BUNDLE_COMMAND.split(), cwd=ENGINE_DIR, check=True)
def update_newtab(init: bool = True):
"""Update the newtab components, optionally initializing dependencies."""
try:
if init:
install_dependencies()
bundle_newtab_components()
except subprocess.CalledProcessError as e:
logging.error(f"An error occurred: {e}")
raise
if __name__ == "__main__":
update_newtab(init=False)