Makes explorer and desktop sibling projects, as proposed in ADR 1.
This commit only moves files; paths in CI, scripts and docs are fixed
in the following commits.
ESLint picks up desktop's own config for its files, which only works
with desktop's dependencies installed. Desktop is linted by its own
`scripts/check-js`.
- Add twemoji as npm dependency instead of build download
- Package build assets with a Vite plugin instead of scripts
- Keep the eslint and prettier caches in one directory
This also upgrades dompurify to the latest version, outside our cooldown
window, for a security fix (verified safe with extra security checks).
Newer dompurify versions expose a bug where happy-dom renders one of our
custom elements incorrectly in tests, unlike real browsers. Switch the unit
test environment from happy-dom to jsdom to fix the failing tests.
* We remove all styling related lints and use `eslint-config-prettier`.
There’s no need to bother developers with styling lints because
Prettier already takes care of that. (This is the [recommended
integration with Prettier][1])
* We use the “warning” level for lints that are code style related. This
allows developers to distinguish issues that need to be fixed now
(like type errors) and issues that can be fixed later (like style
errors). We do enforce all lints on CI by settings
`--max-warnings=0`.
[1]: https://prettier.io/docs/en/integrating-with-linters.html
Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>