Skip to content

docs(HF-282): auto-derive function & language counts in docs#1715

Open
marcin-kordas-hoc wants to merge 1 commit into
developfrom
feat/hf-282-docs-counts
Open

docs(HF-282): auto-derive function & language counts in docs#1715
marcin-kordas-hoc wants to merge 1 commit into
developfrom
feat/hf-282-docs-counts

Conversation

@marcin-kordas-hoc

@marcin-kordas-hoc marcin-kordas-hoc commented Jul 22, 2026

Copy link
Copy Markdown
Collaborator

What & why

The docs stated a hardcoded count of built-in functions ("~400"/"400+") and languages ("17"/"18") that drifts from reality. The function count already auto-derived via {{ $page.functionsCount }}; this adds the parallel {{ $page.languagesCount }} and swaps the remaining hardcoded counts to the interpolated variables.

How

  • docs/.vuepress/config.js: derive languagesCount once at config load from the i18n export barrel src/i18n/languages/index.ts (whitespace-tolerant regex + fail-loud guard so a barrel reformat can never silently publish "0 languages"); inject $page.languagesCount.
  • Docs: ~400/400+{{ $page.functionsCount }} (index, ai-sdk, mcp-server, langchain); 17/18{{ $page.languagesCount }} (index, built-in-functions, i18n-features, localizing-functions).
  • README.md (not a VuePress page): manual over 400 + 18 (drift-resistant).

Verification

docs:build renders the real counts (functions / languages), including inside markdown link text, with no un-rendered {{ }} in the built output. Docs-only + docs-build-config → no CHANGELOG per DEV_DOCS DoD.

Known nuance

README.md counts remain hand-maintained (not a VuePress page); the localizing-functions.md language table rows are also hand-maintained. "over 400" is chosen so the function line does not restale as functions grow.


Note

Low Risk
Documentation and VuePress config only; no runtime library or API behavior changes.

Overview
Stops hardcoded function (~400/400+) and language (17/18) figures from drifting by wiring docs to live counts.

VuePress now derives languagesCount at config load from src/i18n/languages/index.ts (regex on export lines, throws if zero) and exposes {{ $page.languagesCount }} alongside the existing {{ $page.functionsCount }} from the built HyperFormula bundle. Guide pages, the docs home, and AI integration previews swap static numbers for those placeholders.

README.md is updated manually (over 400 functions, 18 languages) because it is not rendered through VuePress.

Reviewed by Cursor Bugbot for commit 9974cda. Bugbot is set up for automated code reviews on this repo. Configure here.

The function count already auto-derived via {{ $page.functionsCount }};
add a parallel {{ $page.languagesCount }} sourced from the i18n export
barrel (src/i18n/languages/index.ts), and swap the remaining hardcoded
counts to the interpolated variables.

- config.js: derive languagesCount once at module load from the barrel
  (whitespace-tolerant regex + fail-loud guard so a barrel reformat can
  never silently publish "0 languages"); inject $page.languagesCount.
- docs: ~400/400+ -> {{ $page.functionsCount }} (index, ai-sdk,
  mcp-server, langchain); 17/18 -> {{ $page.languagesCount }}
  (index, built-in-functions, i18n-features, localizing-functions).
- README (not a VuePress page): manual "over 400" + "18" (drift-resistant).

Verified via docs:build: renders 418 functions / 18 languages, incl.
inside markdown link text, with no un-rendered mustache in dist.
Docs-only + docs-build-config: no CHANGELOG per DEV_DOCS DoD.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@netlify

netlify Bot commented Jul 22, 2026

Copy link
Copy Markdown

Deploy Preview for hyperformula-dev-docs ready!

Name Link
🔨 Latest commit 9974cda
🔍 Latest deploy log https://app.netlify.com/projects/hyperformula-dev-docs/deploys/6a60e93d00a52d00085b5d6c
😎 Deploy Preview https://deploy-preview-1715--hyperformula-dev-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@qunabu

qunabu commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

@github-actions

github-actions Bot commented Jul 22, 2026

Copy link
Copy Markdown

Performance comparison of head (9974cda) vs base (6e87a37)

                                     testName |    base |    head | change
--------------------------------------------------------------------------
                                      Sheet A |  472.11 |  476.48 | +0.93%
                                      Sheet B |  153.29 |  155.66 | +1.55%
                                      Sheet T |  138.64 |  140.12 | +1.07%
                                Column ranges |  542.73 |  542.78 | +0.01%
                                Sorted lookup | 18022.8 | 17463.8 | -3.10%
Sheet A:  change value, add/remove row/column |    15.4 |   15.56 | +1.04%
 Sheet B: change value, add/remove row/column |   132.8 |  138.95 | +4.63%
                   Column ranges - add column |  160.72 |  162.77 | +1.28%
                Column ranges - without batch |  502.38 |  513.55 | +2.22%
                        Column ranges - batch |  130.47 |   130.1 | -0.28%

@marcin-kordas-hoc
marcin-kordas-hoc marked this pull request as ready for review July 24, 2026 11:38
@marcin-kordas-hoc

Copy link
Copy Markdown
Collaborator Author

bugbot run

@codecov

codecov Bot commented Jul 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (develop@6e87a37). Learn more about missing BASE report.
⚠️ Report is 2 commits behind head on develop.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             develop    #1715   +/-   ##
==========================================
  Coverage           ?   97.17%           
==========================================
  Files              ?      176           
  Lines              ?    15483           
  Branches           ?     3429           
==========================================
  Hits               ?    15045           
  Misses             ?      438           
  Partials           ?        0           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit 9974cda. Configure here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants