Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
wants to merge 23 commits into
base: master-dev
Choose a base branch
from

Conversation

AThit7
Copy link
Collaborator

@AThit7 AThit7 commented Mar 14, 2024

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.

poprawiono ich uporządkowanie.

Dodano plik konfiguracyjny dla nowego lintera (ESLint)
zapisy/.eslintrc.js zawierający rekomednowane zasady. Wyłaczno
wszystkie zasady które są łamane.
@AThit7 AThit7 self-assigned this Mar 14, 2024
renovate bot and others added 8 commits April 2, 2024 13:23
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…d. (#1325)

Na stronach z filtrowaniem (wykazy przedmiotów oraz propozycji i wyniki głosowania na nie) zastępujemy dotychczasowy `SelectFilter` (który znika z projektu) filtrem wielokrotnego wyboru zbudowanym w oparciu o nowo dołączoną bibliotekę `vue-multiselect`. Style komponentu dostosowujemy do wyglądu SZ oraz porządkujemy kod JS w plikach wykorzystujących go (w tym uwzględniamy porządek alfabetyczny języka polskiego w _dropdownach_ z prowadzącymi).

Co-authored-by: Jakub Grabarczuk <Telpenarmo@users.noreply.github.com>
Co-authored-by: Bogusz Kaszowski <bkaszowski@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…zez który Github Actions nie wyświetlał poprawnie informacji o błędach przy lintowaniu
@@ -5,7 +5,7 @@
"dev:watch": "NODE_ENV=development yarn webpack-cli --watch --config webpack_resources/webpack.config.js",
"dev:tc": "NODE_ENV=test yarn webpack-cli --config webpack_resources/webpack.config.js",
"build": "NODE_ENV=production yarn webpack-cli --config webpack_resources/webpack.config.js",
"lint": "prettier --check ."
"lint": "prettier --check . ; eslint --ext .vue ."
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Czy cokolwiek odwołuje się do tej definicji, skoro z playbooka wypadła linia yarn lint? Tj. poza oczywistym faktem, że możemy mieć ochotę sami użyć tego polecenia... A jeśli ta definicja zostaje, to jaka jest zaleta tego, że playbook z niej nie korzysta?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instrukcja zostaje właśnie po to, żeby ktoś mógł z niej skorzystać. Playbook z niej nie korzysta, bo decyduje on o poprawności wykonania zadania na podstawie exit code'a (czyli w naszym przypadku tylko exit code'a eslint --ext .vue .). Można by to polecenie zmienić na prettier --check . & eslint --ext .vue . ale bashowy operator & jest leniwy, a chyba chcemy za każdym razem uruchamiać oba polecenia. Rozbicie tego na dwa kroki w playbooku zwiększa też czytelność wypisywanych przez github informacji, jak widać na załączonym obrazku.
image

@AThit7
Copy link
Collaborator Author

AThit7 commented Jun 26, 2024

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)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Wprowadźmy jakąś konwencję w uporządkowaniu elementów plików .vue
3 participants