## Summary - **Cloudflare R2 Migration**: - Migrated `static.ermnvldmr.com` asset storage to Cloudflare R2 bucket `com-ermnvldmr-static` (location `WEUR`). - Added support for `COM_ERMNVLDMR_STATIC_PUBLIC_URL` fallback in `@ermnvldmr/cli` to properly format public asset URLs for non-dotted bucket names. - Relocated public CA cert to `/dev/ssl/certs/ErmnvldmrDevelopmentRootCA.pem` and updated `REMOTE_ROOT_CA_URL` references in `@ermnvldmr/rsbuild-config` and `ensure-dev-certs.mjs`. - Configured R2 CORS policies using wildcards (`https://*.ermnvldmr.com`, `https://ermnvldmr.com`, `https://localhost.ermnvldmr.com*`, `http://localhost*`, `https://direct.yandex.ru`, `https://*.direct.yandex.ru`, `https://localhost.yandex.ru*`). - Enforced minimum TLS 1.2 on zone `ermnvldmr.com`. - Updated encrypted `.env.dev` and GitHub secrets in both `deytenit/ermnvldmr.com` and `deytenit/apex.ermnvldmr.com`. - **Multi-locale SSG Support**: - Added `NormalModuleReplacementPlugin` to SSR runner in `@ermnvldmr/ssg` for automatic `.en.mdx` -> `.${locale}.mdx` substitution during Russian builds. - Added page metadata extraction (`getPageOptions`) in `@ermnvldmr/ssg` for pre-rendered `<title>` and `<meta name="description">` tags. - Added unit test suite for `createPage` and updated `services/www` build scripts (`build:all`, `build:en`, `build:ru`, `dev:en`, `dev:ru`).
60 lines
1.5 KiB
JSON
60 lines
1.5 KiB
JSON
{
|
|
"name": "@ermnvldmr/ssg",
|
|
"version": "0.0.1",
|
|
"description": "Static Site Generation framework for ermnvldmr Rsbuild + React services",
|
|
"type": "module",
|
|
"main": "./dist/index.js",
|
|
"types": "./dist/index.d.ts",
|
|
"exports": {
|
|
".": {
|
|
"import": "./dist/index.js",
|
|
"types": "./dist/index.d.ts",
|
|
"default": "./src/index.ts"
|
|
},
|
|
"./dev": {
|
|
"import": "./dist/dev.js",
|
|
"types": "./dist/dev.d.ts",
|
|
"default": "./src/dev.ts"
|
|
}
|
|
},
|
|
"files": [
|
|
"dist"
|
|
],
|
|
"scripts": {
|
|
"build": "tsc",
|
|
"lint": "eslint src --max-warnings 0",
|
|
"typecheck": "tsc --noEmit",
|
|
"test": "vitest run",
|
|
"clean": "rm -rf dist"
|
|
},
|
|
"dependencies": {
|
|
"@rsbuild/plugin-mdx": "^1.1.1",
|
|
"react": "^19.1.0",
|
|
"react-dom": "^19.1.0",
|
|
"remark-frontmatter": "^5.0.0",
|
|
"remark-mdx-frontmatter": "^5.2.0"
|
|
},
|
|
"devDependencies": {
|
|
"@ermnvldmr/eslint-config": "workspace:*",
|
|
"@ermnvldmr/rsbuild-config": "workspace:*",
|
|
"@rsbuild/core": "^1.7.3",
|
|
"@rsbuild/plugin-react": "^1.1.1",
|
|
"@rsbuild/plugin-type-check": "^1.1.1",
|
|
"@testing-library/jest-dom": "^6.9.1",
|
|
"@testing-library/react": "^16.3.1",
|
|
"@types/node": "*",
|
|
"@types/react": "^19.1.2",
|
|
"@types/react-dom": "^19.1.2",
|
|
"critters": "^0.0.25",
|
|
"fast-glob": "^3.3.3",
|
|
"jsdom": "^28.0.0",
|
|
"rsbuild-plugin-dts": "^0.19.5",
|
|
"typescript": "^5.8.2",
|
|
"vitest": "^4.1.11"
|
|
},
|
|
"peerDependencies": {
|
|
"react": "^19.1.0",
|
|
"react-dom": "^19.1.0"
|
|
}
|
|
}
|