Docs site fixes, a Korean-first layout, and the frontend dependency upgrade - #38
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The site
Admonitions render again. Docusaurus 3 takes the directive title in brackets. Written the version 2 way, :::tip Some title is not recognised as a directive at all, so all 31 admonitions across the English and Korean guides were printing as literal :::tip ... ::: text on the page. Titles are now bracketed; nothing else in the prose moved.
Korean is served at the site root, English at /en. The readers are Korean, so the locale base URLs are swapped. defaultLocale stays en because that names the language the markdown under docs/ is written in, not the one served first, and keeping it means the repository's own documentation stays English and no file moves. The two locales no longer share an output path, so the workflow builds each one and merges the trees.
The base path is also corrected to /gShare/, matching the repository name. Pages paths are case-sensitive; the previous lowercase value only worked because the workflow re-derived the path from the repository name.
Frontend dependencies
Dependabot had four open pull requests that all failed CI. Three failed because a package was raised without the packages that declare a peer range on it: Vite without @vitejs/plugin-react, react-i18next without i18next, the minor group with an ESLint 9 plugin against ESLint 8. .github/dependabot.yml now groups the four families that have to move together, so those combinations arrive as one reviewable pull request instead of four broken ones.
The upgrade itself is here: Tailwind 3 to 4, Vite 5 to 8, Vitest 2 to 5, ESLint 8 to 10, React Router 6 to 7, and the i18next family. Only Tailwind needed source changes, applied with the official upgrade tool: the config moved into an @theme block in index.css, the PostCSS plugin moved to its own package, and renamed utility classes were rewritten across 18 components. ESLint 9 changed its configuration format, so .eslintrc.cjs became eslint.config.js with the same two hook rules; eslint-plugin-react-hooks 7 ships the React Compiler rule set in its recommended config, and adopting those is a separate decision rather than a side effect of a version bump.
Vitest 5 and jsdom 30 declare Node 22 as their floor, and the test workers do not start on Node 20, so the frontend CI job moves to Node 22. The image already builds on Node 26. npm audit reports no vulnerabilities.
Spelling
American spellings throughout the English text, about 300 substitutions in 151 files: catalogue to catalog, utilisation to utilization, behaviour to behavior, and the rest of the -ise family. Three things are deliberately untouched: aria-labelledby is an HTML attribute, cancelled is an API status value, and translation keys stay as they are because the Korean bundle and the components look them up. The Korean text is unchanged.