diff --git a/docz/data/engines.xls b/docz/data/engines.xls
index eb67021..fe97536 100644
--- a/docz/data/engines.xls
+++ b/docz/data/engines.xls
@@ -302,7 +302,7 @@
Rust |
✔ |
✔ |
- |
+ ✔ |
|
|
|
diff --git a/docz/data/mobile.xls b/docz/data/mobile.xls
index 55dee21..f7dbfd0 100644
--- a/docz/data/mobile.xls
+++ b/docz/data/mobile.xls
@@ -99,7 +99,7 @@
✔ |
✔ |
✘ |
- |
+ ✔ |
✘ |
|
diff --git a/docz/docs/02-getting-started/01-installation/07-bun.md b/docz/docs/02-getting-started/01-installation/07-bun.md
index b1bde0a..d8e5aa8 100644
--- a/docz/docs/02-getting-started/01-installation/07-bun.md
+++ b/docz/docs/02-getting-started/01-installation/07-bun.md
@@ -123,7 +123,7 @@ This demo was last tested in the following deployments:
|:-------------|:---------|:-----------|
| `darwin-x64` | `1.2.8` | 2025-03-31 |
| `darwin-arm` | `1.2.7` | 2025-03-30 |
-| `win11-x64` | `1.1.42` | 2024-12-22 |
+| `win11-x64` | `1.2.8` | 2025-04-17 |
| `win11-arm` | `1.2.3` | 2025-02-23 |
| `linux-x64` | `1.1.40` | 2024-12-19 |
| `linux-arm` | `1.2.2` | 2025-02-16 |
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 ec8a955..79c936c 100644
--- a/docz/docs/02-getting-started/02-examples/06-loader.md
+++ b/docz/docs/02-getting-started/02-examples/06-loader.md
@@ -35,7 +35,7 @@ This demo was tested in the following configurations:
| Platform | Architecture | Date |
|:------------------------------------------------------------------|:-------------|:-----------|
-| NVIDIA RTX 4090 (24 GB VRAM) + Ryzen Z1 Extreme (16 GB RAM) | `win11-x64` | 2025-03-06 |
+| 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) | `linux-x64` | 2025-01-29 |
@@ -853,7 +853,7 @@ npm i --save https://sheet.lol/balls/xlsx-${current}.tgz`}
4) Install dependencies:
```bash
-npm i --save @langchain/core@0.3.42 langchain@0.3.19 @langchain/ollama@0.2.0 peggy@3.0.2
+npm i --save @langchain/core@0.3.44 langchain@0.3.21 @langchain/ollama@0.2.0 peggy@3.0.2
```
:::note pass
@@ -862,7 +862,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.42 langchain@0.3.19 @langchain/ollama@0.2.0 peggy@3.0.2 --force
+npm i --save @langchain/core@0.3.44 langchain@0.3.21 @langchain/ollama@0.2.0 peggy@3.0.2 --force
```
:::
diff --git a/docz/docs/03-demos/02-frontend/09-blazor.md b/docz/docs/03-demos/02-frontend/09-blazor.md
index cfdef5e..ec2ef01 100644
--- a/docz/docs/03-demos/02-frontend/09-blazor.md
+++ b/docz/docs/03-demos/02-frontend/09-blazor.md
@@ -295,7 +295,9 @@ This demo was tested in the following deployments:
| Architecture | Date |
|:-------------|:-----------|
+| `darwin-x64` | 2025-04-17 |
| `darwin-arm` | 2024-10-15 |
+| `win11-x64` | 2025-04-17 |
:::
diff --git a/docz/docs/03-demos/03-net/03-server/index.md b/docz/docs/03-demos/03-net/03-server/index.md
index 43ecbff..7da913b 100644
--- a/docz/docs/03-demos/03-net/03-server/index.md
+++ b/docz/docs/03-demos/03-net/03-server/index.md
@@ -127,11 +127,14 @@ That approach is not explored in this demo.
This demo was tested in the following environments:
-| NodeJS | Date | Dependencies |
-|:----------|:-----------|:------------------------------------|
-| `18.20.3` | 2024-06-30 | ExpressJS 4.19.2 + Formidable 2.1.2 |
-| `20.15.0` | 2024-06-30 | ExpressJS 4.19.2 + Formidable 2.1.2 |
-| `22.3.0` | 2024-06-30 | ExpressJS 4.19.2 + Formidable 2.1.2 |
+| NodeJS | Date | ExpressJS |
+|:----------|:-----------|:----------|
+| `18.20.8` | 2025-04-17 | `5.1.0` |
+| `20.18.0` | 2025-04-17 | `5.1.0` |
+| `22.14.0` | 2025-04-17 | `5.1.0` |
+| `18.20.8` | 2025-04-17 | `4.21.2` |
+| `20.18.0` | 2025-04-17 | `4.21.2` |
+| `22.14.0` | 2025-04-17 | `4.21.2` |
:::
diff --git a/docz/docs/03-demos/12-static/11-svelte.md b/docz/docs/03-demos/12-static/11-svelte.md
index 932e6da..8a99cef 100644
--- a/docz/docs/03-demos/12-static/11-svelte.md
+++ b/docz/docs/03-demos/12-static/11-svelte.md
@@ -49,10 +49,11 @@ flowchart LR
This demo was tested in the following environments:
-| SvelteJS | Kit | Date |
-|:-----------------|:---------|:-----------|
-| `4.2.17` | `2.5.10` | 2024-06-03 |
-| `5.0.0-next.149` | `2.5.10` | 2024-06-03 |
+| SvelteJS | Kit | Date |
+|:----------|:---------|:-----------|
+| `5.27.2` | `2.20.7` | 2025-04-17 |
+| `4.2.19` | `2.5.10` | 2025-04-17 |
+| `3.59.2` | `1.30.4` | 2025-04-17 |
:::
@@ -189,7 +190,35 @@ When this demo was last tested, SvelteKit required NodeJS major version 20.
1) Create a new site:
```bash
-npm create svelte@latest sheetjs-svelte
+mkdir -p sheetjs-svelte
+cd sheetjs-svelte
+npx sv create
+```
+
+When prompted:
+
+- `Where would you like your project to be created?`: press Enter
+- `Which template would you like?` select `SvelteKit minimal`
+- `Add type checking with TypeScript?` select `Yes, using JavaScript with JSDoc`
+- `What would you like to add to your project?` press Enter (do not select options)
+- `Which package manager do you want to install dependencies with?`: select `npm` and press Enter
+
+
+ Older SvelteJS versions (click to show)
+
+The following commands create SvelteJS projects for older versions:
+
+**SvelteJS 3.x**
+
+```bash
+npm create svelte@4 sheetjs-svelte
+```
+
+
+**SvelteJS 4.x**
+
+```bash
+npm create svelte@6 sheetjs-svelte
```
When prompted:
@@ -198,19 +227,21 @@ When prompted:
- `Add type checking with TypeScript?` select `Yes, using JavaScript with JSDoc`
- `Select additional options` press Enter (do not select options)
-:::note pass
-
-To test the Svelte 5 beta, select `Try the Svelte 5 preview (unstable!)`
-
-:::
-
-2) Enter the project folder and install dependencies:
+After creating the project, enter the project folder and install dependencies:
```bash
cd sheetjs-svelte
npm i
```
+
+
+2) Install dependencies:
+
+```bash
+npm i
+```
+
3) Fetch the example file [`pres.xlsx`](https://docs.sheetjs.com/pres.xlsx) and
move to a `data` subdirectory in the root of the project:
@@ -311,6 +342,14 @@ observe that the data from the spreadsheet is displayed in the page.
11) In the spreadsheet, set cell A7 to `SheetJS Dev` and cell B7 to `47`. Save
the file. After saving, the browser should automatically refresh with new data.
+:::caution pass
+
+**Live reloading may not work in newer projects!**
+
+If the page does not reload, manually refresh the page.
+
+:::
+
### Static Site
12) Stop the development server and install the static adapter:
diff --git a/docz/docs/03-demos/17-mobile/03-quasar.md b/docz/docs/03-demos/17-mobile/03-quasar.md
index 52fb3a5..df40147 100644
--- a/docz/docs/03-demos/17-mobile/03-quasar.md
+++ b/docz/docs/03-demos/17-mobile/03-quasar.md
@@ -45,16 +45,16 @@ This demo was tested in the following environments:
| OS | Device | Quasar | Date |
|:-----------|:--------------------|:---------|:-----------|
-| Android 30 | NVIDIA Shield | `2.16.4` | 2024-06-09 |
-| iOS 15.1 | iPad Pro | `2.16.4` | 2024-06-09 |
+| Android 34 | NVIDIA Shield | `2.18.1` | 2025-04-17 |
+| iOS 15.1 | iPad Pro | `2.18.1` | 2025-04-17 |
**Simulators**
| OS | Device | Quasar | Dev Platform | Date |
|:-----------|:--------------------|:---------|:-------------|:-----------|
-| Android 34 | Pixel 3a | `2.16.4` | `darwin-arm` | 2024-06-09 |
-| iOS 17.5 | iPhone SE (3rd gen) | `2.16.4` | `darwin-arm` | 2024-06-09 |
-| Android 35 | Pixel 3a | `2.16.9` | `win11-x64` | 2024-08-20 |
+| Android 35 | Pixel 9 Pro XL | `2.18.1` | `darwin-arm` | 2025-04-17 |
+| iOS 18.2 | iPhone 16 Pro Max | `2.18.1` | `darwin-arm` | 2025-04-17 |
+| Android 36 | Pixel 9 Pro XL | `2.18.1` | `win11-x64` | 2025-04-17 |
:::
@@ -167,13 +167,23 @@ window.requestFileSystem(window.PERSISTENT, 0, function(fs) {
The demo draws from the ViteJS example. Familiarity with VueJS and TypeScript
is assumed.
+### Platform Setup
+
0) Ensure all of the dependencies are installed. Install the CLI globally:
```bash
npm i -g @quasar/cli cordova
```
-(you may need to run `sudo npm i -g` if there are permission issues)
+:::note pass
+
+In some systems, the command must be run as the root user:
+
+```bash
+sudo npm i -g @quasar/cli cordova
+```
+
+:::
Installation Notes (click to show)
@@ -182,6 +192,8 @@ Quasar requires Java 17
+### Base Project
+
1) Create a new app:
```bash
@@ -194,14 +206,12 @@ When prompted:
- "What would you like to build?": `App with Quasar CLI, let's go!`
- "Project folder": `SheetJSQuasar`
-- "Pick Quasar version": `Quasar v2 (Vue 3 | latest and greatest)`
- "Pick script type": `Typescript`
-- "Pick Quasar App CLI variant": `Quasar App CLI with Vite 2 (stable | v1)`
+- "Pick Quasar App CLI variant": `Quasar App CLI with Vite`
- "Package name": (press Enter, it will use the default `sheetjsquasar`)
- "Project product name": `SheetJSQuasar`
- "Project description": `SheetJS + Quasar`
-- "Author": (press Enter, it will use Git settings)
-- "Pick a Vue component style": `Composition API`
+- "Pick a Vue component style": `Composition API with
diff --git a/tests/server-express-worker.sh b/tests/server-express-worker.sh
index dabf310..3a96ea6 100755
--- a/tests/server-express-worker.sh
+++ b/tests/server-express-worker.sh
@@ -3,13 +3,12 @@
cd /tmp
rm -rf sheetjs-worker
+. ~/.bashrc ## This is apparently needed in macos
mkdir sheetjs-worker
cd sheetjs-worker
echo '{ "type": "module" }' > package.json
-npm i --save https://cdn.sheetjs.com/xlsx-latest/xlsx-latest.tgz express@4.18.2 formidable@2.1.2
-
cat >worker.js < {
app.listen(7262, () => { console.log(\`Example app listening on port 7262\`); });
EOF
-# this version uses `n` to cycle through node versions
-for n in 18 20 22; do
- sudo n $n
- node --version
- npx -y concurrently -k 'node main.mjs' 'sleep 2; curl -X POST -F upload=@pres.numbers http://localhost:7262/ -J -O'
- npx -y xlsx-cli SheetJSPool.xlsx
- rm -f SheetJSPool.xlsx
+npm i --save https://cdn.sheetjs.com/xlsx-latest/xlsx-latest.tgz formidable@2.1.2
+for express in 4.21.2 5.1.0; do
+ npm i --save express@$express
+ npm ls | grep express
+ # this version uses `nvm` to cycle through node versions
+ for n in 18 20 22; do
+ nvm use $n
+ node --version
+ npx -y concurrently -k 'node main.mjs' 'sleep 2; curl -X POST -F upload=@pres.numbers http://localhost:7262/ -J -O'
+ npx -y xlsx-cli SheetJSPool.xlsx
+ rm -f SheetJSPool.xlsx
+ done
done