Various build shenenigans (#5)

This PR extends the build pipeline of the www service to support
locale-prefixed static builds (EN/RU) with build-time SSG output
injection, while also refactoring UI typography to a tokenized Tailwind
v4 @theme-driven approach.

Changes:

- Add build-time SSG plugin to @ermnvldmr/rsbuild-config and wire
multi-locale builds (/en/, /ru/) into services/www.
- Introduce new @ermnvldmr/i18n package (locale constants, path helpers,
keysets, pluralization) and apply it to www navigation/text.
- Refactor ui typography to a shared getTypographyClassNames utility +
Tailwind token definitions, with stl/cn updated for correct
Tailwind-merge behavior.
This commit is contained in:
deytenit authored and GitHub committed 2026-03-16 00:00:20 +03:00
1 parent ac9c455e5a
commit b84ef775b8
68 files changed
+2991 -397

No files matched your search

+8 -5
View File
@@ -6,6 +6,10 @@
"scripts": {
"dev": "rsbuild dev",
"build": "rsbuild build",
"build:en": "LOCALE=en rsbuild build",
"build:ru": "LOCALE=ru rsbuild build",
"build:all": "pnpm run build:en && pnpm run build:ru",
"build:analyze": "RSDOCTOR=true rsbuild build",
"preview": "rsbuild preview",
"lint": "eslint src --max-warnings 0",
"format": "prettier --write .",
@@ -22,12 +26,11 @@
"build-storybook": "storybook build -c .config/storybook"
},
"dependencies": {
"@ermnvldmr/i18n": "workspace:*",
"@ermnvldmr/stl": "workspace:*",
"@ermnvldmr/ui": "workspace:*",
"react": "^19.1.0",
"react-dom": "^19.1.0",
"simplex-noise": "^4.0.3",
"suncalc": "^1.9.0",
"tailwindcss": "^4.1.4"
},
"devDependencies": {
@@ -37,6 +40,7 @@
"@rsbuild/core": "^1.2.11",
"@rsbuild/plugin-babel": "^1.1.0",
"@rsbuild/plugin-mdx": "^1.1.1",
"@rsdoctor/rspack-plugin": "^1.5.3",
"@storybook/addon-a11y": "^8.6.15",
"@storybook/addon-coverage": "^3.0.0",
"@storybook/addon-essentials": "^8.6.15",
@@ -50,9 +54,9 @@
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.3.1",
"@testing-library/user-event": "^14.6.1",
"@types/node": "*",
"@types/react": "^19.1.2",
"@types/react-dom": "^19.1.2",
"@types/suncalc": "^1.9.2",
"@vitest/coverage-v8": "^4.0.18",
"babel-plugin-istanbul": "^7.0.1",
"concurrently": "^9.1.2",
@@ -70,7 +74,6 @@
"ts-node": "^10.9.2",
"typescript": "^5.8.3",
"vitest": "^4.0.18",
"wait-on": "^8.0.3",
"@types/node": "*"
"wait-on": "^8.0.3"
}
}