You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Add ESLint rule to catch broken internal links and standardize on npm #156
Internal links in JSX pages are prone to formatting bugs that break navigation. For example, PR #155 fixed links in gsoc.js where relative paths like href="gsoc_ideas" and href="gsoc_ideas.html" were used instead of the correct absolute path href="/gsoc_ideas/".
The same class of issues still exists in other files (e.g. news.js has href="gsoc.html" and URLs with leading whitespace like href=" https://...").
Currently nothing catches these at development time because:
The project has no linting setup
onBrokenLinks is set to "ignore" in docusaurus.config.js
Additionally, the project has both a yarn.lock and package-lock.json even though CI exclusively uses npm, which causes confusion.
Proposed Solution
Add ESLint with a custom no-bad-internal-links rule that flags href and to attributes in JSX where:
Whitespace in URLs: leading/trailing spaces (e.g. href=" https://...")
Relative internal links: missing leading / (e.g. href="gsoc.html" should be href="/gsoc/")
.html extensions: Docusaurus uses clean URLs, so .html should not be used
Missing trailing slash: internal links should end with /
Add a GitHub Actions workflow so the lint check runs on every PR and push to master.
Fix all existing lint violations across the codebase.
Remove yarn.lock and standardize on npm, consistent with all CI workflows.
changed the title [-]Add ESLint rule to catch broken internal links in JSX[/-][+]Add ESLint rule to catch broken internal links and standardize on npm[/+]on Feb 26, 2026
Activity
Add ESLint with custom rule to catch broken internal links
Add ESLint with custom rule to catch broken internal links
[-]Add ESLint rule to catch broken internal links in JSX[/-][+]Add ESLint rule to catch broken internal links and standardize on npm[/+]