react-scripts 4 on React 17 no longer builds on a current toolchain. Move to Vite 8 with React 19 and TypeScript 7, and take the same shape as the other converted sites. - react-router-dom v5 -> react-router v8: Switch/Redirect become Routes/Navigate, and withRouter gives way to useLocation and useNavigate; the original /modules/... addresses are kept - swap the unmaintained dependencies: axios -> ky, react-html-parser -> @orrisroot/react-html-parser, react-ga -> react-ga4, react-helmet -> @dr.pogodin/react-helmet, moment -> date-fns, react-spinner-material -> a CSS spinner, and a local HashLink in place of react-router-hash-link - drop react-app-polyfill, the jest setup, xregexp and the unused async-lock, rc-tree, react-overlays and react-image-lightbox - replace ESLint with Biome, yarn with npm, and match the other sites' tsconfigs and sanitize.css base stylesheet - serve static-contents/ next to the repository with sirv in the dev and preview servers, keeping it out of dist/ - convert the page components to function components; each module loads its index once, sharing the request under StrictMode - resolve relative links in page bodies the way a browser does, since react-router 8 resolves them against the route hierarchy - fix the glossary search restricted to a category, whose query matched nothing - set the GA4 measurement ID replacing the shut-down UA property - correct the keywords meta tag copied from dynamicbrain - write down the data layout and the deployment procedure
23 lines
680 B
TypeScript
23 lines
680 B
TypeScript
const SITE_TITLE = 'Invertebrate Brain Platform';
|
|
const SITE_SLOGAN = '';
|
|
// Replaces the Universal Analytics property (UA-2780881-1), shut down in 2023.
|
|
const GOOGLE_ANALYTICS_TRACKING_ID = 'G-JF4NM0XJHK';
|
|
const PICO_MODULES = ['documents', 'htmldocs'];
|
|
|
|
// Vite's BASE_URL always carries a trailing slash ('/' when the app is served
|
|
// from the document root). Strip it so it can be concatenated the same way
|
|
// CRA's PUBLIC_URL was.
|
|
const BASE_URL = import.meta.env.BASE_URL.replace(/\/$/, '');
|
|
|
|
export type MultiLang = 'en' | 'ja';
|
|
|
|
const Config = {
|
|
SITE_TITLE,
|
|
SITE_SLOGAN,
|
|
GOOGLE_ANALYTICS_TRACKING_ID,
|
|
PICO_MODULES,
|
|
BASE_URL,
|
|
};
|
|
|
|
export default Config;
|