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 b8b6065..ff7bc62 100644 --- a/docz/docs/02-getting-started/01-installation/07-bun.md +++ b/docz/docs/02-getting-started/01-installation/07-bun.md @@ -121,7 +121,7 @@ This demo was last tested in the following deployments: | Architecture | BunJS | Date | |:-------------|:---------|:-----------| -| `darwin-x64` | `1.1.4` | 2024-04-19 | +| `darwin-x64` | `1.1.39` | 2024-12-17 | | `darwin-arm` | `1.1.10` | 2024-09-22 | | `win10-x64` | `1.1.4` | 2024-04-19 | | `win11-x64` | `1.1.22` | 2024-08-11 | diff --git a/docz/docs/03-demos/02-frontend/02-react.md b/docz/docs/03-demos/02-frontend/02-react.md index d80a6a7..75022a9 100644 --- a/docz/docs/03-demos/02-frontend/02-react.md +++ b/docz/docs/03-demos/02-frontend/02-react.md @@ -277,11 +277,7 @@ This complete component example fetches a test file and displays the contents in a HTML table. When the export button is clicked, a callback will export a file: ```jsx title="src/SheetJSReactAoO.js" -// React imports import React, { useCallback, useEffect, useState } from "react"; -// Preact imports -// import { render } from 'preact'; -// import { useCallback, useEffect, useState } from 'preact/hooks'; import { read, utils, writeFileXLSX } from 'xlsx'; @@ -564,13 +560,15 @@ and test the page. + :::note Tested Deployments This demo was tested in the following environments: -| Preact | ViteJS | Date | +| Preact | ViteJS | Date | |:----------|:----------|:-----------| -| `10.22.1` | `5.3.3` | 2024-12-17 | +| `10.22.1` | `5.3.3` | 2024-12-17 | + ::: 1) Create a new site: @@ -584,10 +582,9 @@ press Enter to accept the default options.** 2) Install the SheetJS dependency and start the dev server: - {`\ cd sheetjs-preact -npm i --save https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz +npm i --save https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz npm run dev`} @@ -595,7 +592,7 @@ npm run dev`} 4) Copy `src/SheetJSReactAoO.js` demo code to `src/index.jsx` and update the imports: -```jsx +```jsx title="src/index.jsx (replace React import with Preact)" // Remove React import and replace with: import { render } from 'preact'; import { useCallback, useEffect, useState } from 'preact/hooks'; @@ -603,7 +600,7 @@ import { useCallback, useEffect, useState } from 'preact/hooks'; 5) Add the following to the bottom of the file: -```jsx +```jsx title="src/index.jsx (append to file)" export function App() { return ( );} render(, document.getElementById('app')); @@ -654,11 +651,7 @@ export, the first `TABLE` child element can be parsed with [`table_to_book`](/do generate a workbook object. ```jsx title="src/SheetJSReactHTML.js" -// React imports import React, { useCallback, useEffect, useRef, useState } from "react"; -// Preact imports -// import { render } from 'preact'; -// import { useCallback, useEffect, useRef, useState } from 'preact/hooks'; import { read, utils, writeFileXLSX } from 'xlsx'; @@ -816,11 +809,13 @@ and test the page. :::note Tested Deployments + This demo was tested in the following environments: | Preact | ViteJS | Date | |:----------|:--------|:-----------| | `10.22.1` | `5.3.3` | 2024-12-17 | + ::: ```bash @@ -835,7 +830,7 @@ press Enter to accept the default options.** {`\ cd sheetjs-preact -npm i --save https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz +npm i --save https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz npm run dev`} @@ -843,7 +838,7 @@ npm run dev`} 4) Copy `src/SheetJSReactHTML.js` demo code to `src/index.jsx` and update the imports: -```jsx +```jsx title="src/index.jsx (replace React import with Preact)" // Remove React import and replace with: import { render } from 'preact'; import { useCallback, useEffect, useRef, useState } from 'preact/hooks'; @@ -851,7 +846,7 @@ import { useCallback, useEffect, useRef, useState } from 'preact/hooks'; 5) Add the following to the bottom of the file: -```jsx +```jsx title="src/index.jsx (append to file)" export function App() { return ( );} render(, document.getElementById('app')); 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 e0c7077..f556d84 100644 --- a/docz/docs/03-demos/03-net/08-headless/index.md +++ b/docz/docs/03-demos/03-net/08-headless/index.md @@ -407,7 +407,7 @@ This demo was tested in the following environments: | Architecture | PhantomJS | Date | |:-------------|:----------|:-----------| -| `darwin-x64` | `2.1.1` | 2024-03-15 | +| `darwin-x64` | `2.1.1` | 2024-12-17 | | `win10-x64` | `2.1.1` | 2024-03-24 | | `win11-x64` | `2.1.1` | 2024-05-22 | | `linux-x64` | `2.1.1` | 2024-04-25 | diff --git a/docz/docs/03-demos/42-engines/04-jsc.md b/docz/docs/03-demos/42-engines/04-jsc.md index 2fdf86d..101eef7 100644 --- a/docz/docs/03-demos/42-engines/04-jsc.md +++ b/docz/docs/03-demos/42-engines/04-jsc.md @@ -32,7 +32,7 @@ Swift on MacOS supports JavaScriptCore without additional dependencies. | Architecture | Swift | Date | |:-------------|:--------|:-----------| -| `darwin-x64` | `5.10` | 2024-04-04 | +| `darwin-x64` | `6.0.2` | 2024-12-17 | | `darwin-arm` | `5.10` | 2024-06-30 | [**C / C++ Compiled from Source**](#c) diff --git a/docz/docs/03-demos/42-engines/05-jint.md b/docz/docs/03-demos/42-engines/05-jint.md index 328529f..de87080 100644 --- a/docz/docs/03-demos/42-engines/05-jint.md +++ b/docz/docs/03-demos/42-engines/05-jint.md @@ -163,7 +163,7 @@ This demo was tested in the following deployments: | Architecture | Jint | Date | |:-------------|:--------|:-----------| -| `darwin-x64` | `3.0.1` | 2024-03-15 | +| `darwin-x64` | `4.1.0` | 2024-12-17 | | `darwin-arm` | `3.1.2` | 2024-05-25 | | `win10-x64` | `3.1.0` | 2024-04-17 | | `win11-arm` | `3.1.2` | 2024-05-25 | diff --git a/docz/docs/03-demos/42-engines/06-goja.md b/docz/docs/03-demos/42-engines/06-goja.md index 4c2b046..ad2ee51 100644 --- a/docz/docs/03-demos/42-engines/06-goja.md +++ b/docz/docs/03-demos/42-engines/06-goja.md @@ -94,7 +94,7 @@ This demo was tested in the following deployments: | Architecture | Git Commit | Go version | Date | |:-------------|:-----------|:-----------|:-----------| -| `darwin-x64` | `e401ed4` | `1.21.7` | 2024-04-25 | +| `darwin-x64` | `79f3a7e` | `1.23.3` | 2024-12-27 | | `darwin-arm` | `ccbae20` | `1.22.3` | 2024-05-23 | | `win10-x64` | `e401ed4` | `1.22.1` | 2024-03-24 | | `win11-arm` | `ccbae20` | `1.22.3` | 2024-05-25 | diff --git a/docz/docs/03-demos/42-engines/07-nashorn.md b/docz/docs/03-demos/42-engines/07-nashorn.md index c1c05e4..a27be2c 100644 --- a/docz/docs/03-demos/42-engines/07-nashorn.md +++ b/docz/docs/03-demos/42-engines/07-nashorn.md @@ -105,21 +105,22 @@ This demo was tested in the following deployments: | OpenJDK | Nashorn | Date | |:--------|:----------------|:-----------| -| 22.0.1 | 15.4 standalone | 2024-06-24 | -| 21.0.3 | 15.4 standalone | 2024-06-24 | -| 20.0.2 | 15.4 standalone | 2024-06-24 | -| 19.0.2 | 15.4 standalone | 2024-06-24 | -| 18.0.2 | 15.4 standalone | 2024-06-24 | -| 17.0.11 | 15.4 standalone | 2024-06-24 | -| 16.0.1 | 15.4 standalone | 2024-06-24 | -| 15.0.10 | 15.4 standalone | 2024-06-24 | -| 14.0.2 | Built-in | 2024-06-24 | -| 13.0.14 | Built-in | 2024-06-24 | -| 12.0.2 | Built-in | 2024-06-24 | -| 11.0.23 | Built-in | 2024-06-24 | -| 10.0.2 | Built-in | 2024-06-24 | -| 9 | Built-in | 2024-06-24 | -| 1.8.0 | Built-in | 2024-06-24 | +| 23.0.1 | 15.4 standalone | 2024-12-17 | +| 22.0.2 | 15.4 standalone | 2024-12-17 | +| 21.0.5 | 15.4 standalone | 2024-12-17 | +| 20.0.2 | 15.4 standalone | 2024-12-17 | +| 19.0.2 | 15.4 standalone | 2024-12-17 | +| 18.0.2 | 15.4 standalone | 2024-12-17 | +| 17.0.13 | 15.4 standalone | 2024-12-17 | +| 16.0.1 | 15.4 standalone | 2024-12-17 | +| 15.0.10 | 15.4 standalone | 2024-12-17 | +| 14.0.2 | Built-in | 2024-12-17 | +| 13.0.14 | Built-in | 2024-12-17 | +| 12.0.2 | Built-in | 2024-12-17 | +| 11.0.25 | Built-in | 2024-12-17 | +| 10.0.2 | Built-in | 2024-12-17 | +| 9 | Built-in | 2024-12-17 | +| 1.8.0 | Built-in | 2024-12-17 | ::: diff --git a/docz/docs/03-demos/42-engines/08-quickjs.md b/docz/docs/03-demos/42-engines/08-quickjs.md index 76d83d7..4028624 100644 --- a/docz/docs/03-demos/42-engines/08-quickjs.md +++ b/docz/docs/03-demos/42-engines/08-quickjs.md @@ -27,7 +27,7 @@ command-line tool for reading data from files. :::note pass Many QuickJS functions are not documented. The explanation was verified against -the latest release (commit `d378a9f`). +the latest release (commit `6e2e68f`). ::: @@ -263,14 +263,14 @@ This demo was tested in the following deployments: | Architecture | Git Commit | Date | |:-------------|:-----------|:-----------| -| `darwin-x64` | `6a89d7c` | 2024-03-15 | -| `darwin-arm` | `d378a9f` | 2024-05-23 | +| `darwin-x64` | `6e2e68f` | 2024-12-17 | +| `darwin-arm` | `6e2e68f` | 2024-12-17 | | `win10-x64` | `9e561d5` | 2024-03-04 | | `win11-arm` | `d378a9f` | 2024-05-25 | | `linux-x64` | `3b45d15` | 2024-04-25 | | `linux-arm` | `d378a9f` | 2024-05-25 | -When the demo was tested, `d378a9f` was the HEAD commit on the `master` branch. +When the demo was tested, `6e2e68f` was the HEAD commit on the `master` branch. ::: @@ -286,7 +286,7 @@ tests were run entirely within Windows Subsystem for Linux. ```bash git clone https://github.com/bellard/quickjs cd quickjs -git checkout d378a9f +git checkout 6e2e68f make cd .. ``` @@ -343,9 +343,9 @@ This demo was tested in the following environments: | Git Commit | Date | |:-----------|:-----------| -| `d378a9f` | 2024-05-23 | +| `6e2e68f` | 2024-12-17 | -When the demo was tested, `d378a9f` was the HEAD commit on the `master` branch. +When the demo was tested, `6e2e68f` was the HEAD commit on the `master` branch. ::: diff --git a/docz/docs/03-demos/42-engines/09-hermes.md b/docz/docs/03-demos/42-engines/09-hermes.md index bb842fc..768e5c6 100644 --- a/docz/docs/03-demos/42-engines/09-hermes.md +++ b/docz/docs/03-demos/42-engines/09-hermes.md @@ -28,7 +28,7 @@ command-line tool for reading data from files. :::info pass Many Hermes functions are not documented. The explanation was verified against -commit `15b323d`. +commit `d070c74`. ::: @@ -364,7 +364,7 @@ This demo was tested in the following deployments: | Architecture | Git Commit | Date | |:-------------|:-----------|:-----------| -| `darwin-x64` | `d070c74` | 2024-04-25 | +| `darwin-x64` | `d070c74` | 2024-12-17 | | `darwin-arm` | `d070c74` | 2024-05-23 | | `linux-x64` | `d217af8` | 2024-03-21 | | `linux-arm` | `d070c74` | 2024-05-25 | @@ -765,7 +765,7 @@ This demo was tested in the following deployments: | Architecture | Hermes | Date | |:-------------|:---------|:-----------| -| `darwin-x64` | `0.12.0` | 2024-03-13 | +| `darwin-x64` | `0.13.0` | 2024-12-17 | ::: @@ -777,7 +777,7 @@ as a Base64 string and directly add it to an amalgamated script. 0) Install the Hermes command line tools: ```bash -npx jsvu hermes@0.12.0 +npx jsvu hermes@0.13.0 ``` When prompted, select the appropriate operating system. @@ -787,10 +787,10 @@ When prompted, select the appropriate operating system. ```text pass ❯ Extracting… // highlight-next-line -Installing binary to ~/.jsvu/engines/hermes-0.12.0/hermes-0.12.0… -Installing symlink at ~/.jsvu/bin/hermes-0.12.0 pointing to ~/.jsvu/engines/hermes-0.12.0/hermes-0.12.0… -Installing binary to ~/.jsvu/engines/hermes-0.12.0/hermes-0.12.0-compiler… -Installing symlink at ~/.jsvu/bin/hermes-0.12.0-compiler pointing to ~/.jsvu/engines/hermes-0.12.0/hermes-0.12.0-compiler… +Installing binary to ~/.jsvu/engines/hermes-0.13.0/hermes-0.13.0… +Installing symlink at ~/.jsvu/bin/hermes-0.13.0 pointing to ~/.jsvu/engines/hermes-0.13.0/hermes-0.13.0… +Installing binary to ~/.jsvu/engines/hermes-0.13.0/hermes-0.13.0-compiler… +Installing symlink at ~/.jsvu/bin/hermes-0.13.0-compiler pointing to ~/.jsvu/engines/hermes-0.13.0/hermes-0.13.0-compiler… ``` The first "Installing binary" line mentions the path to the `hermes` tool. @@ -807,7 +807,7 @@ cd sheetjs-hermes-cli 3) Copy the binary from Step 1 into the current folder. For example, on macOS: ```bash -cp ~/.jsvu/engines/hermes-0.12.0/hermes-0.12.0 . +cp ~/.jsvu/engines/hermes-0.13.0/hermes-0.13.0 . ``` #### Create Script @@ -861,7 +861,7 @@ ready, it will read the bundled test data and print the contents as CSV. 8) Run the script using the Hermes standalone binary: ```bash -./hermes-0.12.0 sheetjs.hermes.js +./hermes-0.13.0 sheetjs.hermes.js ``` If successful, the script will print CSV data from the test file. diff --git a/docz/docs/03-demos/42-engines/15-rb.md b/docz/docs/03-demos/42-engines/15-rb.md index 51c65c2..9ef5488 100644 --- a/docz/docs/03-demos/42-engines/15-rb.md +++ b/docz/docs/03-demos/42-engines/15-rb.md @@ -85,14 +85,14 @@ The `strict_` variants ensure that no newlines are added to the strings. This demo was tested in the following deployments: -| Platform | Ruby | ExecJS | Date | -|:-------------|:---------|:--------|:-----------| -| `darwin-x64` | `2.6.10` | `2.9.1` | 2024-04-25 | -| `darwin-arm` | `2.6.10` | `2.9.1` | 2024-05-25 | -| `win10-x64` | `3.2.3` | `2.9.1` | 2024-03-10 | -| `win11-arm` | `3.0.2` | `2.9.1` | 2024-05-25 | -| `linux-x64` | `3.0.5` | `2.9.1` | 2024-03-21 | -| `linux-arm` | `3.1.2` | `2.9.1` | 2024-05-25 | +| Platform | Ruby | ExecJS | Date | +|:-------------|:---------|:---------|:-----------| +| `darwin-x64` | `2.6.10` | `2.10.0` | 2024-12-17 | +| `darwin-arm` | `2.6.10` | `2.9.1` | 2024-05-25 | +| `win10-x64` | `3.2.3` | `2.9.1` | 2024-03-10 | +| `win11-arm` | `3.0.2` | `2.9.1` | 2024-05-25 | +| `linux-x64` | `3.0.5` | `2.9.1` | 2024-03-21 | +| `linux-arm` | `3.1.2` | `2.9.1` | 2024-05-25 | When the demo was last tested, there was no official Ruby release for Windows on ARM. The `win11-arm` test was run in WSL. diff --git a/docz/docs/03-demos/42-engines/20-chakra.md b/docz/docs/03-demos/42-engines/20-chakra.md index 6945f75..78ccd69 100644 --- a/docz/docs/03-demos/42-engines/20-chakra.md +++ b/docz/docs/03-demos/42-engines/20-chakra.md @@ -132,7 +132,7 @@ This demo was tested in the following deployments: | Architecture | Git Commit | Date | |:-------------|:-----------|:-----------| -| `darwin-x64` | `c3ead3f` | 2024-03-15 | +| `darwin-x64` | `e26c81f` | 2024-12-17 | | `darwin-arm` | `3a7b120` | 2024-05-23 | | `win10-x64` | `c3ead3f` | 2024-03-04 | | `win11-arm` | `13358c6` | 2024-07-14 | @@ -189,7 +189,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 13358c6 +git checkout e26c81f cd .. ``` @@ -200,7 +200,7 @@ cd .. ```bash cd ChakraCore -./build.sh --static --icu=/usr/local/opt/icu4c/include --test-build -j=8 +./build.sh --static --icu=/usr/local/opt/icu4c/include --test-build -j=8 --system-icu --no-jit cd .. ``` @@ -221,6 +221,14 @@ ln -s /opt/homebrew/opt/icu4c usr/local/opt/icu4c cd .. ``` +::: + +:::danger pass + +There are known issues with MacOS 15.1 SDK and ChakraCore JIT. These issues did +not affect earlier tests against MacOS 14.5. The current recommendation is to +disable JIT and use the system ICU implementation. + ::: @@ -484,7 +492,7 @@ If successful, the program will print the contents of the first sheet as CSV. :::note Tested Deployments -This demo was last tested on 2024-07-14 against `ch` commit `13358c6`. +This demo was last tested on 2024-12-17 against `ch` commit `e26c81f`. ::: diff --git a/docz/docs/03-demos/42-engines/21-boa.md b/docz/docs/03-demos/42-engines/21-boa.md index b204524..76a71e5 100644 --- a/docz/docs/03-demos/42-engines/21-boa.md +++ b/docz/docs/03-demos/42-engines/21-boa.md @@ -120,7 +120,7 @@ This demo was tested in the following deployments: | Architecture | Boa | Date | |:-------------|:---------|:-----------| -| `darwin-x64` | `0.18.0` | 2024-04-25 | +| `darwin-x64` | `0.20.0` | 2024-12-17 | | `darwin-arm` | `0.18.0` | 2024-05-23 | | `win10-x64` | `0.18.0` | 2024-04-25 | | `win11-arm` | `0.18.0` | 2024-05-25 | diff --git a/docz/docs/03-demos/42-engines/22-perl.md b/docz/docs/03-demos/42-engines/22-perl.md index 0e798a6..1f34e6f 100644 --- a/docz/docs/03-demos/42-engines/22-perl.md +++ b/docz/docs/03-demos/42-engines/22-perl.md @@ -127,7 +127,7 @@ This demo was tested in the following deployments: | Architecture | Version | Date | |:-------------|:--------|:-----------| -| `darwin-x64` | `0.066` | 2024-06-29 | +| `darwin-x64` | `0.066` | 2024-12-17 | | `darwin-arm` | `0.066` | 2024-05-25 | | `linux-x64` | `0.066` | 2024-06-29 | | `linux-arm` | `0.066` | 2024-05-25 | @@ -148,7 +148,7 @@ There were permissions errors in some test runs: mkdir /Library/Perl/5.30/File: Permission denied at /System/Library/Perl/5.30/ExtUtils/Install.pm line 489. ``` -On macOS, the commands should be run through `sudo`: +The install command should be run through `sudo`: ```bash sudo cpan install JE File::Slurp diff --git a/docz/docs/03-demos/42-engines/23-jerryscript.md b/docz/docs/03-demos/42-engines/23-jerryscript.md index 307e9bb..ae8251c 100644 --- a/docz/docs/03-demos/42-engines/23-jerryscript.md +++ b/docz/docs/03-demos/42-engines/23-jerryscript.md @@ -36,7 +36,7 @@ This demo was tested in the following environments: | Architecture | Commit | Date | |:-------------|:----------|:-----------| -| `darwin-x64` | `35465ed` | 2024-05-25 | +| `darwin-x64` | `d2d30df` | 2024-12-17 | | `darwin-arm` | `35465ed` | 2024-05-25 | | `win10-x64` | `47bd5d4` | 2024-04-14 | | `win11-arm` | `35465ed` | 2024-05-25 | @@ -52,7 +52,7 @@ The Windows tests were run in WSL. :::info pass The official JerryScript documentation and examples are out of date. This -explanation was verified against the latest release (commit `514fa67`). +explanation was verified against the latest release (commit `d2d30df`). ::: diff --git a/docz/docs/03-demos/42-engines/24-graaljs.md b/docz/docs/03-demos/42-engines/24-graaljs.md index 61ad0ad..123706a 100644 --- a/docz/docs/03-demos/42-engines/24-graaljs.md +++ b/docz/docs/03-demos/42-engines/24-graaljs.md @@ -54,12 +54,13 @@ This demo was tested in the following deployments: | OpenJDK | GraalJS | Date | |:--------|:--------|:-----------| -| 22 | 24.0.1 | 2024-05-25 | -| 21.0.3 | 24.0.1 | 2024-05-25 | -| 20.0.2 | 24.0.1 | 2024-05-25 | -| 19.0.2 | 24.0.1 | 2024-05-25 | -| 18.0.2 | 24.0.1 | 2024-05-25 | -| 17.0.10 | 24.0.1 | 2024-05-25 | +| 23.0.1 | 24.1.1 | 2024-12-17 | +| 22.0.2 | 24.1.1 | 2024-12-17 | +| 21.0.5 | 24.1.1 | 2024-12-17 | +| 20.0.2 | 24.1.1 | 2024-12-17 | +| 19.0.2 | 24.1.1 | 2024-12-17 | +| 18.0.2 | 24.1.1 | 2024-12-17 | +| 17.0.13 | 24.1.1 | 2024-12-17 | ::: @@ -68,14 +69,14 @@ This demo was tested in the following deployments: 0) Download GraalJS and its dependencies: ```bash -curl -LO "https://repo1.maven.org/maven2/org/graalvm/js/js-scriptengine/24.0.1/js-scriptengine-24.0.1.jar" -curl -LO "https://repo1.maven.org/maven2/org/graalvm/js/js-language/24.0.1/js-language-24.0.1.jar" -curl -LO "https://repo1.maven.org/maven2/org/graalvm/polyglot/polyglot/24.0.1/polyglot-24.0.1.jar" -curl -LO "https://repo1.maven.org/maven2/org/graalvm/sdk/collections/24.0.1/collections-24.0.1.jar" -curl -LO "https://repo1.maven.org/maven2/org/graalvm/truffle/truffle-api/24.0.1/truffle-api-24.0.1.jar" -curl -LO "https://repo1.maven.org/maven2/org/graalvm/sdk/nativeimage/24.0.1/nativeimage-24.0.1.jar" -curl -LO "https://repo1.maven.org/maven2/org/graalvm/shadowed/icu4j/24.0.1/icu4j-24.0.1.jar" -curl -LO "https://repo1.maven.org/maven2/org/graalvm/regex/regex/24.0.1/regex-24.0.1.jar" +curl -LO "https://repo1.maven.org/maven2/org/graalvm/js/js-scriptengine/24.1.1/js-scriptengine-24.1.1.jar" +curl -LO "https://repo1.maven.org/maven2/org/graalvm/js/js-language/24.1.1/js-language-24.1.1.jar" +curl -LO "https://repo1.maven.org/maven2/org/graalvm/polyglot/polyglot/24.1.1/polyglot-24.1.1.jar" +curl -LO "https://repo1.maven.org/maven2/org/graalvm/sdk/collections/24.1.1/collections-24.1.1.jar" +curl -LO "https://repo1.maven.org/maven2/org/graalvm/truffle/truffle-api/24.1.1/truffle-api-24.1.1.jar" +curl -LO "https://repo1.maven.org/maven2/org/graalvm/sdk/nativeimage/24.1.1/nativeimage-24.1.1.jar" +curl -LO "https://repo1.maven.org/maven2/org/graalvm/shadowed/icu4j/24.1.1/icu4j-24.1.1.jar" +curl -LO "https://repo1.maven.org/maven2/org/graalvm/regex/regex/24.1.1/regex-24.1.1.jar" ``` 1) Download the SheetJS Standalone script, shim script and test file. Move all @@ -116,14 +117,14 @@ CSV rows from the first worksheet. ```bash -java -cp ".:js-scriptengine-24.0.1.jar:js-language-24.0.1.jar:polyglot-24.0.1.jar:collections-24.0.1.jar:truffle-api-24.0.1.jar:nativeimage-24.0.1.jar:icu4j-24.0.1.jar:regex-24.0.1.jar" -Dpolyglot.js.nashorn-compat=true SheetJSNashorn pres.xlsx +java -cp ".:js-scriptengine-24.1.1.jar:js-language-24.1.1.jar:polyglot-24.1.1.jar:collections-24.1.1.jar:truffle-api-24.1.1.jar:nativeimage-24.1.1.jar:icu4j-24.1.1.jar:regex-24.1.1.jar" -Dpolyglot.js.nashorn-compat=true SheetJSNashorn pres.xlsx ``` ```bash -java -cp ".;js-scriptengine-24.0.1.jar;js-language-24.0.1.jar;polyglot-24.0.1.jar;collections-24.0.1.jar;truffle-api-24.0.1.jar;nativeimage-24.0.1.jar;icu4j-24.0.1.jar;regex-24.0.1.jar" -D"polyglot.js.nashorn-compat=true" SheetJSNashorn pres.xlsx +java -cp ".;js-scriptengine-24.1.1.jar;js-language-24.1.1.jar;polyglot-24.1.1.jar;collections-24.1.1.jar;truffle-api-24.1.1.jar;nativeimage-24.1.1.jar;icu4j-24.1.1.jar;regex-24.1.1.jar" -D"polyglot.js.nashorn-compat=true" SheetJSNashorn pres.xlsx ``` @@ -153,14 +154,14 @@ cd sheethorn ```bash -java -cp ".:js-scriptengine-24.0.1.jar:js-language-24.0.1.jar:polyglot-24.0.1.jar:collections-24.0.1.jar:truffle-api-24.0.1.jar:nativeimage-24.0.1.jar:icu4j-24.0.1.jar:regex-24.0.1.jar:SheetJSNashorn.jar" -Dpolyglot.js.nashorn-compat=true SheetJSNashorn pres.xlsx +java -cp ".:js-scriptengine-24.1.1.jar:js-language-24.1.1.jar:polyglot-24.1.1.jar:collections-24.1.1.jar:truffle-api-24.1.1.jar:nativeimage-24.1.1.jar:icu4j-24.1.1.jar:regex-24.1.1.jar:SheetJSNashorn.jar" -Dpolyglot.js.nashorn-compat=true SheetJSNashorn pres.xlsx ``` ```bash -java -cp ".;js-scriptengine-24.0.1.jar;js-language-24.0.1.jar;polyglot-24.0.1.jar;collections-24.0.1.jar;truffle-api-24.0.1.jar;nativeimage-24.0.1.jar;icu4j-24.0.1.jar;regex-24.0.1.jar;SheetJSNashorn.jar" -D"polyglot.js.nashorn-compat=true" SheetJSNashorn pres.xlsx +java -cp ".;js-scriptengine-24.1.1.jar;js-language-24.1.1.jar;polyglot-24.1.1.jar;collections-24.1.1.jar;truffle-api-24.1.1.jar;nativeimage-24.1.1.jar;icu4j-24.1.1.jar;regex-24.1.1.jar;SheetJSNashorn.jar" -D"polyglot.js.nashorn-compat=true" SheetJSNashorn pres.xlsx ``` diff --git a/docz/docs/03-demos/42-engines/25-mujs.md b/docz/docs/03-demos/42-engines/25-mujs.md index 32b01a4..8857b80 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.4`. +version `1.3.5`. ::: @@ -322,7 +322,7 @@ This demo was tested in the following deployments: | Architecture | Version | Date | |:-------------|:--------|:-----------| -| `darwin-x64` | `1.3.4` | 2024-05-25 | +| `darwin-x64` | `1.3.5` | 2024-12-17 | | `darwin-arm` | `1.3.4` | 2024-05-23 | | `win10-x64` | `1.3.4` | 2024-06-20 | | `win11-arm` | `1.3.4` | 2024-06-20 | @@ -354,9 +354,9 @@ cd sheetjs-mu 2) Build the MuJS shared library from source: ```bash -curl -LO https://mujs.com/downloads/mujs-1.3.4.zip -unzip mujs-1.3.4.zip -cd mujs-1.3.4 +curl -LO https://mujs.com/downloads/mujs-1.3.5.zip +unzip mujs-1.3.5.zip +cd mujs-1.3.5 make release cd .. ``` @@ -364,7 +364,7 @@ cd .. 3) Copy the `mujs.h` header file and `libmujs.a` library to the project folder: ```bash -cp mujs-1.3.4/build/release/libmujs.a mujs-1.3.4/mujs.h . +cp mujs-1.3.5/build/release/libmujs.a mujs-1.3.5/mujs.h . ``` 4) Download [`SheetJSMu.c`](pathname:///mujs/SheetJSMu.c): diff --git a/docz/docs/03-demos/42-engines/26-jurassic.md b/docz/docs/03-demos/42-engines/26-jurassic.md index a2315fc..3273b02 100644 --- a/docz/docs/03-demos/42-engines/26-jurassic.md +++ b/docz/docs/03-demos/42-engines/26-jurassic.md @@ -158,7 +158,7 @@ The result will be passed back to C# code. ::: ```csharp -string ods = engine.Evaluate("XLSX.write(wb, {bookType: 'ods', type: 'base64'})") as string; +string ods = engine.Evaluate("XLSX.write(wb, {bookType: 'ods', type: 'base64'})")!; ``` `ods` is a Base64 string. `System.Convert.FromBase64String` can decode the @@ -176,7 +176,7 @@ This demo was tested in the following deployments: | Architecture | Jurassic | Date | |:-------------|:---------|:-----------| -| `darwin-x64` | `3.2.7` | 2024-06-15 | +| `darwin-x64` | `3.2.8` | 2024-12-17 | | `darwin-arm` | `3.2.7` | 2024-06-15 | | `win10-x64` | `3.2.7` | 2024-06-21 | | `win11-arm` | `3.2.7` | 2024-07-14 | @@ -260,7 +260,7 @@ dotnet run 4) Add Jurassic using the NuGet tool: ```bash -dotnet add package Jurassic --version 3.2.7 +dotnet add package Jurassic --version 3.2.8 ``` To verify Jurassic is installed, replace `Program.cs` with the following: @@ -340,7 +340,7 @@ object csv = engine.Evaluate("XLSX.utils.sheet_to_csv(ws)"); Console.Write(csv); /* Generate XLSB file and save to SheetJSJurassic.ods */ -string ods = engine.Evaluate("XLSX.write(wb, {bookType: 'ods', type: 'base64'})") as string; +string ods = engine.Evaluate("XLSX.write(wb, {bookType: 'ods', type: 'base64'})")!; File.WriteAllBytes("SheetJSJurassic.ods", System.Convert.FromBase64String(ods)); ``` diff --git a/tests/engines-graaljs.sh b/tests/engines-graaljs.sh index e501f54..fe3a8d8 100755 --- a/tests/engines-graaljs.sh +++ b/tests/engines-graaljs.sh @@ -5,14 +5,14 @@ rm -rf sheetjs-graaljs mkdir -p sheetjs-graaljs cd sheetjs-graaljs -curl -LO "https://repo1.maven.org/maven2/org/graalvm/js/js-scriptengine/24.0.1/js-scriptengine-24.0.1.jar" -curl -LO "https://repo1.maven.org/maven2/org/graalvm/js/js-language/24.0.1/js-language-24.0.1.jar" -curl -LO "https://repo1.maven.org/maven2/org/graalvm/polyglot/polyglot/24.0.1/polyglot-24.0.1.jar" -curl -LO "https://repo1.maven.org/maven2/org/graalvm/sdk/collections/24.0.1/collections-24.0.1.jar" -curl -LO "https://repo1.maven.org/maven2/org/graalvm/truffle/truffle-api/24.0.1/truffle-api-24.0.1.jar" -curl -LO "https://repo1.maven.org/maven2/org/graalvm/sdk/nativeimage/24.0.1/nativeimage-24.0.1.jar" -curl -LO "https://repo1.maven.org/maven2/org/graalvm/shadowed/icu4j/24.0.1/icu4j-24.0.1.jar" -curl -LO "https://repo1.maven.org/maven2/org/graalvm/regex/regex/24.0.1/regex-24.0.1.jar" +curl -LO "https://repo1.maven.org/maven2/org/graalvm/js/js-scriptengine/24.1.1/js-scriptengine-24.1.1.jar" +curl -LO "https://repo1.maven.org/maven2/org/graalvm/js/js-language/24.1.1/js-language-24.1.1.jar" +curl -LO "https://repo1.maven.org/maven2/org/graalvm/polyglot/polyglot/24.1.1/polyglot-24.1.1.jar" +curl -LO "https://repo1.maven.org/maven2/org/graalvm/sdk/collections/24.1.1/collections-24.1.1.jar" +curl -LO "https://repo1.maven.org/maven2/org/graalvm/truffle/truffle-api/24.1.1/truffle-api-24.1.1.jar" +curl -LO "https://repo1.maven.org/maven2/org/graalvm/sdk/nativeimage/24.1.1/nativeimage-24.1.1.jar" +curl -LO "https://repo1.maven.org/maven2/org/graalvm/shadowed/icu4j/24.1.1/icu4j-24.1.1.jar" +curl -LO "https://repo1.maven.org/maven2/org/graalvm/regex/regex/24.1.1/regex-24.1.1.jar" curl -LO https://cdn.sheetjs.com/xlsx-latest/package/dist/xlsx.full.min.js curl -LO https://cdn.sheetjs.com/xlsx-latest/package/dist/shim.min.js @@ -20,19 +20,19 @@ curl -LO https://sheetjs.com/pres.xlsx curl -LO https://docs.sheetjs.com/nashorn/SheetJSNashorn.java -for n in {17..22}; do +for n in {17..23}; do export JAVA_HOME=`/usr/libexec/java_home -v $n` java -version rm -fr SheetJSNashorn.class SheetJSNashorn.jar sheethorn javac SheetJSNashorn.java - java -cp ".:js-scriptengine-24.0.1.jar:js-language-24.0.1.jar:polyglot-24.0.1.jar:collections-24.0.1.jar:truffle-api-24.0.1.jar:nativeimage-24.0.1.jar:icu4j-24.0.1.jar:regex-24.0.1.jar" -Dpolyglot.js.nashorn-compat=true SheetJSNashorn pres.xlsx + java -cp ".:js-scriptengine-24.1.1.jar:js-language-24.1.1.jar:polyglot-24.1.1.jar:collections-24.1.1.jar:truffle-api-24.1.1.jar:nativeimage-24.1.1.jar:icu4j-24.1.1.jar:regex-24.1.1.jar" -Dpolyglot.js.nashorn-compat=true SheetJSNashorn pres.xlsx jar -cf SheetJSNashorn.jar SheetJSNashorn.class xlsx.full.min.js shim.min.js mkdir -p sheethorn cp *.jar pres.xlsx sheethorn cd sheethorn - java -cp ".:js-scriptengine-24.0.1.jar:js-language-24.0.1.jar:polyglot-24.0.1.jar:collections-24.0.1.jar:truffle-api-24.0.1.jar:nativeimage-24.0.1.jar:icu4j-24.0.1.jar:regex-24.0.1.jar:SheetJSNashorn.jar" -Dpolyglot.js.nashorn-compat=true SheetJSNashorn pres.xlsx + java -cp ".:js-scriptengine-24.1.1.jar:js-language-24.1.1.jar:polyglot-24.1.1.jar:collections-24.1.1.jar:truffle-api-24.1.1.jar:nativeimage-24.1.1.jar:icu4j-24.1.1.jar:regex-24.1.1.jar:SheetJSNashorn.jar" -Dpolyglot.js.nashorn-compat=true SheetJSNashorn pres.xlsx cd - done diff --git a/tests/engines-jurassic.sh b/tests/engines-jurassic.sh index 649c684..95ee447 100755 --- a/tests/engines-jurassic.sh +++ b/tests/engines-jurassic.sh @@ -9,7 +9,7 @@ cd SheetJSJurassic dotnet new console dotnet run -dotnet add package Jurassic --version 3.2.7 +dotnet add package Jurassic --version 3.2.8 curl -LO https://cdn.sheetjs.com/xlsx-latest/package/dist/shim.min.js curl -LO https://cdn.sheetjs.com/xlsx-latest/package/dist/xlsx.mini.min.js diff --git a/tests/engines-mujs.sh b/tests/engines-mujs.sh index 243e52c..16e8438 100755 --- a/tests/engines-mujs.sh +++ b/tests/engines-mujs.sh @@ -7,13 +7,13 @@ rm -rf sheetjs-mu mkdir sheetjs-mu cd sheetjs-mu -curl -LO https://mujs.com/downloads/mujs-1.3.4.zip -unzip mujs-1.3.4.zip -cd mujs-1.3.4 +curl -LO https://mujs.com/downloads/mujs-1.3.5.zip +unzip mujs-1.3.5.zip +cd mujs-1.3.5 make release cd .. -cp mujs-1.3.4/build/release/libmujs.a mujs-1.3.4/mujs.h . +cp mujs-1.3.5/build/release/libmujs.a mujs-1.3.5/mujs.h . curl -LO https://docs.sheetjs.com/mujs/SheetJSMu.c diff --git a/tests/engines-nashorn.sh b/tests/engines-nashorn.sh index 614a6b4..2583c5d 100755 --- a/tests/engines-nashorn.sh +++ b/tests/engines-nashorn.sh @@ -18,7 +18,7 @@ curl -L -o asm-analysis-9.5.jar "https://search.maven.org/remotecontent?filepath curl -L -o asm-util-9.5.jar "https://search.maven.org/remotecontent?filepath=org/ow2/asm/asm-util/9.5/asm-util-9.5.jar" # Standalone Nashorn -for n in {15..22}; do +for n in {15..23}; do echo $n export JAVA_HOME=`/usr/libexec/java_home -v $n` echo $JAVA_HOME diff --git a/tests/engines-quickjs.sh b/tests/engines-quickjs.sh new file mode 100755 index 0000000..39cdd5a --- /dev/null +++ b/tests/engines-quickjs.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# https://docs.sheetjs.com/docs/demos/engines/quickjs +cd /tmp +rm -rf sheetjs-quickjs +mkdir -p sheetjs-quickjs +cd sheetjs-quickjs + +git clone https://github.com/bellard/quickjs +cd quickjs +git checkout 6e2e68f +make +cd .. + +cp quickjs/libquickjs.a . +cp quickjs/quickjs.h . + +curl -LO https://docs.sheetjs.com/quickjs/sheetjs.quick.c + +gcc -o sheetjs.quick -Wall sheetjs.quick.c libquickjs.a -lm + +curl -LO https://cdn.sheetjs.com/xlsx-latest/package/dist/xlsx.full.min.js +curl -LO https://docs.sheetjs.com/pres.numbers + +./sheetjs.quick pres.numbers