The config files had drifted from what `npm create vite` scaffolds, and
the build printed two warnings on every run.
- drop tsconfig options that are redundant or no longer used
(resolveJsonModule, esModuleInterop, useDefineForClassFields, ...)
and move both projects to ES2023
- keep erasableSyntaxOnly off for src: SortConditionOrderDir is an enum
- keep strict on, which the current template omits
- externalise fs so lokijs stops warning about it
- split node_modules into a vendor chunk, which puts every chunk back
under the 500 kB warning threshold without raising the limit
- emit nested files under public/, which the previous flat walk dropped
without reporting them
The CRA toolchain was several major versions behind and no longer
maintained, so the whole build, lint and runtime stack is replaced.
Converted XOOPS data also moves out of the bundle into the archive
storage so the repository holds only source.
- replace react-scripts with Vite 8 and TypeScript 7
- upgrade to React 19 and react-router 7 (declarative mode)
- swap unmaintained libraries: react-html-parser, axios, react-ga,
react-image-lightbox, react-helmet, moment, xregexp
- replace ESLint with Biome for linting and formatting
- switch the package manager from yarn to npm
- load tree/simpf-links/news/dbtools/publication JSON at runtime from
modules/<module>/ instead of importing them into the bundle
- move XooNIps files to /modules/xoonips/file/ and update .htaccess