browser test refresh

This commit is contained in:
SheetJS 2026-01-12 03:01:23 -05:00
parent f1a4f192d3
commit b205f3f6a1
12 changed files with 200 additions and 116 deletions

@ -155,7 +155,7 @@
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
<Cell ss:StyleID="s16"><Data ss:Type="String"></Data></Cell>
<Cell ss:StyleID="s16"><Data ss:Type="String"></Data></Cell>
</Row>
<Row>
<Cell ss:StyleID="s20" ss:HRef="/docs/demos/engines/boa#complete-example"><Data ss:Type="String">Boa</Data></Cell>
@ -172,8 +172,8 @@
<Cell><Data ss:Type="String">Perl</Data></Cell>
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
<Cell ss:StyleID="s16"/>
<Cell ss:StyleID="s16"/>
<Cell ss:StyleID="s16"><Data ss:Type="String">✱</Data></Cell>
<Cell ss:StyleID="s16"><Data ss:Type="String">✱</Data></Cell>
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
</Row>

@ -298,8 +298,7 @@ This demo was tested in the following deployments:
| CheerioJS | Date |
|:--------------|:-----------|
| `1.0.0` | 2025-04-24 |
| `1.0.0-rc.12` | 2025-04-24 |
| `1.1.2` | 2026-01-12 |
:::
@ -309,7 +308,7 @@ This demo was tested in the following deployments:
1) Install SheetJS and CheerioJS libraries:
<CodeBlock language="bash">{`\
npm i --save https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz cheerio@1.0.0`}
npm i --save https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz cheerio@1.1.2`}
</CodeBlock>
2) Download [the sample script `SheetJSCheerio.js`](pathname:///dom/SheetJSCheerio.js):

@ -117,9 +117,8 @@ This demo was tested in the following environments:
| Eleventy | Date |
|:---------------|:-----------|
| `2.0.1` | 2025-05-07 |
| `3.0.0` | 2025-05-07 |
| `3.1.0-beta.1` | 2025-05-07 |
| `2.0.1` | 2026-01-12 |
| `3.1.2` | 2026-01-12 |
:::

@ -852,8 +852,11 @@ This demo was tested in the following deployments:
| `win11-x64` | `0.13.0` | 2025-04-28 |
| `win11-arm` | `0.13.0` | 2025-02-23 |
| `linux-x64` | `0.13.0` | 2025-04-21 |
| `linux-arm` | `0.13.0` | 2026-01-10 |
When this demo was last tested, `jsvu` did not support `linux-arm`.
When this demo was last tested, `jsvu` did not install a native `linux-arm`
binary. Nevertheless, the process was tested using `qemu-user` to simulate the
`linux-x64` program.
:::
@ -870,13 +873,26 @@ npx -y jsvu hermes@0.13.0
When prompted, select the appropriate operating system.
:::info pass
<details>
<summary><b>Installation Notes</b> (click to show)</summary>
`jsvu` on Windows on ARM uses the X64 compatibility layer. When the demo was
last tested, the engine binaries were not native ARM64 programs.
:::
---
`jsvu` will fail on Linux on ARM since the `linux64` binary is X64. This error
can be ignored.
On this platform, `qemu-user` must be installed by the root user:
```bash
sudo apt install qemu-user
```
In Debian, the package includes bindings to support the `binfmt_misc` system.
</details>
1) Inspect the output of the installer. Look for "Installing binary" lines:

@ -87,7 +87,6 @@ static char *read_file(const char *filename, size_t *sz) {
// ...
/* load library */
EVAL_FILE("shim.min.js")
EVAL_FILE("xlsx.full.min.js")
```
@ -137,6 +136,7 @@ This demo was tested in the following deployments:
| `win11-x64` | `36becec` | 2025-04-28 |
| `win11-arm` | `e26c81f` | 2025-02-23 |
| `linux-x64` | `36becec` | 2025-06-18 |
| `linux-arm` | `792ee76` | 2026-01-10 |
:::
@ -204,7 +204,7 @@ The commands in this demo should be run in "ARM64 Native Tools Command Prompt".
```bash
git clone https://github.com/chakra-core/ChakraCore.git
cd ChakraCore
git checkout 36becec
git checkout 792ee76
cd ..
```
@ -568,18 +568,16 @@ cl sheetjs.ch.cpp ChakraCore.lib /I ChakraCore\lib\Jsrt /link /LIBPATH:ChakraCor
</TabItem>
</Tabs>
5) Download the SheetJS Standalone script, shim script and test file. Move all
three files to the project directory:
5) Download the SheetJS Standalone script and test file. Move all three files to
the project directory:
<ul>
<li><a href={`https://cdn.sheetjs.com/xlsx-${current}/package/dist/xlsx.full.min.js`}>xlsx.full.min.js</a></li>
<li><a href={`https://cdn.sheetjs.com/xlsx-${current}/package/dist/shim.min.js`}>shim.min.js</a></li>
<li><a href="https://docs.sheetjs.com/pres.numbers">pres.numbers</a></li>
</ul>
<CodeBlock language="bash">{`\
curl -L -O https://cdn.sheetjs.com/xlsx-${current}/package/dist/xlsx.full.min.js
curl -L -O https://cdn.sheetjs.com/xlsx-${current}/package/dist/shim.min.js
curl -L -O https://docs.sheetjs.com/pres.numbers`}
</CodeBlock>
@ -609,7 +607,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-06-20 against `ch` commit `36becec`.
This demo was last tested on 2026-01-10 against `ch` commit `792ee76`.
:::
@ -627,18 +625,16 @@ or `ChakraCore\Build\VcBuild\bin\x64_debug\` on x64 Windows.
:::
1) Download the SheetJS Standalone script, shim script and test file. Move all
three files to the project directory:
1) Download the SheetJS Standalone script and test file. Move all three files to
the project directory:
<ul>
<li><a href={`https://cdn.sheetjs.com/xlsx-${current}/package/dist/xlsx.full.min.js`}>xlsx.full.min.js</a></li>
<li><a href={`https://cdn.sheetjs.com/xlsx-${current}/package/dist/shim.min.js`}>shim.min.js</a></li>
<li><a href="https://docs.sheetjs.com/pres.numbers">pres.numbers</a></li>
</ul>
<CodeBlock language="bash">{`\
curl -L -O https://cdn.sheetjs.com/xlsx-${current}/package/dist/xlsx.full.min.js
curl -L -O https://cdn.sheetjs.com/xlsx-${current}/package/dist/shim.min.js
curl -L -O https://docs.sheetjs.com/pres.numbers`}
</CodeBlock>
@ -687,6 +683,16 @@ On Windows, the command should be run in WSL.
./ch xlsx.chakra.js
```
:::note pass
The "Integration Example" stores `ch` in the `ChakraCore/out/Test/` folder:
```bash
./ChakraCore/out/Test/ch xlsx.chakra.js
```
:::
</TabItem>
<TabItem value="win" label="Windows">

@ -68,10 +68,12 @@ String.prototype.match = function(p) {
When loading the ExtendScript build, the BOM must be removed:
```perl
```perl title="Remove BOM from the SheetJS ExtendScript build and evaluate"
## Load SheetJS source
my $src = read_file('xlsx.extendscript.js', { binmode => ':raw' });
$src =~ s/^\xEF\xBB\xBF//; ## remove UTF8 BOM
## evaluate the updated source
my $XLSX = $je->eval($src);
```
@ -79,7 +81,7 @@ my $XLSX = $je->eval($src);
Data should be passed as Base64 strings:
```perl
```perl title="Read spreadsheet file in Perl and parse with SheetJS"
use File::Slurp;
use MIME::Base64 qw( encode_base64 );
@ -102,7 +104,7 @@ $return_val = $je->method(sheetjsparse => $raw_data);
Due to bugs in data interchange, it is strongly recommended to use a simple
format like `.fods`:
```perl
```perl title="Generate FODS with SheetJS and write to file in Perl"
use File::Slurp;
## Set up conversion method
@ -129,9 +131,13 @@ This demo was tested in the following deployments:
|:-------------|:--------|:-----------|
| `darwin-x64` | `0.066` | 2025-03-31 |
| `darwin-arm` | `0.066` | 2025-09-03 |
| `win11-x64` | `0.066` | 2026-01-10 |
| `win11-arm` | `0.066` | 2026-01-10 |
| `linux-x64` | `0.066` | 2025-06-16 |
| `linux-arm` | `0.066` | 2025-02-15 |
The Windows tests were run in WSL.
:::
1) Install `JE` and `File::Slurp` through CPAN:

