Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,15 +41,15 @@ HyperFormula doesn't assume any existing user interface, making it a general-pur

- [Function syntax compatible with Microsoft Excel](https://hyperformula.handsontable.com/guide/compatibility-with-microsoft-excel.html) and [Google Sheets](https://hyperformula.handsontable.com/guide/compatibility-with-google-sheets.html)
- High-speed parsing and evaluation of spreadsheet formulas
- [A library of ~400 built-in functions](https://hyperformula.handsontable.com/guide/built-in-functions.html)
- [A library of over 400 built-in functions](https://hyperformula.handsontable.com/guide/built-in-functions.html)
- [Support for custom functions](https://hyperformula.handsontable.com/guide/custom-functions.html)
- [Support for Node.js](https://hyperformula.handsontable.com/guide/server-side-installation.html#install-with-npm-or-yarn)
- [Support for undo/redo](https://hyperformula.handsontable.com/guide/undo-redo.html)
- [Support for CRUD operations](https://hyperformula.handsontable.com/guide/basic-operations.html)
- [Support for clipboard](https://hyperformula.handsontable.com/guide/clipboard-operations.html)
- [Support for named expressions](https://hyperformula.handsontable.com/guide/named-expressions.html)
- [Support for data sorting](https://hyperformula.handsontable.com/guide/sorting-data.html)
- [Support for formula localization with 17 built-in languages](https://hyperformula.handsontable.com/guide/i18n-features.html)
- [Support for formula localization with 18 built-in languages](https://hyperformula.handsontable.com/guide/i18n-features.html)
- Easy integration with any front-end or back-end application
- GPLv3 or a [commercial license](https://handsontable.com/get-a-quote)
- Maintained by the team that stands behind the [Handsontable](https://handsontable.com/) data grid
Expand Down
15 changes: 15 additions & 0 deletions docs/.vuepress/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,19 @@ const footnotePlugin = require('markdown-it-footnote');
const searchBoxPlugin = require('./plugins/search-box');
const examples = require('./plugins/examples/examples');
const HyperFormula = require('../../dist/hyperformula.full');
const fs = require('fs');
const path = require('path');

// HF-282: count HF built-in languages from the i18n export barrel (source of truth):
// one `export {default as xxYY}` line per shipped language. Read once at config load —
// no dist/ dependency, so it resolves identically in `docs:dev` and `docs:build`.
const languagesCount = (
fs.readFileSync(path.resolve(__dirname, '../../src/i18n/languages/index.ts'), 'utf8')
.match(/^export \{\s*default as \w+\}/gm) || []
).length;
if (!languagesCount) {
throw new Error('HF-282: derived languagesCount is 0 — src/i18n/languages/index.ts barrel format changed; fix the regex in docs/.vuepress/config.js.');
}
const includeCodeSnippet = require('./plugins/markdown-it-include-code-snippet');

const searchPattern = new RegExp('^/api', 'i');
Expand Down Expand Up @@ -103,6 +116,8 @@ module.exports = {
$page.releaseDate = HyperFormula.releaseDate
// inject current HF function count as {{ $page.functionsCount }} variable
$page.functionsCount = HyperFormula.getRegisteredFunctionNames('enGB').length
// inject current HF built-in language count as {{ $page.languagesCount }} variable
$page.languagesCount = languagesCount
Comment thread
cursor[bot] marked this conversation as resolved.

if (searchPattern.test($page.path)) {
$page.frontmatter.editLink = false
Expand Down
2 changes: 1 addition & 1 deletion docs/guide/ai-sdk.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ If you'd like to try it, [join the early access list](https://2fmjvg.share-eu1.h
- **Evaluate formulas deterministically** — your agent runs any Excel-compatible formula through HyperFormula instead of asking the LLM to do math. Results are exact, reproducible, and auditable.
- **Read and write cells and ranges** — the agent inspects, populates, or modifies sheet data through typed tool calls.
- **Trace dependencies** — precedents and dependents are surfaced so the agent can explain how every value was derived.
- **400+ built-in functions out of the box** — the agent has access to the full Excel-compatible function set (`SUM`, `VLOOKUP`, `IRR`, `INDEX/MATCH`, and the rest), no implementation work required.
- **{{ $page.functionsCount }} built-in functions out of the box** — the agent has access to the full Excel-compatible function set (`SUM`, `VLOOKUP`, `IRR`, `INDEX/MATCH`, and the rest), no implementation work required.

## Example

Expand Down
2 changes: 1 addition & 1 deletion docs/guide/built-in-functions.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ spreadsheet software. That is because a spreadsheet is probably the most
universal software ever created. We wanted the same flexibility for HyperFormula
but without the constraints of the spreadsheet UI.

Each of HyperFormula's built-in function names is available in [17 languages](localizing-functions.md#list-of-supported-languages) and [custom language packs](localizing-functions.md) can be added.
Each of HyperFormula's built-in function names is available in [{{ $page.languagesCount }} languages](localizing-functions.md#list-of-supported-languages) and [custom language packs](localizing-functions.md) can be added.

The latest version of HyperFormula has an extensive collection of
**{{ $page.functionsCount }}** functions grouped into categories:
Expand Down
2 changes: 1 addition & 1 deletion docs/guide/i18n-features.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Configure HyperFormula to match the languages and regions of your users.

## Function names and errors

Each of HyperFormula's [built-in functions](built-in-functions.md) and [errors](types-of-errors.md) is available in [18 languages](localizing-functions.md#list-of-supported-languages).
Each of HyperFormula's [built-in functions](built-in-functions.md) and [errors](types-of-errors.md) is available in [{{ $page.languagesCount }} languages](localizing-functions.md#list-of-supported-languages).

You can easily [switch between languages](localizing-functions.md) ([`language`](../api/interfaces/configparams.md#language)).

Expand Down
2 changes: 1 addition & 1 deletion docs/guide/integration-with-langchain.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ If you'd like to try it, [join the early access list](https://2fmjvg.share-eu1.h
- **Evaluate formulas deterministically** — your agent runs any Excel-compatible formula through HyperFormula instead of asking the LLM to do math. Results are exact, reproducible, and auditable.
- **Read and write cells and ranges** — the agent inspects, populates, or modifies sheet data through typed tool calls.
- **Trace dependencies** — precedents and dependents are surfaced so the agent can explain how every value was derived.
- **400+ built-in functions out of the box** — the agent has access to the full Excel-compatible function set (`SUM`, `VLOOKUP`, `IRR`, `INDEX/MATCH`, and the rest), no implementation work required.
- **{{ $page.functionsCount }} built-in functions out of the box** — the agent has access to the full Excel-compatible function set (`SUM`, `VLOOKUP`, `IRR`, `INDEX/MATCH`, and the rest), no implementation work required.

## Example

Expand Down
2 changes: 1 addition & 1 deletion docs/guide/localizing-functions.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Localizing functions

You can localize a function's ID and error
messages. Currently, HyperFormula supports 18 languages, with British English
messages. Currently, HyperFormula supports {{ $page.languagesCount }} languages, with British English
as the default.

To change the language all you need to do is import and
Expand Down
2 changes: 1 addition & 1 deletion docs/guide/mcp-server.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ If you'd like to try it, [join the early access list](https://2fmjvg.share-eu1.h
- **Evaluate formulas deterministically** — your agent runs any Excel-compatible formula through HyperFormula instead of asking the LLM to do math. Results are exact, reproducible, and auditable.
- **Read and write cells and ranges** — the agent inspects, populates, or modifies sheet data through typed tool calls.
- **Trace dependencies** — precedents and dependents are surfaced so the agent can explain how every value was derived.
- **400+ built-in functions out of the box** — the agent has access to the full Excel-compatible function set (`SUM`, `VLOOKUP`, `IRR`, `INDEX/MATCH`, and the rest), no implementation work required.
- **{{ $page.functionsCount }} built-in functions out of the box** — the agent has access to the full Excel-compatible function set (`SUM`, `VLOOKUP`, `IRR`, `INDEX/MATCH`, and the rest), no implementation work required.

## Example

Expand Down
4 changes: 2 additions & 2 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,15 +45,15 @@ HyperFormula doesn't assume any existing user interface, making it a general-pur

- [Function syntax compatible with Microsoft Excel](guide/compatibility-with-microsoft-excel.md) and [Google Sheets](guide/compatibility-with-google-sheets.md)
- High-speed parsing and evaluation of spreadsheet formulas
- [A library of ~400 built-in functions](guide/built-in-functions.md)
- [A library of {{ $page.functionsCount }} built-in functions](guide/built-in-functions.md)
- [Support for custom functions](guide/custom-functions.md)
- [Support for Node.js](guide/server-side-installation.md#install-with-npm-or-yarn)
- [Support for undo/redo](guide/undo-redo.md)
- [Support for CRUD operations](guide/basic-operations.md)
- [Support for clipboard](guide/clipboard-operations.md)
- [Support for named expressions](guide/named-expressions.md)
- [Support for data sorting](guide/sorting-data.md)
- [Support for formula localization with 17 built-in languages](guide/i18n-features.md)
- [Support for formula localization with {{ $page.languagesCount }} built-in languages](guide/i18n-features.md)
- Easy integration with any front-end or back-end application
- GPLv3 or a [commercial license](https://handsontable.com/get-a-quote)
- Maintained by the team that stands behind the [Handsontable](https://handsontable.com/) data grid
Expand Down
Loading