diff --git a/docz/data/engines.xls b/docz/data/engines.xls
index 02fbb30..2d387cf 100644
--- a/docz/data/engines.xls
+++ b/docz/data/engines.xls
@@ -354,7 +354,7 @@
✔ |
✔ |
|
- |
+ ✔ |
|
diff --git a/docz/docs/02-getting-started/02-examples/06-loader.md b/docz/docs/02-getting-started/02-examples/06-loader.md
index 99e8be5..bf2846d 100644
--- a/docz/docs/02-getting-started/02-examples/06-loader.md
+++ b/docz/docs/02-getting-started/02-examples/06-loader.md
@@ -35,12 +35,12 @@ This demo was tested in the following configurations:
| Platform | Architecture | Date |
|:------------------------------------------------------------------|:-------------|:-----------|
-| NVIDIA RTX 5090 (32 GB VRAM) + Ryzen Z1 Extreme (16 GB RAM) | `win11-x64` | 2025-05-17 |
+| NVIDIA RTX 5090 (32 GB VRAM) + Ryzen Z1 Extreme (24 GB RAM) | `win11-x64` | 2025-06-17 |
| NVIDIA RTX 4090 (24 GB VRAM) + Ryzen Z1 Extreme (16 GB RAM) | `win11-x64` | 2025-04-17 |
| NVIDIA RTX 4090 (24 GB VRAM) + Ryzen Z1 Extreme (16 GB RAM) | `linux-x64` | 2025-01-28 |
-| AMD RX 7900 XTX (24 GB VRAM) + Ryzen Z1 Extreme (16 GB RAM) | `win11-x64` | 2025-01-12 |
+| AMD RX 7900 XTX (24 GB VRAM) + Ryzen Z1 Extreme (16 GB RAM) | `win11-x64` | 2025-06-20 |
| AMD RX 7900 XTX (24 GB VRAM) + Ryzen Z1 Extreme (16 GB RAM) | `linux-x64` | 2025-01-29 |
-| Intel Arc B580 (12 GB VRAM) + Ryzen Z1 Extreme (24 GB RAM) | `win11-x64` | 2025-01-24 |
+| Intel Arc B580 (12 GB VRAM) + Ryzen Z1 Extreme (24 GB RAM) | `win11-x64` | 2025-06-20 |
| Intel Arc B580 (12 GB VRAM) + Ryzen Z1 Extreme (16 GB RAM) | `linux-x64` | 2025-02-08 |
| Apple M4 Max 16-Core CPU + 40-Core GPU (48 GB unified memory) | `darwin-arm` | 2025-03-06 |
| Apple M2 Max 12-Core CPU + 30-Core GPU (32 GB unified memory) | `darwin-arm` | 2025-03-25 |
@@ -723,7 +723,7 @@ a [sample cars dataset](pathname:///cd.xls) and displays the results.
:::caution pass
-This demo was tested using the ChatQA-1.5 model[^9] in Ollama.
+This demo was tested using the Phi-4[^9] in Ollama.
The tested model used up to 10GB VRAM. It is strongly recommended to run the
demo on a GPU with at least 12GB VRAM or a newer Apple Silicon Mac with at least
@@ -854,7 +854,7 @@ npm i --save https://sheet.lol/balls/xlsx-${current}.tgz`}
4) Install dependencies:
```bash
-npm i --save @langchain/core@0.3.57 langchain@0.3.21 @langchain/ollama@0.2.1 peggy@3.0.2
+npm i --save @langchain/core@0.3.59 langchain@0.3.28 @langchain/ollama@0.2.2 peggy@3.0.2
```
:::note pass
@@ -863,7 +863,7 @@ In some test runs, there were error messages relating to dependency and peer
dependency versions. The `--force` flag will suppress version mismatch errors:
```bash
-npm i --save @langchain/core@0.3.57 langchain@0.3.21 @langchain/ollama@0.2.1 peggy@3.0.2 --force
+npm i --save @langchain/core@0.3.59 langchain@0.3.28 @langchain/ollama@0.2.2 peggy@3.0.2 --force
```
:::
@@ -890,10 +890,10 @@ curl.exe -LO https://docs.sheetjs.com/cd.xls
:::
-6) Install the `llama3-chatqa:8b-v1.5-q8_0` model using Ollama:
+6) Install the `phi4:14b` model using Ollama:
```bash
-ollama pull llama3-chatqa:8b-v1.5-q8_0
+ollama pull phi4:14b
```
@@ -975,5 +975,5 @@ charts, tables, and other features.
[^6]: See ["Supported Output Formats" type in "Writing Files"](/docs/api/write-options#supported-output-formats)
[^7]: See ["Workbook Object"](/docs/csf/book)
[^8]: See [`sheet_to_json` in "Utilities"](/docs/api/utilities/array#array-output)
-[^9]: See [the official ChatQA website](https://chatqa-project.github.io/) for the ChatQA paper and other model details.
+[^9]: See [the Phi-4 Technical Report](https://arxiv.org/abs/2412.08905) for more details.
[^10]: Select ["Windows" `x86_64`](https://conda-forge.org/download/) in the Installation page.
diff --git a/docz/docs/03-demos/01-math/09-danfojs.md b/docz/docs/03-demos/01-math/09-danfojs.md
index e3d8cf9..547913b 100644
--- a/docz/docs/03-demos/01-math/09-danfojs.md
+++ b/docz/docs/03-demos/01-math/09-danfojs.md
@@ -6,7 +6,7 @@ pagination_next: demos/frontend/index
---
-
+
[SheetJS](https://sheetjs.com) is a JavaScript library for reading and writing
@@ -23,8 +23,8 @@ This demo was tested in the following deployments:
| Platform | Version | Date |
|:-------------|:--------|:-----------|
-| Chromium 131 | `1.1.2` | 2025-01-01 |
-| Safari 18.2 | `1.1.2` | 2025-01-01 |
+| Chromium 137 | `1.2.0` | 2025-06-16 |
+| Safari 18.5 | `1.2.0` | 2025-06-16 |
| Konqueror 22 | `1.1.2` | 2025-04-23 |
:::
@@ -34,7 +34,7 @@ This demo was tested in the following deployments:
The live demos on this page include the DanfoJS browser bundle:
```html
-
+
```
There are known issues with the documentation generator. If a demo explicitly
diff --git a/docz/docs/03-demos/01-math/21-pandas.md b/docz/docs/03-demos/01-math/21-pandas.md
index 5bf69a2..3da8fae 100644
--- a/docz/docs/03-demos/01-math/21-pandas.md
+++ b/docz/docs/03-demos/01-math/21-pandas.md
@@ -44,7 +44,7 @@ This demo was tested in the following deployments:
| `darwin-arm` | Duktape `2.7.0` | 2.2.3 | 3.13.2 | 2025-03-30 |
| `win11-x64` | Duktape `2.7.0` | 2.2.3 | 3.11.9 | 2025-04-28 |
| `win11-arm` | Duktape `2.7.0` | 2.2.3 | 3.13.2 | 2025-02-23 |
-| `linux-x64` | Duktape `2.7.0` | 1.5.3 | 3.11.7 | 2025-01-01 |
+| `linux-x64` | Duktape `2.7.0` | 2.1.4 | 3.12.3 | 2025-06-16 |
| `linux-arm` | Duktape `2.7.0` | 1.5.3 | 3.11.2 | 2025-02-16 |
:::
@@ -548,7 +548,7 @@ This demo was tested in the following deployments:
| `darwin-arm` | Duktape `2.7.0` | 1.26.0 | 3.13.2 | 2025-03-30 |
| `win11-x64` | Duktape `2.7.0` | 1.28.1 | 3.11.9 | 2025-04-28 |
| `win11-arm` | Duktape `2.7.0` | 1.23.0 | 3.13.2 | 2025-02-23 |
-| `linux-x64` | Duktape `2.7.0` | 1.18.0 | 3.11.7 | 2025-01-01 |
+| `linux-x64` | Duktape `2.7.0` | 1.30.0 | 3.12.3 | 2025-06-16 |
| `linux-arm` | Duktape `2.7.0` | 1.22.0 | 3.11.2 | 2025-02-16 |
:::
@@ -656,7 +656,7 @@ It is recommended to use a virtual environment.
- Debian and Ubuntu distributions:
```bash
-sudo apt-get install python3.11-venv
+sudo apt-get install python3-venv
```
- `venv` is included in the `python` package in Arch Linux-based platforms.
diff --git a/docz/docs/03-demos/02-frontend/19-bundler/05-webpack.md b/docz/docs/03-demos/02-frontend/19-bundler/05-webpack.md
index b1a31cb..6e6d7e6 100644
--- a/docz/docs/03-demos/02-frontend/19-bundler/05-webpack.md
+++ b/docz/docs/03-demos/02-frontend/19-bundler/05-webpack.md
@@ -177,7 +177,7 @@ document.getElementById("xport").addEventListener("click", function() {
prez.forEach(function(row) {
row.start = row.terms.find(function(term) {
return term.type === "prez";
- }).start
+ }).start;
});
prez.sort(function(l,r) { return l.start.localeCompare(r.start); });
diff --git a/docz/docs/03-demos/02-frontend/19-bundler/09-browserify.md b/docz/docs/03-demos/02-frontend/19-bundler/09-browserify.md
index f541c31..7b98017 100644
--- a/docz/docs/03-demos/02-frontend/19-bundler/09-browserify.md
+++ b/docz/docs/03-demos/02-frontend/19-bundler/09-browserify.md
@@ -34,21 +34,21 @@ This demo was tested in the following environments:
| Browserify | Date |
|:-----------|:-----------|
-| `17.0.1` | 2025-01-07 |
-| `16.5.2` | 2025-01-07 |
-| `15.2.0` | 2025-01-07 |
-| `14.5.0` | 2025-01-07 |
-| `13.3.0` | 2025-01-07 |
-| `12.0.2` | 2025-01-07 |
-| `11.2.0` | 2025-01-07 |
-| `10.2.6` | 2025-01-07 |
-| `9.0.8` | 2025-01-07 |
-| `8.1.3` | 2025-01-07 |
-| `7.1.0` | 2025-01-07 |
-| `6.3.4` | 2025-01-07 |
-| `5.13.1` | 2025-01-07 |
-| `4.2.3` | 2025-01-07 |
-| `3.46.1` | 2025-01-07 |
+| `17.0.1` | 2025-06-18 |
+| `16.5.2` | 2025-06-18 |
+| `15.2.0` | 2025-06-18 |
+| `14.5.0` | 2025-06-18 |
+| `13.3.0` | 2025-06-18 |
+| `12.0.2` | 2025-06-18 |
+| `11.2.0` | 2025-06-18 |
+| `10.2.6` | 2025-06-18 |
+| `9.0.8` | 2025-06-18 |
+| `8.1.3` | 2025-06-18 |
+| `7.1.0` | 2025-06-18 |
+| `6.3.4` | 2025-06-18 |
+| `5.13.1` | 2025-06-18 |
+| `4.2.3` | 2025-06-18 |
+| `3.46.1` | 2025-06-18 |
:::
@@ -115,7 +115,7 @@ document.getElementById("xport").addEventListener("click", function() {
prez.forEach(function(row) {
row.start = row.terms.find(function(term) {
return term.type === "prez";
- }).start
+ }).start;
});
prez.sort(function(l,r) { return l.start.localeCompare(r.start); });
diff --git a/docz/docs/03-demos/02-frontend/19-bundler/21-swcpack.md b/docz/docs/03-demos/02-frontend/19-bundler/21-swcpack.md
index 50e1652..e8a0f8a 100644
--- a/docz/docs/03-demos/02-frontend/19-bundler/21-swcpack.md
+++ b/docz/docs/03-demos/02-frontend/19-bundler/21-swcpack.md
@@ -35,7 +35,7 @@ This demo was tested in the following environments:
| Version | Date |
|:----------|:-----------|
-| `1.2.246` | 2025-01-07 |
+| `1.21.1` | 2025-06-18 |
:::
@@ -63,7 +63,7 @@ part of the `utils` object, the required import is:
import { utils, writeFile } from 'xlsx';
```
-:::danger pass
+:::caution pass
When this demo was tested against recent versions of `@swc/core`, `spack` crashed:
@@ -75,7 +75,8 @@ thread '' panicked at 'cannot access a scoped thread local variable wit
This bug is known to affect versions `1.3.100`, `1.4.17`, and `1.10.6`.
-Until the bug is fixed, it is strongly recommended to use `@swc/core@1.2.246`.
+This bug was fixed in version `1.21.1`. It is strongly recommended to upgrade
+existing projects to use `1.21.1` or to downgrade to `1.2.246`.
:::
@@ -94,17 +95,17 @@ npm init -y
{`\
-npm i --save https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz regenerator-runtime @swc/cli @swc/core@1.2.246`}
+npm i --save https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz regenerator-runtime @swc/cli @swc/core@1.21.1`}
{`\
-pnpm install --save https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz regenerator-runtime @swc/cli @swc/core@1.2.246`}
+pnpm install --save https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz regenerator-runtime @swc/cli @swc/core@1.21.1`}
{`\
-yarn add https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz regenerator-runtime @swc/cli @swc/core@1.2.246`}
+yarn add https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz regenerator-runtime @swc/cli @swc/core@1.21.1`}
diff --git a/docz/docs/03-demos/03-net/08-headless/index.md b/docz/docs/03-demos/03-net/08-headless/index.md
index 7efea7f..96cf138 100644
--- a/docz/docs/03-demos/03-net/08-headless/index.md
+++ b/docz/docs/03-demos/03-net/08-headless/index.md
@@ -334,8 +334,8 @@ This demo was tested in the following environments:
| Architecture | PhantomJS | Date |
|:-------------|:----------|:-----------|
| `darwin-x64` | `2.1.1` | 2025-03-31 |
-| `win11-x64` | `2.1.1` | 2025-01-19 |
-| `linux-x64` | `2.1.1` | 2025-01-07 |
+| `win11-x64` | `2.1.1` | 2025-06-18 |
+| `linux-x64` | `2.1.1` | 2025-06-16 |
:::
@@ -421,7 +421,7 @@ a different error after assignment:
This error is resolved by ignoring SSL errors. The complete command is:
```bash
-env OPENSSL_CONF=/dev/null QT_QPA_PLATFORM=phantom ./phantomjs-2.1.1-linux-x86_64/bin/phantomjs --ignore-ssl-errors=true test.js
+env OPENSSL_CONF=/dev/null QT_QPA_PLATFORM=phantom ./phantomjs-2.1.1-linux-x86_64/bin/phantomjs --ignore-ssl-errors=true SheetJSPhantom.js
```
:::
diff --git a/docz/docs/03-demos/03-net/09-dom.md b/docz/docs/03-demos/03-net/09-dom.md
index a2ba994..6cc0250 100644
--- a/docz/docs/03-demos/03-net/09-dom.md
+++ b/docz/docs/03-demos/03-net/09-dom.md
@@ -379,7 +379,7 @@ This demo was tested in the following deployments:
| `darwin-arm` | 0.1.48 | 2.2.12 | 2025-04-24 |
| `win11-x64` | 0.1.48 | 2.2.12 | 2025-04-28 |
| `win11-arm` | 0.1.48 | 2.2.1 | 2025-02-23 |
-| `linux-x64` | 0.1.48 | 2.0.5 | 2025-01-10 |
+| `linux-x64` | 0.1.48 | 2.3.6 | 2025-06-16 |
| `linux-arm` | 0.1.48 | 2.1.10 | 2025-02-16 |
:::
diff --git a/docz/docs/03-demos/19-desktop/06-reactnative.md b/docz/docs/03-demos/19-desktop/06-reactnative.md
index 1b94f4b..dd583e9 100644
--- a/docz/docs/03-demos/19-desktop/06-reactnative.md
+++ b/docz/docs/03-demos/19-desktop/06-reactnative.md
@@ -51,7 +51,7 @@ This demo was tested in the following environments:
| Windows 11 C++ | `win11-arm` | `v0.77.2` | 2025-02-23 |
| Windows 11 C# | `win11-arm` | `v0.77.2` | 2025-02-23 |
| MacOS 15.3.2 | `darwin-x64` | `v0.76.7` | 2025-03-31 |
-| MacOS 14.5 | `darwin-arm` | `v0.75.16` | 2024-12-22 |
+| MacOS 14.5 | `darwin-arm` | `v0.78.3` | 2025-06-14 |
:::
@@ -692,10 +692,10 @@ select `pres.xlsx` . The app will refresh and display the data from the file.
### Project Setup
-1) Create a new React Native project using React Native `0.76.8`:
+1) Create a new React Native project using React Native `0.78.2`:
```bash
-npx -y @react-native-community/cli init SheetJSmacOS --version 0.76.8
+npx -y @react-native-community/cli@15 init SheetJSmacOS --version 0.78.2
cd SheetJSmacOS
```
@@ -1023,9 +1023,9 @@ If there are no instances, the app path can be found in the `DerivedData` folder
find ~/Library/Developer/Xcode/DerivedData -name SheetJSmacOS.app | grep Release
```
-:::caution pass
+:::info pass
-During the last test, `xcodebuild` failed. Scrolling through the log reveals:
+In an older test run, `xcodebuild` failed. Scrolling through the log reveals:
```
Welcome to Metro v0.80.12
diff --git a/docz/docs/03-demos/20-cli/03-nexe.md b/docz/docs/03-demos/20-cli/03-nexe.md
index eea6eb4..bb2766b 100644
--- a/docz/docs/03-demos/20-cli/03-nexe.md
+++ b/docz/docs/03-demos/20-cli/03-nexe.md
@@ -38,7 +38,7 @@ This demo was tested in the following deployments:
| Architecture | Version | NodeJS | Source | Date |
|:-------------|:---------------|:----------|:----------|:-----------|
| `darwin-x64` | `5.0.0-beta.4` | `14.15.3` | Pre-built | 2025-04-21 |
-| `darwin-arm` | `4.0.0-rc.6` | `22.14.0` | Compiled | 2025-04-03 |
+| `darwin-arm` | `5.0.0-beta.4` | `22.14.0` | Compiled | 2025-06-18 |
| `win11-x64` | `5.0.0-beta.4` | `14.15.3` | Pre-built | 2025-05-07 |
| `win11-arm` | `4.0.0-rc.6` | `22.14.0` | Compiled | 2025-02-23 |
| `linux-x64` | `5.0.0-beta.4` | `14.15.3` | Pre-built | 2025-04-21 |
diff --git a/docz/docs/03-demos/20-cli/05-pkg.md b/docz/docs/03-demos/20-cli/05-pkg.md
index 30713c1..fbfbee5 100644
--- a/docz/docs/03-demos/20-cli/05-pkg.md
+++ b/docz/docs/03-demos/20-cli/05-pkg.md
@@ -38,7 +38,7 @@ This demo was tested in the following deployments:
| Architecture | Version | NodeJS | Date |
|:-------------|:--------|:---------|:-----------|
| `darwin-x64` | `5.8.1` | `18.5.0` | 2025-04-21 |
-| `darwin-arm` | `5.8.1` | `18.5.0` | 2025-05-11 |
+| `darwin-arm` | `5.8.1` | `18.5.0` | 2025-06-18 |
| `win11-x64` | `5.8.1` | `18.5.0` | 2025-05-07 |
| `win11-arm` | `5.8.1` | `18.5.0` | 2025-02-23 |
| `linux-x64` | `5.8.1` | `18.5.0` | 2025-04-21 |
diff --git a/docz/docs/03-demos/20-cli/08-boxednode.md b/docz/docs/03-demos/20-cli/08-boxednode.md
index 9193b98..2a9c211 100644
--- a/docz/docs/03-demos/20-cli/08-boxednode.md
+++ b/docz/docs/03-demos/20-cli/08-boxednode.md
@@ -31,7 +31,7 @@ This demo was tested in the following deployments:
| Architecture | Version | NodeJS | Date |
|:-------------|:--------|:----------|:-----------|
| `darwin-x64` | `2.4.4` | `23.11.0` | 2025-04-21 |
-| `darwin-arm` | `2.4.4` | `22.14.0` | 2025-04-03 |
+| `darwin-arm` | `2.4.4` | `23.11.0` | 2025-06-18 |
| `win11-x64` | `2.4.4` | `16.20.2` | 2025-05-07 |
| `linux-x64` | `2.4.4` | `23.11.0` | 2025-04-21 |
| `linux-arm` | `2.4.4` | `23.8.0` | 2025-02-15 |
diff --git a/docz/docs/03-demos/20-cli/11-nodesea.md b/docz/docs/03-demos/20-cli/11-nodesea.md
index 1b47e59..afd576d 100644
--- a/docz/docs/03-demos/20-cli/11-nodesea.md
+++ b/docz/docs/03-demos/20-cli/11-nodesea.md
@@ -159,10 +159,10 @@ This demo was tested in the following deployments:
| Architecture | NodeJS | Date |
|:-------------|:----------|:-----------|
| `darwin-x64` | `22.14.0` | 2025-04-21 |
-| `darwin-arm` | `23.8.0` | 2025-02-16 |
-| `win11-x64` | `22.13.0` | 2025-01-19 |
+| `darwin-arm` | `24.2.0` | 2025-06-18 |
+| `win11-x64` | `24.2.0` | 2025-06-17 |
| `win11-arm` | `22.14.0` | 2025-02-23 |
-| `linux-x64` | `22.12.0` | 2025-01-02 |
+| `linux-x64` | `24.2.0` | 2025-06-16 |
| `linux-arm` | `22.13.0` | 2025-02-16 |
:::
diff --git a/docz/docs/03-demos/20-cli/12-bunsea.md b/docz/docs/03-demos/20-cli/12-bunsea.md
index 228103e..27069ca 100644
--- a/docz/docs/03-demos/20-cli/12-bunsea.md
+++ b/docz/docs/03-demos/20-cli/12-bunsea.md
@@ -80,10 +80,10 @@ This demo was last tested in the following deployments:
| Architecture | BunJS | Date |
|:-------------|:---------|:-----------|
| `darwin-x64` | `1.2.10` | 2025-04-21 |
-| `darwin-arm` | `1.2.8` | 2025-04-03 |
+| `darwin-arm` | `1.2.16` | 2025-06-18 |
| `win11-x64` | `1.2.13` | 2025-05-07 |
| `win11-arm` | `1.2.3` | 2025-02-23 |
-| `linux-x64` | `1.1.43` | 2025-01-10 |
+| `linux-x64` | `1.2.16` | 2025-06-16 |
| `linux-arm` | `1.2.2` | 2025-02-16 |
:::
diff --git a/docz/docs/03-demos/20-cli/13-denosea.md b/docz/docs/03-demos/20-cli/13-denosea.md
index 7191299..85bf5b9 100644
--- a/docz/docs/03-demos/20-cli/13-denosea.md
+++ b/docz/docs/03-demos/20-cli/13-denosea.md
@@ -103,10 +103,10 @@ This demo was last tested in the following deployments:
| Architecture | Deno | Date |
|:-------------|:---------|:-----------|
| `darwin-x64` | `2.2.11` | 2025-04-21 |
-| `darwin-arm` | `2.1.10` | 2025-02-13 |
-| `win11-x64` | `2.1.6` | 2025-01-19 |
+| `darwin-arm` | `2.3.6` | 2025-06-18 |
+| `win11-x64` | `2.3.6` | 2025-06-17 |
| `win11-arm` | `2.2.1` | 2025-02-23 |
-| `linux-x64` | `2.1.4` | 2025-01-02 |
+| `linux-x64` | `2.3.6` | 2025-06-16 |
| `linux-arm` | `2.1.10` | 2025-02-15 |
:::
diff --git a/docz/docs/03-demos/32-extensions/03-excelapi.md b/docz/docs/03-demos/32-extensions/03-excelapi.md
index 72c3e83..96e9402 100644
--- a/docz/docs/03-demos/32-extensions/03-excelapi.md
+++ b/docz/docs/03-demos/32-extensions/03-excelapi.md
@@ -41,7 +41,7 @@ This demo was tested in the following deployments:
|:---------------|:-------------|:-----------|:-----------|
| macOS 15.3 | `darwin-x64` | 16.95.4 | 2025-04-17 |
| macOS 14.5 | `darwin-arm` | 16.96.1 | 2025-04-24 |
-| Windows 11 | `win11-x64` | 365 (2501) | 2025-01-19 |
+| Windows 11 | `win11-x64` | 365 (2506) | 2025-06-17 |
| Windows 11 | `win11-arm` | 365 (2503) | 2025-04-24 |
:::
diff --git a/docz/docs/03-demos/42-engines/02-v8.md b/docz/docs/03-demos/42-engines/02-v8.md
index 1e2b3ea..58d520d 100644
--- a/docz/docs/03-demos/42-engines/02-v8.md
+++ b/docz/docs/03-demos/42-engines/02-v8.md
@@ -149,7 +149,7 @@ This demo was tested in the following deployments:
| `13.7.5` | `darwin-x64` | macOS 15.3.2 | `clang 16.0.0` | 2025-03-31 |
| `13.5.92` | `darwin-arm` | macOS 14.5 | `clang 16.0.0` | 2025-02-15 |
| `13.8.124` | `win11-x64` | Windows 11 | `CL 19.43.34810` | 2025-05-11 |
-| `12.7.130` | `linux-x64` | HoloOS 3.6.20 | `gcc 13.2.1` | 2025-01-02 |
+| `13.5.92` | `linux-x64` | Ubuntu 24.04 | `gcc 13.3.0` | 2025-06-16 |
| `13.5.92` | `linux-arm` | Debian 12 | `gcc 12.2.0` | 2025-02-15 |
:::
@@ -525,6 +525,18 @@ ninja -C out.gn/arm64.release.sample v8_monolith
```bash
tools/dev/v8gen.py x64.release.sample
+```
+
+Append the following lines to `out.gn/x64.release.sample/args.gn`:
+
+```text title="out.gn/x64.release.sample/args.gn (add to file)"
+is_clang = false
+treat_warnings_as_errors = false
+```
+
+Run the build:
+
+```bash
ninja -C out.gn/x64.release.sample v8_monolith
```
@@ -1091,7 +1103,7 @@ This demo was last tested in the following deployments:
| `darwin-x64` | `136.0.0` | 2025-04-21 |
| `darwin-arm` | `134.3.0` | 2025-02-13 |
| `win11-x64` | `137.1.0` | 2025-05-11 |
-| `linux-x64` | `130.0.7` | 2025-01-09 |
+| `linux-x64` | `137.2.0` | 2025-06-16 |
| `linux-arm` | `134.4.0` | 2025-02-15 |
:::
@@ -1422,7 +1434,7 @@ This demo was last tested in the following deployments:
| `darwin-arm` | `13.3.415.23` | 2025-03-31 |
| `win11-x64` | `13.3.415.23` | 2025-05-11 |
| `win11-arm` | `12.3.219.12` | 2025-02-23 |
-| `linux-x64` | `12.3.219.12` | 2025-01-10 |
+| `linux-x64` | `12.3.219.12` | 2025-06-16 |
| `linux-arm` | `12.3.219.12` | 2025-02-16 |
:::
@@ -1466,7 +1478,7 @@ Click "OK" in each window (3 windows) and restart your computer.
Installation Notes (click to show)
-For macOS x64 and ARM64, install the `dotnet-sdk` Cask with Homebrew:
+For macOS x64 and ARM64, the `dotnet-sdk` cask can be installed with Homebrew:
```bash
brew install --cask dotnet-sdk
@@ -1559,7 +1571,7 @@ var xlsb = (ITypedArray)engine.Evaluate("XLSX.write(wb, {bookType: 'xlsb',
File.WriteAllBytes("SheetJSClearScript.xlsb", xlsb.ToArray());
```
-After saving, run the program and pass the test file name as an argument:
+7) Run the program, passing the test file name as an argument:
```bash
dotnet run pres.xlsx
@@ -1640,6 +1652,7 @@ This demo was last tested in the following deployments:
| `darwin-x64` | `13.1.201.22` | `3.13.1` | 2025-03-31 |
| `darwin-arm` | `13.1.201.22` | `3.13.2` | 2025-04-24 |
| `win11-x64` | `13.1.201.22` | `3.11.9` | 2025-04-28 |
+| `linux-x64` | `13.1.201.22` | `3.12.3` | 2025-06-16 |
:::
@@ -1671,7 +1684,7 @@ download and install version `13.0.245.16` for Python `3.13` on `darwin-arm`:
```bash
curl -LO https://github.com/cloudflare/stpyv8/releases/download/v13.1.201.22/stpyv8-13.1.201.22-cp313-cp313-macosx_14_0_arm64.whl
-sudo python -m pip install --upgrade stpyv8-13.1.201.22-cp313-cp313-macosx_14_0_arm64.whl --break-system-packages
+sudo python -m pip install --break-system-packages --upgrade stpyv8-13.1.201.22-cp313-cp313-macosx_14_0_arm64.whl
```
:::
@@ -1751,7 +1764,7 @@ This demo was last tested in the following deployments:
| `darwin-x64` | `13.5.212.10` | `136.0.0` | 2025-04-21 |
| `darwin-arm` | `13.5.212.10` | `136.0.0` | 2025-04-24 |
| `win11-x64` | `13.5.212.10` | `136.0.0` | 2025-05-11 |
-| `linux-x64` | `12.6.228.3` | `0.92.0` | 2025-01-02 |
+| `linux-x64` | `13.5.212.10` | `136.0.0` | 2025-06-16 |
| `linux-arm` | `13.4.114.9` | `134.4.0` | 2025-02-15 |
:::
diff --git a/docz/docs/03-demos/42-engines/05-jint.md b/docz/docs/03-demos/42-engines/05-jint.md
index 1cf72f9..7181dd3 100644
--- a/docz/docs/03-demos/42-engines/05-jint.md
+++ b/docz/docs/03-demos/42-engines/05-jint.md
@@ -167,7 +167,7 @@ This demo was tested in the following deployments:
| `darwin-arm` | `4.2.0` | 2025-02-13 |
| `win11-x64` | `4.2.2` | 2026-04-28 |
| `win11-arm` | `4.2.0` | 2025-02-23 |
-| `linux-x64` | `4.1.0` | 2025-01-09 |
+| `linux-x64` | `4.2.2` | 2025-06-16 |
| `linux-arm` | `4.2.0` | 2025-02-15 |
:::
diff --git a/docz/docs/03-demos/42-engines/06-goja.md b/docz/docs/03-demos/42-engines/06-goja.md
index 24f8c0d..9eb1a8d 100644
--- a/docz/docs/03-demos/42-engines/06-goja.md
+++ b/docz/docs/03-demos/42-engines/06-goja.md
@@ -106,10 +106,10 @@ This demo was tested in the following deployments:
| Architecture | Git Commit | Go version | Date |
|:-------------|:-----------|:-----------|:-----------|
| `darwin-x64` | `bcd7cc6` | `1.24.1` | 2025-03-31 |
-| `darwin-arm` | `5ef83b8` | `1.24.0` | 2025-02-13 |
+| `darwin-arm` | `cb187b0` | `1.24.0` | 2025-06-18 |
| `win11-x64` | `bcd7cc6` | `1.24.2` | 2025-04-28 |
| `win11-arm` | `5ef83b8` | `1.24.0` | 2025-02-23 |
-| `linux-x64` | `79f3a7e` | `1.22.0` | 2025-01-02 |
+| `linux-x64` | `cb187b0` | `1.22.2` | 2025-06-16 |
| `linux-arm` | `5ef83b8` | `1.19.8` | 2025-02-15 |
At the time of writing, Goja did not have proper version numbers. Versions are
diff --git a/docz/docs/03-demos/42-engines/08-quickjs.md b/docz/docs/03-demos/42-engines/08-quickjs.md
index da2dbec..333b022 100644
--- a/docz/docs/03-demos/42-engines/08-quickjs.md
+++ b/docz/docs/03-demos/42-engines/08-quickjs.md
@@ -267,7 +267,7 @@ This demo was tested in the following deployments:
| `darwin-arm` | QuickJS | `3306254` | 2025-04-24 |
| `win11-x64` | QuickJS-NG | `865ba1f` | 2025-04-18 |
| `win11-arm` | QuickJS-NG | `865ba1f` | 2025-04-18 |
-| `linux-x64` | QuickJS | `6e2e68f` | 2025-01-09 |
+| `linux-x64` | QuickJS | `3306254` | 2025-06-18 |
| `linux-arm` | QuickJS | `6e2e68f` | 2025-02-15 |
When the demo was tested, `0d7aaed` was the HEAD commit on the `master` branch.
diff --git a/docz/docs/03-demos/42-engines/20-chakra.md b/docz/docs/03-demos/42-engines/20-chakra.md
index c22eacb..eeee27d 100644
--- a/docz/docs/03-demos/42-engines/20-chakra.md
+++ b/docz/docs/03-demos/42-engines/20-chakra.md
@@ -133,10 +133,10 @@ This demo was tested in the following deployments:
| Architecture | Git Commit | Date |
|:-------------|:-----------|:-----------|
| `darwin-x64` | `36becec` | 2025-03-31 |
-| `darwin-arm` | `e26c81f` | 2025-01-13 |
+| `darwin-arm` | `36becec` | 2025-06-20 |
| `win11-x64` | `36becec` | 2025-04-28 |
| `win11-arm` | `e26c81f` | 2025-02-23 |
-| `linux-x64` | `e26c81f` | 2025-01-09 |
+| `linux-x64` | `36becec` | 2025-06-18 |
:::
@@ -152,8 +152,17 @@ brew install icu4c cmake
+:::caution pass
+
+When this demo was last tested, the Homebrew version of `cmake` did not support
+the project. Cmake version 3 should be installed. Binary releases can be found
+[at the Cmake project website](https://cmake.org/) or installed using Homebrew
+with third-party formulae.
+
+:::
+
```bash
-brew install icu4c cmake
+brew install icu4c botantony/cmake3/cmake3
```
@@ -163,6 +172,12 @@ On Arch Linux / HoloOS:
```bash
sudo pacman -S cmake clang
+```
+
+On Debian / Ubuntu:
+
+```bash
+sudo apt-get install cmake clang
```
@@ -276,12 +291,14 @@ When the demo was last tested, ChakraCore JIT was not supported.
```bash
cd ChakraCore
-./build.sh --static --icu=/usr/local/opt/icu4c/include --test-build -j=8 --no-jit
+export PATH="$(brew --prefix cmake3)/bin:${PATH}"
+./build.sh --static --icu=$(brew --prefix)/opt/icu4c/include --test-build -j=8 --no-jit
cd ..
```
+:::
-:::note pass
+:::caution Troubleshooting
In some test runs, the build failed with the message:
@@ -298,9 +315,7 @@ ln -s /opt/homebrew/opt/icu4c usr/local/opt/icu4c
cd ..
```
-:::
-
-:::caution pass
+---
In some test runs, compilation failed with `operator` errors:
@@ -347,6 +362,25 @@ index 5a3a099bc..e05a7390f 100644
#endif
```
+---
+
+In some test runs, compilation failed with C++17 errors:
+
+```
+/opt/homebrew/opt/icu4c/include/unicode/char16ptr.h:271:38: error: no template named 'enable_if_t' in namespace 'std'
+ 271 | template>>
+ | ~~~~~^
+```
+
+ChakraCore can be compiled without ICU support:
+
+```bash
+cd ChakraCore
+export PATH="$(brew --prefix cmake3)/bin:${PATH}"
+./build.sh --static --no-icu --test-build -j=8 --no-jit
+cd ..
+```
+
:::
@@ -575,7 +609,7 @@ If successful, the program will print the contents of the first sheet as CSV.
:::note Tested Deployments
-This demo was last tested on 2025-04-28 against `ch` commit `36becec`.
+This demo was last tested on 2025-06-20 against `ch` commit `36becec`.
:::
diff --git a/docz/docs/03-demos/42-engines/22-perl.md b/docz/docs/03-demos/42-engines/22-perl.md
index ea0ba70..93bb076 100644
--- a/docz/docs/03-demos/42-engines/22-perl.md
+++ b/docz/docs/03-demos/42-engines/22-perl.md
@@ -129,7 +129,7 @@ This demo was tested in the following deployments:
|:-------------|:--------|:-----------|
| `darwin-x64` | `0.066` | 2025-03-31 |
| `darwin-arm` | `0.066` | 2025-02-13 |
-| `linux-x64` | `0.066` | 2025-01-10 |
+| `linux-x64` | `0.066` | 2025-06-16 |
| `linux-arm` | `0.066` | 2025-02-15 |
:::
diff --git a/docz/docs/03-demos/42-engines/25-mujs.md b/docz/docs/03-demos/42-engines/25-mujs.md
index 54befad..a67c454 100644
--- a/docz/docs/03-demos/42-engines/25-mujs.md
+++ b/docz/docs/03-demos/42-engines/25-mujs.md
@@ -326,7 +326,7 @@ This demo was tested in the following deployments:
| `darwin-arm` | `1.3.5` | 2025-02-13 |
| `win11-x64` | `1.3.6` | 2025-04-23 |
| `win11-arm` | `1.3.5` | 2025-02-23 |
-| `linux-x64` | `1.3.5` | 2025-01-09 |
+| `linux-x64` | `1.3.6` | 2025-06-16 |
| `linux-arm` | `1.3.5` | 2025-02-15 |
:::
diff --git a/docz/docs/03-demos/42-engines/26-jurassic.md b/docz/docs/03-demos/42-engines/26-jurassic.md
index 6f8973b..b889d5d 100644
--- a/docz/docs/03-demos/42-engines/26-jurassic.md
+++ b/docz/docs/03-demos/42-engines/26-jurassic.md
@@ -180,7 +180,7 @@ This demo was tested in the following deployments:
| `darwin-arm` | `3.2.9` | 2025-03-30 |
| `win11-x64` | `3.2.9` | 2025-04-23 |
| `win11-arm` | `3.2.9` | 2025-02-23 |
-| `linux-x64` | `3.2.8` | 2025-01-10 |
+| `linux-x64` | `3.2.9` | 2025-06-16 |
| `linux-arm` | `3.2.9` | 2025-02-15 |
:::
diff --git a/docz/docs/07-csf/07-features/02-formulae.md b/docz/docs/07-csf/07-features/02-formulae.md
index 28ed714..f473751 100644
--- a/docz/docs/07-csf/07-features/02-formulae.md
+++ b/docz/docs/07-csf/07-features/02-formulae.md
@@ -151,7 +151,7 @@ function ConcatFormula(props) {
/* Process ArrayBuffer */
const process_ab = (ab) => {
- const wb = XLSX.read(ab, {cellFormula: true, sheetStubs: true});
+ const wb = XLSX.read(ab, {cellFormula: true, sheetStubs: true, xlfn: true});
setWS(wb.Sheets[wb.SheetNames[0]]);
};
diff --git a/docz/static/loadofsheet/query.mjs b/docz/static/loadofsheet/query.mjs
index eda20d4..97202b1 100644
--- a/docz/static/loadofsheet/query.mjs
+++ b/docz/static/loadofsheet/query.mjs
@@ -9,7 +9,8 @@ let s = 0, spin = ['\\', '|', '/', '-'];
setInterval(() => { process.stderr.write(spin[s = ++s % spin.length] + '\u001b[0G'); }, 100).unref();
process.on('exit', function() { process.stderr.write('\u001b[2K'); });
-const model = "llama3-chatqa:8b-v1.5-q8_0";
+// const model = "llama3-chatqa:8b-v1.5-q8_0";
+const model = "phi4:14b";
console.log(`Using model ${model}`);
diff --git a/tests/bundler-browserify.sh b/tests/bundler/browserify.sh
similarity index 90%
rename from tests/bundler-browserify.sh
rename to tests/bundler/browserify.sh
index b60c81c..37083ec 100755
--- a/tests/bundler-browserify.sh
+++ b/tests/bundler/browserify.sh
@@ -1,8 +1,6 @@
#!/bin/bash
# https://docs.sheetjs.com/docs/demos/frontend/bundler/browserify
-# requires global puppeteer and express
-# sudo npm i -g puppeteer express@4
cd /tmp
rm -rf sheetjs-browserify-tests
mkdir sheetjs-browserify-tests
@@ -13,7 +11,7 @@ mkdir sheetjs-browserify-$n
cd sheetjs-browserify-$n
npm init -y
-npm i --save https://cdn.sheetjs.com/xlsx-latest/xlsx-latest.tgz puppeteer
+npm i --save https://cdn.sheetjs.com/xlsx-latest/xlsx-latest.tgz puppeteer express@4
cat >index.js < {
const page = await browser.newPage();
page.on("console", msg => console.log("PAGE LOG:", msg.text()));
await page.setViewport({width: 1920, height: 1080});
+ const client = await page.target().createCDPSession();
+ await client.send('Browser.setDownloadBehavior', {
+ behavior: 'allow',
+ downloadPath: require("path").resolve('./')
+ });
await page.goto('http://localhost:7262/');
await page.click("#xport");
await new Promise((res,rej) => setTimeout(res, 1000));
@@ -95,6 +97,7 @@ app.listen(7262, async() => {
EOF
node test.js
+npx -y xlsx-cli Presidents.xlsx | head -n 3
cd -
done
diff --git a/tests/bundler-requirejs.sh b/tests/bundler/requirejs.sh
similarity index 100%
rename from tests/bundler-requirejs.sh
rename to tests/bundler/requirejs.sh
diff --git a/tests/bundler/swcpack.sh b/tests/bundler/swcpack.sh
new file mode 100755
index 0000000..0b42b2a
--- /dev/null
+++ b/tests/bundler/swcpack.sh
@@ -0,0 +1,105 @@
+#!/bin/bash
+# https://docs.sheetjs.com/docs/demos/frontend/bundler/swcpack
+
+cd /tmp
+rm -rf sheetjs-spack
+mkdir sheetjs-spack
+cd sheetjs-spack
+npm init -y
+
+npm i --save https://cdn.sheetjs.com/xlsx-latest/xlsx-latest.tgz regenerator-runtime @swc/cli @swc/core
+npm ls | grep core
+
+cat >index.js < {
+/* fetch JSON data and parse */
+const url = "https://docs.sheetjs.com/executive.json";
+const raw_data = await (await fetch(url)).json();
+
+/* filter for the Presidents */
+const prez = raw_data.filter(row => row.terms.some(term => term.type === "prez"));
+
+/* sort by first presidential term */
+prez.forEach(row => row.start = row.terms.find(term => term.type === "prez").start);
+prez.sort((l,r) => l.start.localeCompare(r.start));
+
+/* flatten objects */
+const rows = prez.map(row => ({
+ name: row.name.first + " " + row.name.last,
+ birthday: row.bio.birthday
+}));
+
+/* generate worksheet and workbook */
+const worksheet = utils.json_to_sheet(rows);
+const workbook = utils.book_new();
+utils.book_append_sheet(workbook, worksheet, "Dates");
+
+/* fix headers */
+utils.sheet_add_aoa(worksheet, [["Name", "Birthday"]], { origin: "A1" });
+
+/* calculate column width */
+const max_width = rows.reduce((w, r) => Math.max(w, r.name.length), 10);
+worksheet["!cols"] = [ { wch: max_width } ];
+
+/* create an XLSX file and try to save to Presidents.xlsx */
+writeFileXLSX(workbook, "Presidents.xlsx");
+});
+EOF
+
+cat >spack.config.js <index.html <
+
+
+
+ SheetJS Presidents Demo
+
+
+
+
+EOF
+
+npm i --save puppeteer express@4
+cat >test.js < {
+ await new Promise((res,rej) => setTimeout(res, 1000));
+ const browser = await puppeteer.launch();
+ const page = await browser.newPage();
+ page.on("console", msg => console.log("PAGE LOG:", msg.text()));
+ await page.setViewport({width: 1920, height: 1080});
+ const client = await page.target().createCDPSession();
+ await client.send('Browser.setDownloadBehavior', {
+ behavior: 'allow',
+ downloadPath: require("path").resolve('./')
+ });
+ await page.goto('http://localhost:7262/');
+ await page.click("#xport");
+ await new Promise((res,rej) => setTimeout(res, 1000));
+ await browser.close();
+ process.exit();
+});
+EOF
+
+node test.js
+npx -y xlsx-cli Presidents.xlsx | head -n 3
+
+cd -
diff --git a/tests/bundler-vite.sh b/tests/bundler/vite.sh
similarity index 100%
rename from tests/bundler-vite.sh
rename to tests/bundler/vite.sh
diff --git a/tests/cli-boxednode.sh b/tests/cli/boxednode.sh
similarity index 79%
rename from tests/cli-boxednode.sh
rename to tests/cli/boxednode.sh
index 1a1c2be..d6c2a96 100755
--- a/tests/cli-boxednode.sh
+++ b/tests/cli/boxednode.sh
@@ -11,8 +11,8 @@ curl -o xlsx-cli.js https://docs.sheetjs.com/cli/xlsx-cli.js
npm i --save https://cdn.sheetjs.com/xlsx-latest/xlsx-latest.tgz exit-on-epipe commander@2
-## NOTE: these steps are for darwin-x64
+## NOTE: these steps are for darwin-arm
-npx -y boxednode@2.4.4 -s xlsx-cli.js -t xlsx-cli
+npx -y boxednode@2.4.4 -s xlsx-cli.js -t xlsx-cli -n 23.11.0
./xlsx-cli pres.numbers
diff --git a/tests/cli-bunsea.sh b/tests/cli/bunsea.sh
similarity index 100%
rename from tests/cli-bunsea.sh
rename to tests/cli/bunsea.sh
diff --git a/tests/cli-denosea.sh b/tests/cli/denosea.sh
similarity index 100%
rename from tests/cli-denosea.sh
rename to tests/cli/denosea.sh
diff --git a/tests/cli-nexe.sh b/tests/cli/nexe.sh
similarity index 100%
rename from tests/cli-nexe.sh
rename to tests/cli/nexe.sh
diff --git a/tests/cli-nodesea.sh b/tests/cli/nodesea.sh
similarity index 97%
rename from tests/cli-nodesea.sh
rename to tests/cli/nodesea.sh
index 6c6ad5d..588e4e6 100755
--- a/tests/cli-nodesea.sh
+++ b/tests/cli/nodesea.sh
@@ -50,7 +50,7 @@ node --experimental-sea-config sheet2csv.json
cp `which node` sheet2csv
-## NOTE: codesign required for macOS
+## NOTE: codesign required for macOS
command -v codesign
has_cs=$?
diff --git a/tests/cli/pkg.sh b/tests/cli/pkg.sh
index 8aeb588..4a9dc7a 100755
--- a/tests/cli/pkg.sh
+++ b/tests/cli/pkg.sh
@@ -11,8 +11,6 @@ curl -o xlsx-cli.js https://docs.sheetjs.com/cli/xlsx-cli.js
npm i --save https://cdn.sheetjs.com/xlsx-latest/xlsx-latest.tgz exit-on-epipe commander@2
-## NOTE: must downgrade to node 18
-
npx -y pkg -t 'node18-win-arm64,node18-linux-arm64,node18-macos-arm64' xlsx-cli.js
## NOTE: these steps are for darwin
diff --git a/tests/engines-goja.sh b/tests/engines/goja.sh
similarity index 100%
rename from tests/engines-goja.sh
rename to tests/engines/goja.sh