@ -36,7 +36,7 @@ as [Duktape](/docs/demos/engines/duktape).
:::info pass
Many MuJS functions are not documented. The explanation was verified against
version `1.3.6`.
version `1.3.8`.
:::
@ -327,7 +327,7 @@ This demo was tested in the following deployments:
| `win11-x64` | `1.3.6` | 2025-04-23 |
| `win11-arm` | `1.3.5` | 2025-02-23 |
| `linux-x64` | `1.3.6` | 2025-06-16 |
| `linux-arm` | `1.3.5` | 2025-02-15 |
| `linux-arm` | `1.3.8` | 2026-01-10 |
:::
@ -355,9 +355,9 @@ cd sheetjs-mu
2) Build the MuJS shared library from source:
```bash
curl -LO https://mujs.com/downloads/mujs-1.3.6.zip
unzip mujs-1.3.6.zip
cd mujs-1.3.6
curl -LO https://mujs.com/downloads/mujs-1.3.8.zip
unzip mujs-1.3.8.zip
cd mujs-1.3.8
make release
cd ..
```
@ -365,7 +365,7 @@ cd ..
3) Copy the `mujs.h` header file and `libmujs.a` library to the project folder:
```bash
cp mujs-1.3.6/build/release/libmujs.a mujs-1.3.6/mujs.h .
cp mujs-1.3.8/build/release/libmujs.a mujs-1.3.8/mujs.h .
```
4) Download [`SheetJSMu.c`](pathname:///mujs/SheetJSMu.c):

@ -370,7 +370,7 @@ This,is,a,Test
The test suite is regularly run against a number of modern and legacy browsers
using [Sauce Labs](https://saucelabs.com/).
The following chart shows test results on 2025-05-15 for version `0.20.3`:
Browser tests for SheetJS version `0.20.3` were run on 2026-01-12:
[![Build Status](pathname:///test/sheetjs.svg)](https://saucelabs.com/u/sheetjs)

@ -50,8 +50,6 @@ int main(int argc, char *argv[]) {
JsValueRef global;
FAIL_CHECK(JsGetGlobalObject(&global));
EVAL_FILE("shim.min.js")
EVAL_FILE("xlsx.full.min.js")
JsValueRef buf_str;

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 105 KiB

After

Width:  |  Height:  |  Size: 108 KiB

@ -11,7 +11,7 @@ npm i --save https://cdn.sheetjs.com/xlsx-latest/xlsx-latest.tgz
curl -LO https://docs.sheetjs.com/dom/SheetJSCheerio.js
curl -LO https://docs.sheetjs.com/dom/SheetJSTable.html
for n in 1.0.0 1.0.0-rc.12; do
for n in 1.1.2; do
rm -f SheetJSCheerio.xlsx
npm i --save cheerio@$n
npm ls | grep cheerio

@ -13,7 +13,7 @@ curl -Lo _data/pres.xlsx https://docs.sheetjs.com/pres.xlsx
curl -L -o .eleventy.js https://docs.sheetjs.com/eleventy/_eleventy.js
curl -LO https://docs.sheetjs.com/eleventy/index.njk
for n in 2.0.1 3.0.0 3.1.0-beta.1; do
for n in 2.0.1 3.1.2; do
npm i --save https://cdn.sheetjs.com/xlsx-latest/xlsx-latest.tgz @11ty/eleventy@$n
npx @11ty/eleventy@$n