BTHLABS-50: Safari Web extension

Co-authored-by: Tomek Wójcik <labs@tomekwojcik.pl>
Co-committed-by: Tomek Wójcik <labs@tomekwojcik.pl>
This commit is contained in:
2025-09-08 18:11:36 +00:00
committed by Tomek Wójcik
parent ffecf780ee
commit b6d02dbe78
184 changed files with 7536 additions and 163 deletions

112
services/extension/tasks.py Normal file
View File

@@ -0,0 +1,112 @@
# -*- coding: utf-8 -*-
# type: ignore
from __future__ import annotations
from invoke import task
from invoke.exceptions import UnexpectedExit
from hotpocket_workspace_tools import get_workspace_mode
WORKSPACE_MODE = get_workspace_mode()
@task
def clean(ctx):
ctx.run('rm -rf dist/')
@task
def test(ctx):
# ctx.run('pytest -v --disable-warnings')
print('NOOP')
@task
def flake8(ctx):
ctx.run('flake8')
@task
def isort(ctx, check=False, diff=False):
command_parts = [
'isort',
]
if check is True:
command_parts.append('--check')
if diff is True:
command_parts.append('--diff')
command_parts.append('.')
ctx.run(' '.join(command_parts))
@task
def eslint(ctx):
ctx.run('yarn run eslint')
@task
def lint(ctx):
ihazsuccess = True
try:
flake8(ctx)
except UnexpectedExit:
ihazsuccess = False
try:
isort(ctx, check=True)
except UnexpectedExit:
ihazsuccess = False
try:
eslint(ctx)
except UnexpectedExit:
ihazsuccess = False
if ihazsuccess is False:
raise RuntimeError('FIAL')
@task
def typecheck(ctx):
ctx.run('mypy .')
@task
def django_shell(ctx):
raise NotImplementedError()
@task
def ci(ctx):
ihazsuccess = True
ci_tasks = [test, lint, typecheck]
for ci_task in ci_tasks:
try:
ci_task(ctx)
except UnexpectedExit:
ihazsuccess = False
if ihazsuccess is False:
raise RuntimeError('FIAL')
@task
def setup(ctx):
print('NOOP')
@task
def start_web(ctx):
raise NotImplementedError()
@task
def start_safari(ctx):
ctx.run('yarn watch:safari')