* refactor: reorganize tests, reduce repetition
* fix conflicts
* fix conflicts
* remove unnecessary type checks and use toStrictEqual
* move index tests to separate file
* test svg values in testIcon
* Add prettier as a dependency
* Add format command and configure prettier
I opted for single quotes to be in line with other simple-icons projects
I ignore the data file because changing its formatting is quite a bit of
trouble for all open PRs.
* Run prettier
* Replace all functions by arrow functions
* Move prettier configuration to config file
Move it to a file so editors (and other software) can pick up on the
configuration. I went with .js because (a) it allows for comments and
(2) it seems most of the config files are in JavaScript already.
* Add prettier --check when running npm run lint (This adds it to the CI as well)
* Add husky and format changes before committing
* Use object destructuring for imports consistently
* Add shebang and fileoverview to jsonlint.js
* Set up caching jest cache for tests in CI
Use actions/cache to cache the jest cache between runs. The cache will
be invalided if the package-lock.json file is updated OR after 7
days [1]. The cache directory for jest is now also configured to be in a
directory called ".jestcache" at the root of this project. This
directory will be ignored by git due to its addition to the .gitignore.
--
1. https://docs.github.com/en/actions/guides/caching-dependencies-to-speed-up-workflows#usage-limits-and-eviction-policy
* Trigger jest cache in CI
* Include date in cache key
This way the cache is invalidated very day
* Add name for caching Jest's cache step
* Demonstrate test failure with cache enabled
* Revert ff915d466075d5292c7b5772406ff62fe1a3e220
* Cache dependencies
* Update Jest cache configuration
* Refactor and use Jest cache in Publish workfow
- Refactor out the duplicated sanity check in the publish workflow into
a separate, depended upon, job.
- Use the Jest cache in the Publish workflow.
* Update linter job in CI to just run `npm run lint`
... whereas previously it ran each linter separately. This avoids having
to update the workflow file if a new linter is added (or a linter is
removed).
* Use run_number instead of date for jest cache in CI
* Simplify GitHub release publish job