Commit Graph
4 Commits
Author SHA1 Message Date
Yoshihiro OKUMURA d5d25d5657 build: align the TypeScript and vite setup with bsi-ni
The tsconfigs were still the ones the CRA conversion produced, while
bsi-ni had been brought in line with the npm create vite@latest
react-ts template.

- take the three tsconfigs from bsi-ni verbatim: ES2023, and
  types: ["vite/client"] in place of src/vite-env.d.ts, which the
  template no longer ships
- drop the CRA leftovers useDefineForClassFields, resolveJsonModule,
  esModuleInterop and forceConsistentCasingInFileNames
- pin typescript with ~ rather than ^, as bsi-ni does
- drop the redundant build.outDir and the server/preview port
  overrides, leaving vite's defaults
- fix a vite.config comment that still pointed at the removed etc/
2026-09-11 19:17:47 +09:00
Yoshihiro OKUMURA 4990f95d71 build: track @types/node patches within the 24.x line
@types/node was excluded from ncu via `reject`, which also hid patch
and minor releases inside the 24.x line we pin to match the Node 24
runtime. Its "latest" dist-tag points at the 22.x line, so merely
dropping the rule would report no updates either. Select the target
per package instead.

- replace .ncurc.json with .ncurc.js so target can be a function
- use the "minor" target for @types/node, "latest" for everything else
- pick up @types/node 24.13.4
2026-09-11 17:36:23 +09:00
Yoshihiro OKUMURA c514de9b17 refactor: drop xregexp for the native dotAll flag
The only use was the s flag in the multilingual tag stripper, which
JavaScript has supported natively since ES2018.
2026-09-11 17:18:42 +09:00
Yoshihiro OKUMURA d240bbae03 feat: migrate from Create React App to Vite
The CRA toolchain was several major versions behind and no longer
maintained, so the whole build, lint and runtime stack is replaced.

- replace react-scripts with Vite 8 and TypeScript 7
- upgrade to React 19 and react-router 8
- swap unmaintained libraries: react-html-parser, axios, react-ga,
  react-image-lightbox, react-helmet, moment, react-spinner-material
- replace ESLint with Biome for linting and formatting
- switch the package manager from yarn to npm
- serve static-contents/ with sirv in dev and copy it into the bundle
- keep a withRouter shim so the class components can stay as they are
  for now
2026-09-11 16:48:14 +09:00