iiuni / projektzapisy

System Zapisów na zajęcia w Instytucie Informatyki Uniwersytetu Wrocławskiego
https://zapisy.ii.uni.wroc.pl
30 stars 10 forks source link

1654 Konwencja w uporządkowaniu elementów plików `.vue` #1662

Open AThit7 opened 5 months ago

AThit7 commented 5 months ago

Zmiany w plikach .vue zmieniają kolejność bloków <script>, <template>, i <style> tak, żeby były one zgodne z przyjętą konwencją. Dodanie do projektu nowego lintera (ESLint) ma na celu zachowanie tej konwencji w przyszłości. Linter jest uruchamiany zaraz po tym, gdy swoje działanie zakończy prettier (wierz 8. w pliku package.json)

Jak można było się spodziewać, dodanie nowego lintera poskutkowało wykryciem przez niego kilkuset fragmentów kodu, które są niezgodne z pewnymi zasadami jakości. Wyłączyłem wszystkie takie zasady i pogrupowałem je według najmniejszego, w sensie zawierania, zbioru reguł, do którego należą (patrz plik .eslintrc.js).

Jeśli chodzi o zbiory reguł dla Vue.js, to można przeczytać o nich tutaj (ja wykorzystałem "recommended") https://eslint.vuejs.org/rules/ lub dla wykorzystanej przez mnie wersji tu https://github.com/vuejs/eslint-plugin-vue/blob/v7.20.0/docs/rules/README.md.

Dla TypeScripta wykorzystałem zbiory reguł "recommended" i "recommended-requiring-type-checking". Można o nich (i o innych zbiorach reguł) przeczytać tutaj https://github.com/typescript-eslint/typescript-eslint/blob/v4.33.0/packages/eslint-plugin/src/configs/README.md.

AThit7 commented 2 months ago

Zmiany: teraz wykonanie się kroków "Format Node assets", "Lint Node assets" i "Lint Python" zależy tylko od poprawnego wykonia się ostatniego z kroków przygotowujących czyli "Install Node Dependencies".

Warunki wyglądają tak if: ${{ always() && ... }} ponieważ bez always() lub podobnej funkcji bedą się zachowywały tak jakby tam było success(). (https://docs.github.com/en/actions/learn-github-actions/expressions#status-check-functions)