diff --git a/tox.ini b/tox.ini index 85c2494a5a2f5480bb05d48781edfaa74803eeab..c507490884ae935812df9a13aafec9e2eaa03861 100644 --- a/tox.ini +++ b/tox.ini @@ -4,11 +4,12 @@ skip_missing_interpreters = true envlist = py39,py310,py311 [testenv] -allowlist_externals = poetry +allowlist_externals = + poetry + yarnpkg skip_install = true -envdir = {toxworkdir}/globalenv commands_pre = - poetry install + poetry install --all-extras poetry run aleksis-admin vite build poetry run aleksis-admin collectstatic --no-input commands = @@ -22,14 +23,17 @@ setenv = TEST_HOST = {env:TEST_HOST:172.17.0.1} [testenv:lint] +commands_pre = + poetry install --only=dev + yarnpkg commands = - poetry run black --check --diff aleksis/ - poetry run isort -c --diff --stdout aleksis/ - poetry run flake8 {posargs} aleksis/ - poetry run sh -c "aleksis-admin yarn run prettier --check --ignore-path={toxinidir}/.prettierignore {toxinidir}" - poetry run sh -c "aleksis-admin yarn run eslint {toxinidir}/aleksis/**/*/frontend/**/*.{js,vue} --config={toxinidir}/.eslintrc.js --resolve-plugins-relative-to=." + poetry run ruff check {posargs} aleksis/ + yarnpkg run prettier {posargs} --check . + yarnpkg run eslint aleksis/**/*/frontend/**/*.{js,vue} [testenv:security] +commands_pre = + poetry install --all-extras commands = poetry show --no-dev poetry run safety check --full-report @@ -41,33 +45,25 @@ commands_pre = commands = poetry build [testenv:docs] +commands_pre = + poetry install commands = poetry run make -C docs/ html {posargs} [testenv:reformat] +commands_pre = + poetry install --only=dev + yarnpkg commands = - poetry run isort aleksis/ - poetry run black aleksis/ - poetry run sh -c "aleksis-admin yarn run prettier --write --ignore-path={toxinidir}/.prettierignore {toxinidir}" + poetry run ruff format aleksis/ + yarnpkg run prettier --write . [testenv:makemessages] +commands_pre = + poetry install commands = poetry run aleksis-admin makemessages --no-wrap -e html,txt,py,email -i static -l ar -l de_DE -l fr -l nb_NO -l tr_TR -l la -l uk -l ru poetry run aleksis-admin makemessages --no-wrap -d djangojs -i **/node_modules -l ar -l de_DE -l fr -l nb_NO -l tr_TR -l la -l uk -l ru -[flake8] -max_line_length = 100 -exclude = migrations,tests -ignore = BLK100,E203,E231,W503,D100,D101,D102,D103,D104,D105,D106,D107,RST215,RST214,F821,F841,S106,T100,T101,DJ05 - -[isort] -profile = black -line_length = 100 -default_section = THIRDPARTY -known_first_party = aleksis -known_django = django -skip = migrations -sections = FUTURE,STDLIB,DJANGO,THIRDPARTY,FIRSTPARTY,LOCALFOLDER - [pytest] DJANGO_SETTINGS_MODULE = aleksis.core.settings junit_family = legacy