diff --git a/docz/data/engines.xls b/docz/data/engines.xls index 2d387cf..87b202a 100644 --- a/docz/data/engines.xls +++ b/docz/data/engines.xls @@ -155,7 +155,7 @@ - + Boa @@ -172,8 +172,8 @@ Perl - - + + diff --git a/docz/docs/03-demos/03-net/09-dom.md b/docz/docs/03-demos/03-net/09-dom.md index 6cc0250..3321e59 100644 --- a/docz/docs/03-demos/03-net/09-dom.md +++ b/docz/docs/03-demos/03-net/09-dom.md @@ -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: {`\ -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`} 2) Download [the sample script `SheetJSCheerio.js`](pathname:///dom/SheetJSCheerio.js): diff --git a/docz/docs/03-demos/12-static/07-eleventy.md b/docz/docs/03-demos/12-static/07-eleventy.md index d6d63ce..e315dd5 100644 --- a/docz/docs/03-demos/12-static/07-eleventy.md +++ b/docz/docs/03-demos/12-static/07-eleventy.md @@ -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 | ::: diff --git a/docz/docs/03-demos/42-engines/09-hermes.md b/docz/docs/03-demos/42-engines/09-hermes.md index 3f3f48a..b7a4413 100644 --- a/docz/docs/03-demos/42-engines/09-hermes.md +++ b/docz/docs/03-demos/42-engines/09-hermes.md @@ -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 +
+ Installation Notes (click to show) `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. + +
1) Inspect the output of the installer. Look for "Installing binary" lines: diff --git a/docz/docs/03-demos/42-engines/20-chakra.md b/docz/docs/03-demos/42-engines/20-chakra.md index d7afe28..c9ed9b8 100644 --- a/docz/docs/03-demos/42-engines/20-chakra.md +++ b/docz/docs/03-demos/42-engines/20-chakra.md @@ -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 -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: {`\ 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`} @@ -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: {`\ 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`} @@ -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 +``` + +::: + diff --git a/docz/docs/03-demos/42-engines/22-perl.md b/docz/docs/03-demos/42-engines/22-perl.md index 1e073c3..7b581db 100644 --- a/docz/docs/03-demos/42-engines/22-perl.md +++ b/docz/docs/03-demos/42-engines/22-perl.md @@ -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: diff --git a/docz/docs/03-demos/42-engines/25-mujs.md b/docz/docs/03-demos/42-engines/25-mujs.md index f4ac259..b9e3677 100644 --- a/docz/docs/03-demos/42-engines/25-mujs.md +++ b/docz/docs/03-demos/42-engines/25-mujs.md @@ -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): diff --git a/docz/docs/index.md b/docz/docs/index.md index e5a4806..17c9cee 100644 --- a/docz/docs/index.md +++ b/docz/docs/index.md @@ -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) diff --git a/docz/static/chakra/sheetjs.ch.cpp b/docz/static/chakra/sheetjs.ch.cpp index a5f0347..3d4db2c 100644 --- a/docz/static/chakra/sheetjs.ch.cpp +++ b/docz/static/chakra/sheetjs.ch.cpp @@ -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; diff --git a/docz/static/test/sheetjs.svg b/docz/static/test/sheetjs.svg index 683e0de..45bd7cd 100644 --- a/docz/static/test/sheetjs.svg +++ b/docz/static/test/sheetjs.svg @@ -1,4 +1,4 @@ - + - + - + Android @@ -95,6 +95,46 @@ + + + + 7.0 + + * + + + + + + + + 8.0 + + * + + + + + + + + 9.0 + + * + + + + + + + + 10.0 + + * + + + + @@ -104,9 +144,9 @@ - 107 + 116 - 7 + 8 @@ -114,7 +154,7 @@ - 138 + 146 10 @@ -123,7 +163,7 @@ - + Chrome @@ -132,7 +172,7 @@ 70 - 7 + 11 @@ -142,7 +182,7 @@ 80 - 7 + 11 @@ -152,7 +192,7 @@ 90 - 7 + 11 @@ -162,7 +202,7 @@ 100 - 7 + 11 @@ -200,7 +240,27 @@ - 136 + 140 + + 10 + + + + + + + + 143 + + * + + + + + + + + 143 10 @@ -218,7 +278,7 @@ 10 - 7 + 8 @@ -228,55 +288,23 @@ 11 - 7 + 10 - + iPad - - - 15 - - 12 - - - - - - - - - iPhone - - - - - 15 - - 12 - - - - - - - - - Edge - - 14 - - 10 + + 11 @@ -285,44 +313,46 @@ 15 - - 10 + + 12 + + + + + iPhone + - + - 16 - - 10 + 14 + + 11 - + - 17 - - 10 + 15 + + 12 - - - - 18 - - 10 - - - + + + + + Edge - + 79 @@ -332,7 +362,7 @@ - + 85 @@ -342,7 +372,7 @@ - + 95 @@ -352,7 +382,7 @@ - + 105 @@ -362,7 +392,7 @@ - + 115 @@ -372,7 +402,7 @@ - + 125 @@ -382,7 +412,7 @@ - + 135 @@ -391,15 +421,35 @@ + + + + 143 + + 10 + + + + - + Safari + 14 + + 11 + + + + + + + 15 12 @@ -408,7 +458,17 @@ - + + + 16 + + 13 + + + + + + 17 @@ -421,9 +481,9 @@ + width="119" height="35" x='770' y='374'> - \ No newline at end of file + diff --git a/tests/dom/cheerio.sh b/tests/dom/cheerio.sh index 862321c..e80cae5 100755 --- a/tests/dom/cheerio.sh +++ b/tests/dom/cheerio.sh @@ -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 diff --git a/tests/static/eleventy.sh b/tests/static/eleventy.sh index c4c0373..7acbe25 100755 --- a/tests/static/eleventy.sh +++ b/tests/static/eleventy.sh @@ -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