@@ -50,6 +50,9 @@ path = "mkdocs_click/__version__.py"
5050[tool .hatch .build .targets .sdist ]
5151include = [" /mkdocs_click" , " /CHANGELOG.md" , " /tests" ]
5252
53+ [tool .hatch .env ]
54+ requires = [" hatch-pip-compile >=1.7.0" ]
55+
5356[tool .hatch .envs .default .scripts ]
5457all = [
5558 " hatch run style:fix" ,
@@ -66,8 +69,8 @@ dependencies = [
6669]
6770[tool .hatch .envs .test .scripts ]
6871test = [
69- " pytest -q" ,
70- " bash .tools/test.sh" ,
72+ " pytest -q {args} " ,
73+ " bash .tools/test.sh {args} " ,
7174]
7275
7376[tool .hatch .envs .types ]
@@ -76,40 +79,49 @@ dependencies = [
7679 " types-Markdown >=3.4.2" ,
7780]
7881[tool .hatch .envs .types .scripts ]
79- check = [
80- " mypy mkdocs_click"
81- ]
82+ check = " mypy {args} mkdocs_click"
8283
8384[tool .hatch .envs .style ]
84- skip-install = true
85+ type = " pip-compile"
86+ detached = true
8587dependencies = [
8688 " ruff" ,
8789]
8890[tool .hatch .envs .style .scripts ]
91+ check = " ruff check mkdocs_click tests {args}"
92+ format = " ruff format -q mkdocs_click tests"
8993fix = [
90- " ruff check --fix mkdocs_click tests " ,
94+ " check --fix --unsafe-fixes " ,
9195 " format" ,
9296]
93- format = [
94- " ruff format -q mkdocs_click tests" ,
95- ]
9697
9798[tool .ruff ]
9899line-length = 100
100+ [tool .ruff .lint ]
101+ preview = true
99102select = [
100- " I " ,
101- " F " , " W " , " E " , " UP " , " YTT " , " C4 " , " DTZ " , " FA " , " ISC " , " PIE " , " T20 " , " RSE " , " TCH " ,
102- " B002" , " B003" , " B005" , " B007" , " B009" , " B012" , " B013" , " B014" , " B015" , " B018" , " B020" , " B021" , " B023" , " B026" , " B033" , " B034" , " B905" ,
103+ " F " , " E " , " W " , " I " , " UP " , " YTT " , " C4 " , " DTZ " , " T10 " , " FA " , " ISC " , " PIE " , " T20 " , " RSE " , " TCH " ,
104+ " N803 " , " N804 " , " N805 " , " N806 " , " N807 " , " N815 " , " N816 " , " N999 " ,
105+ " B002" , " B003" , " B005" , " B007" , " B008 " , " B009" , " B010 " , " B011 " , " B012" , " B013" , " B014" , " B015" , " B016 " , " B017 " , " B018" , " B020" , " B021" , " B022 " , " B023" , " B025 " , " B026" , " B029 " , " B030 " , " B031 " , " B032 " , " B033" , " B034" , " B035 " , " B905" ,
103106 " COM818" ,
104- " PERF101" ,
105- " PGH002" , " PGH004" , " PGH005" ,
107+ " G001" , " G010" , " G202" ,
108+ " Q004" ,
109+ " RET502" , " RET504" ,
110+ " SIM101" , " SIM103" , " SIM105" , " SIM107" , " SIM118" , " SIM201" , " SIM202" , " SIM208" , " SIM210" , " SIM211" , " SIM212" , " SIM220" , " SIM221" , " SIM222" , " SIM223" , " SIM300" , " SIM401" , " SIM910" , " SIM911" ,
111+ " PGH003" , " PGH004" , " PGH005" ,
112+ " PLC0105" , " PLC0131" , " PLC0132" , " PLC0205" , " PLC0208" , " PLC0414" , " PLC2401" , " PLC2403" , " PLC2801" , " PLC3002" ,
113+ " PLE0100" , " PLE0101" , " PLE0116" , " PLE0117" , " PLE0118" , " PLE0241" , " PLE0302" , " PLE0307" , " PLE0604" , " PLE0605" , " PLE0704" , " PLE1132" , " PLE1142" , " PLE1205" , " PLE1206" , " PLE1300" , " PLE1307" , " PLE1310" , " PLE1507" , " PLE1700" , " PLE2502" , " PLE2510" , " PLE2512" , " PLE2513" , " PLE2514" , " PLE2515" ,
114+ " PLR0124" , " PLR0133" , " PLR0206" , " PLR0402" , " PLR1701" , " PLR1722" , " PLR1733" , " PLR1736" ,
115+ " PLW0108" , " PLW0120" , " PLW0127" , " PLW0129" , " PLW0131" , " PLW0245" , " PLW0406" , " PLW0602" , " PLW0603" , " PLW0604" , " PLW0711" , " PLW1501" , " PLW1508" , " PLW1514" , " PLW2101" , " PLW3301" ,
116+ " TRY302" , " TRY401" ,
106117 " FLY002" ,
107- " PLC" , " PLE" , " PLR0124" , " PLR0133" , " PLR0206" , " PLR0402" , " PLR1701" , " PLR1722" , " PLW0120" , " PLW0127" , " PLW0129" , " PLW0131" , " PLW0406" , " PLW0602" , " PLW0603" , " PLW0711" ,
108- " RUF001" , " RUF005" , " RUF007" , " RUF010" , " RUF013" , " RUF100" , " RUF200" ,
109- " SIM101" , " SIM107" , " SIM201" , " SIM202" , " SIM208" , " SIM210" , " SIM211" , " SIM300" , " SIM401" , " SIM910" ,
118+ " PERF101" , " PERF102" , " PERF402" , " PERF403" ,
119+ " FURB105" , " FURB118" , " FURB131" , " FURB132" , " FURB148" , " FURB163" , " FURB167" , " FURB168" , " FURB169" ,
120+ " LOG001" , " LOG009" ,
121+ " RUF001" , " RUF005" , " RUF007" , " RUF008" , " RUF009" , " RUF010" , " RUF013" , " RUF015" , " RUF016" , " RUF017" , " RUF018" , " RUF019" , " RUF020" , " RUF021" , " RUF022" , " RUF100" , " RUF200" ,
110122]
111123ignore = [" E501" , " E731" ]
112- [tool .ruff .flake8-comprehensions ]
124+ [tool .ruff .lint . flake8-comprehensions ]
113125allow-dict-calls-with-keyword-arguments = true
114126
115127[tool .mypy ]
0 commit comments