orrisroot 710b8885e3 build: track @types/node patches within the 24.x line
@types/node has no ncu policy here, so a run would move it off the
24.x line that matches the Node 24 runtime. Its "latest" dist-tag
points at the 22.x line, so the default target reports no updates at
all either. Select the target per package instead.

- add .ncurc.js selecting the "minor" target for @types/node
- pick up @types/node 24.13.4
2026-09-11 17:36:28 +09:00

BSI-Neuroinformatics

RIKEN BSI Research Database Portal — a Vite + React + TypeScript single page application.

Requirements

  • Node.js 22.22.2+ / 24.15+ / 26+ (developed on Node 24)
  • npm

Setup

npm install

The converted XOOPS data (modules/, uploads/) is not tracked in git and is not part of the build. Symlink it into public/ so the dev server can serve it:

ln -s ../../static-contents/modules public/modules
ln -s ../../static-contents/uploads public/uploads

That assumes the repository is checked out next to static-contents/:

bsi-ni.brain.riken.jp/
├── bsi-ni.brain.riken.jp/   this repository
└── static-contents/         modules/ and uploads/

That data is produced by xoops-static-exporter (sites/bsi-ni.brain.riken.jp/).

Scripts

npm run dev

Starts the Vite dev server on http://localhost:5173 with hot module replacement.

npm run build

Type-checks the project (tsc -b) and builds the production bundle into dist/.

npm run preview

Serves the contents of dist/ locally to verify a production build.

npm run typecheck

Runs the TypeScript project references build without emitting output.

npm run lint / npm run format / npm run check

Runs Biome (biome.json): lint reports problems, format rewrites formatting, and check applies both plus import sorting.

Deployment

npm run build writes a static bundle to dist/ (a few MB). The archive data is deliberately left out of it: build.copyPublicDir is off and only the real files in public/ are emitted, so the symlinked modules/ and uploads/ are skipped.

On the server, place dist/ at the document root and symlink the archive data into it:

ln -s /path/to/archive/modules /var/www/bsi-ni/modules
ln -s /path/to/archive/uploads /var/www/bsi-ni/uploads

Apache needs Options FollowSymLinks and Require all granted on the archive directory.

Use symlinks rather than Alias. An Alias /modules ... maps the URL outside the document root, so public/.htaccess no longer applies to it and every legacy /modules/<module>/*.php URL stops reaching the SPA redirect handler. With symlinks the existing precedence still holds: real files are served directly, everything else falls through to index.html.

Because the app uses HTML5 history routing, the web server must fall back to index.html for unknown paths — see public/.htaccess.

Learn More

S
Description
No description provided
Readme
1.1 MiB
Languages
TypeScript 93.8%
CSS 5.8%
HTML 0.4%