Yoshihiro OKUMURA 2b47d882f7 refactor: clear all biome lint diagnostics
Biome reported 229 diagnostics after aligning the config with
bsi-ni.brain.riken.jp. Fix them all so `biome check` passes clean
without per-rule overrides.

- replace `any` in LokiJS queries with an `ItemFilter` interface and
  a single `asLokiQuery()` cast, matching bsi-ni
- type the XOOPS redirect maps as
  `Record<string, { key: string; isNumber: boolean }>`
- use `ItemSubTypes<string>` instead of `any` for sub item types
- join author lists with `.join(', ')` instead of index-keyed nodes
- give list elements stable keys derived from their own data
- return `React.ReactNode` from `ListBase.renderBody()`
- drop the temporary `noArrayIndexKey` override from biome.json
2026-09-11 17:28:44 +09:00

Visiome Platform

Static front-end for the archived Visiome Platform site, built with Vite, React and TypeScript.

Requirements

  • Node.js 20.19+ / 22.12+ (Vite 8)
  • npm

Setup

npm install

Site data

The pages are rendered from JSON dumped out of the original XooNIps/XOOPS installation by xoops-static-exporter (sites/visiome.neuroinf.jp/).

All of it lives in static-contents/, which sits next to the repository rather than inside it:

visiome.neuroinf.jp/
├── visiome.neuroinf.jp/   this repository
└── static-contents/       database/, credits/, pico/, manual_ja/, primface/, rss.xml

The dev and preview servers mount that directory at the site root. It is deliberately kept out of dist/: it runs to gigabytes, and the web server maps it in directly. It is generated content and is not tracked in git.

Scripts

Command Description
npm run dev Start the dev server on http://localhost:3000
npm run build Type-check and build into dist/
npm run preview Serve the production build locally
npm run lint Lint with Biome
npm run format Format with Biome
npm run check Lint, format and organize imports, applying the safe fixes

@types/node is pinned to the major that matches the Node runtime in use (24); .ncurc.json keeps npm-check-updates from bumping it past that.

There is currently no test suite.

Deployment

Upload the contents of dist/ to the document root. The bundled .htaccess rewrites the legacy XOOPS download URLs and sends every unmatched path to index.html so client-side routing works on a full page load. On a server without Apache, configure the equivalent SPA fallback.

Google Analytics

GOOGLE_ANALYTICS_TRACKING_ID in src/config.ts is empty, which disables tracking. Set a GA4 measurement ID (G-XXXXXXXXXX) to enable it; the old Universal Analytics property was shut down in 2023.

S
Description
No description provided
Readme
1,010 KiB
Languages
TypeScript 93.4%
CSS 6.3%
HTML 0.3%