Scripts
This directory contains build automation scripts for the Momentum Firmware website. The main entry point is prebuild.ts, which orchestrates the entire build preparation process. The prebuild runs automatically before development and production builds to fetch external data and generate configuration files (it does not need to be run manually).
bash
"scripts": {
"prebuild": "bun scripts/prebuild.ts",
# "predev": "bun run prebuild",
# "dev": "vitepress dev --host 0.0.0.0",
# "dev:skip": "SKIP_FETCH=true bun run dev",
# "preview": "vitepress preview --host 0.0.0.0",
# "build:preview": "bun run build && bun run preview",
# "preview:skip": "SKIP_FETCH=true bun run build:preview",
# ...
}Environment Variables
SKIP_FETCH=true- Skip external data fetching (e.g.bun run dev:skip)
Pre-build Process
Fetch Asset Packs (
utils.ts)- Downloads asset pack directory from
https://up.momentum-fw.dev/asset-packs/directory.json - Generates
_data/packs.tswith asset pack metadata
- Downloads asset pack directory from
Fetch Releases (
releases.ts)- Scrapes firmware builds from
https://up.momentum-fw.dev/builds/firmware/ - Downloads changelogs from GitHub for each release
- Generates
_data/releases.tswith mainline and devbuild data
- Scrapes firmware builds from
Generate VitePress Configs (
config.ts)- Creates locale-specific VitePress configuration files in
.vitepress/config/ - Uses i18n messages to localize navigation, search, and UI elements
- Creates locale-specific VitePress configuration files in
Update Build Info (
utils.ts)- Generates
_data/buildInfo.tswith build timestamp
- Generates
Patch Dependencies (
utils.ts)- Fixes oh-vue-icons import paths for compatibility
