Experiment project to test a couple of thing around vue.js@3:
- https://vuejs.org/guide/best-practices/performance.html#avoid-unnecessary-component-abstractions by rendering a collection of information of 250 countries retrieved from https://restcountries.com/v2/all.
- Learn a little bit about tailwindcss@3.
- Use https://developer.mozilla.org/en-US/docs/Web/API/Performance.
- Learn a little about https://vuejs.org/guide/essentials/component-basics.html#dynamic-components.
The repo should be available at:
- https://github.com/unjapones/vue3-list-experiment
- https://gitlab.com/jorgeshirai/vue3-list-experiment (because I'm checking it out of curiosity 🤓)
It looks like the measured update times and, if the UI experiences "little-freezes", varies depending on:
- Testing the UI with Vue's dev-tools activated or not.
- Testing the UI in development mode or the final build.
Open questions:
- Is
filtereCountries(countriesstore) implemented the best-possible way? - Is the filter +
classbinding the best approach?
- Set max in number input based on max population from countries.
- Check how a virtualized vue component works ("Virtualize Large Lists" from vue's docs).
Dark mode.Add basic e2e test.Unit tests.
npm installnpm run devnpm run buildRun Unit Tests with Vitest
npm run test:unitRun End-to-End Tests with Cypress
npm run build
npm run test:e2e # or `npm run test:e2e:ci` for headless testingLint with ESLint
npm run lint