From 255ad00bf47ea0686c46f04c72f5f509051be24e Mon Sep 17 00:00:00 2001 From: SheetJS Date: Mon, 31 Mar 2025 22:57:45 -0400 Subject: [PATCH] darwin-x64 refresh --- docz/data/engines.xls | 6 +- .../01-installation/07-bun.md | 2 +- docz/docs/03-demos/01-math/21-pandas.md | 4 +- docz/docs/03-demos/03-net/01-network/index.md | 94 ++++++++----- .../docs/03-demos/03-net/08-headless/index.md | 2 +- docz/docs/03-demos/03-net/09-dom.md | 2 +- .../docs/03-demos/17-mobile/01-reactnative.md | 4 - docz/docs/03-demos/17-mobile/05-capacitor.md | 2 - docz/docs/03-demos/17-mobile/06-flutter.md | 132 +++++++++++++++--- docz/docs/03-demos/19-desktop/01-electron.md | 4 +- docz/docs/03-demos/19-desktop/02-nwjs.md | 2 +- docz/docs/03-demos/19-desktop/03-wails.md | 2 +- docz/docs/03-demos/19-desktop/04-tauri.md | 2 +- .../docs/03-demos/19-desktop/05-neutralino.md | 2 +- .../03-demos/19-desktop/06-reactnative.md | 19 +-- .../03-demos/32-extensions/09-mathematica.md | 6 +- docz/docs/03-demos/32-extensions/11-matlab.md | 4 +- docz/docs/03-demos/42-engines/01-duktape.md | 23 ++- docz/docs/03-demos/42-engines/02-v8.md | 27 ++-- docz/docs/03-demos/42-engines/04-jsc.md | 3 +- docz/docs/03-demos/42-engines/05-jint.md | 4 +- docz/docs/03-demos/42-engines/06-goja.md | 2 +- docz/docs/03-demos/42-engines/08-quickjs.md | 14 +- docz/docs/03-demos/42-engines/09-hermes.md | 38 ++++- docz/docs/03-demos/42-engines/15-rb.md | 2 +- docz/docs/03-demos/42-engines/20-chakra.md | 40 +++++- docz/docs/03-demos/42-engines/21-boa.md | 46 ++---- docz/docs/03-demos/42-engines/22-perl.md | 2 +- .../03-demos/42-engines/23-jerryscript.md | 2 +- docz/docs/03-demos/42-engines/25-mujs.md | 12 +- docz/docs/03-demos/42-engines/26-jurassic.md | 2 +- docz/docs/09-miscellany/05-contributing.md | 11 +- docz/static/boa/main.rs | 40 +++--- docz/static/flutter/ios.png | Bin 81433 -> 90442 bytes docz/static/hermes/Makefile | 4 +- 35 files changed, 354 insertions(+), 207 deletions(-) diff --git a/docz/data/engines.xls b/docz/data/engines.xls index a677787..eb67021 100644 --- a/docz/data/engines.xls +++ b/docz/data/engines.xls @@ -300,7 +300,7 @@ Duktape Rust - + @@ -350,7 +350,7 @@ V8 Python - + @@ -370,7 +370,7 @@ JSC Rust - + 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 1ba3514..b1bde0a 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.39` | 2024-12-17 | +| `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-arm` | `1.2.3` | 2025-02-23 | diff --git a/docz/docs/03-demos/01-math/21-pandas.md b/docz/docs/03-demos/01-math/21-pandas.md index a783654..00f2735 100644 --- a/docz/docs/03-demos/01-math/21-pandas.md +++ b/docz/docs/03-demos/01-math/21-pandas.md @@ -40,7 +40,7 @@ This demo was tested in the following deployments: | Architecture | JS Engine | Pandas | Python | Date | |:-------------|:----------------|:-------|:-------|:-----------| -| `darwin-x64` | Duktape `2.7.0` | 2.2.3 | 3.13.1 | 2024-12-31 | +| `darwin-x64` | Duktape `2.7.0` | 2.2.3 | 3.13.1 | 2025-03-31 | | `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.8 | 2024-12-21 | | `win11-arm` | Duktape `2.7.0` | 2.2.3 | 3.13.2 | 2025-02-23 | @@ -527,7 +527,7 @@ This demo was tested in the following deployments: | Architecture | JS Engine | Polars | Python | Date | |:-------------|:----------------|:--------|:-------|:-----------| -| `darwin-x64` | Duktape `2.7.0` | 1.18.0 | 3.13.1 | 2024-12-31 | +| `darwin-x64` | Duktape `2.7.0` | 1.26.0 | 3.13.1 | 2025-03-31 | | `darwin-arm` | Duktape `2.7.0` | 1.26.0 | 3.13.2 | 2025-03-30 | | `win11-x64` | Duktape `2.7.0` | 1.17.1 | 3.11.8 | 2024-12-21 | | `win11-arm` | Duktape `2.7.0` | 1.23.0 | 3.13.2 | 2025-02-23 | diff --git a/docz/docs/03-demos/03-net/01-network/index.md b/docz/docs/03-demos/03-net/01-network/index.md index 2e1c5be..87ef322 100644 --- a/docz/docs/03-demos/03-net/01-network/index.md +++ b/docz/docs/03-demos/03-net/01-network/index.md @@ -402,18 +402,18 @@ This demo was tested in the following environments: | NodeJS | Date | Workarounds | |:-----------|:-----------|:-------------------------------| -| `0.10.48` | 2024-06-21 | `NODE_TLS_REJECT_UNAUTHORIZED` | -| `0.12.18` | 2024-06-21 | `NODE_TLS_REJECT_UNAUTHORIZED` | -| `4.9.1` | 2024-06-21 | `NODE_TLS_REJECT_UNAUTHORIZED` | -| `6.17.1` | 2024-06-21 | `NODE_TLS_REJECT_UNAUTHORIZED` | -| `8.17.0` | 2024-06-21 | `NODE_TLS_REJECT_UNAUTHORIZED` | -| `10.24.1` | 2024-06-21 | | -| `12.22.12` | 2024-06-21 | | -| `14.21.3` | 2024-06-21 | | -| `16.20.2` | 2024-06-21 | | -| `18.20.8` | 2025-03-30 | | -| `20.18.0` | 2025-03-30 | | -| `22.14.0` | 2025-03-30 | | +| `0.10.48` | 2025-03-31 | `NODE_TLS_REJECT_UNAUTHORIZED` | +| `0.12.18` | 2025-03-31 | `NODE_TLS_REJECT_UNAUTHORIZED` | +| `4.9.1` | 2025-03-31 | `NODE_TLS_REJECT_UNAUTHORIZED` | +| `6.17.1` | 2025-03-31 | `NODE_TLS_REJECT_UNAUTHORIZED` | +| `8.17.0` | 2025-03-31 | `NODE_TLS_REJECT_UNAUTHORIZED` | +| `10.24.1` | 2025-03-31 | | +| `12.22.12` | 2025-03-31 | | +| `14.21.3` | 2025-03-31 | | +| `16.20.2` | 2025-03-31 | | +| `18.20.8` | 2025-03-31 | | +| `20.19.0` | 2025-03-31 | | +| `22.14.0` | 2025-03-31 | | The `NODE_TLS_REJECT_UNAUTHORIZED` workaround sets the value to `'0'`: @@ -444,7 +444,7 @@ If successful, the script will print CSV contents of the test file. :::caution pass -For older versions of NodeJS, the script will fail due to a certificate error. +For older versions of NodeJS, the script may fail due to a certificate error. The error can be suppressed by prepending the following line to the script: ```js title="SheetJSHTTPSGet.js (add to top)" @@ -568,20 +568,20 @@ request(url, {encoding: null}, function(err, res, data) { This demo was tested in the following environments: -| NodeJS | Date | Workarounds | -|:-----------|:-----------|:-------------------------------| -| `0.10.48` | 2024-06-21 | `NODE_TLS_REJECT_UNAUTHORIZED` | -| `0.12.18` | 2024-06-21 | `NODE_TLS_REJECT_UNAUTHORIZED` | -| `4.9.1` | 2024-06-21 | `NODE_TLS_REJECT_UNAUTHORIZED` | -| `6.17.1` | 2024-06-21 | `NODE_TLS_REJECT_UNAUTHORIZED` | -| `8.17.0` | 2024-06-21 | `NODE_TLS_REJECT_UNAUTHORIZED` | -| `10.24.1` | 2024-06-21 | | -| `12.22.12` | 2024-06-21 | | -| `14.21.3` | 2024-06-21 | | -| `16.20.2` | 2024-06-21 | | -| `18.20.8` | 2025-03-30 | | -| `20.18.0` | 2025-03-30 | | -| `22.14.0` | 2025-03-30 | | +| NodeJS | `request` | Date | Workarounds | +|:-----------|:----------|:-----------|:-------------------------------| +| `0.10.48` | `2.22.0` | 2025-03-31 | `NODE_TLS_REJECT_UNAUTHORIZED` | +| `0.12.18` | `2.22.0` | 2025-03-31 | `NODE_TLS_REJECT_UNAUTHORIZED` | +| `4.9.1` | `2.22.0` | 2025-03-31 | `NODE_TLS_REJECT_UNAUTHORIZED` | +| `6.17.1` | `2.88.2` | 2025-03-31 | `NODE_TLS_REJECT_UNAUTHORIZED` | +| `8.17.0` | `2.88.2` | 2025-03-31 | `NODE_TLS_REJECT_UNAUTHORIZED` | +| `10.24.1` | `2.88.2` | 2025-03-31 | | +| `12.22.12` | `2.88.2` | 2025-03-31 | | +| `14.21.3` | `2.88.2` | 2025-03-31 | | +| `16.20.2` | `2.88.2` | 2025-03-31 | | +| `18.20.8` | `2.88.2` | 2025-03-31 | | +| `20.19.0` | `2.88.2` | 2025-03-31 | | +| `22.14.0` | `2.88.2` | 2025-03-31 | | The `NODE_TLS_REJECT_UNAUTHORIZED` workaround sets the value to `'0'`: @@ -612,7 +612,7 @@ If successful, the script will print CSV contents of the test file. :::caution pass -For older versions of NodeJS, the script will fail due to a certificate error. +For older versions of NodeJS, the script may fail due to a certificate error. The error can be suppressed by prepending the following line to the script: ```js title="SheetJSRequest.js (add to top)" @@ -647,13 +647,16 @@ This demo was tested in the following environments: | NodeJS | Axios | Date | |:-----------|:-------|:-----------| -| `10.24.1` | 0.28.1 | 2024-06-21 | -| `12.22.12` | 1.7.2 | 2024-06-21 | -| `14.21.3` | 1.7.2 | 2024-06-21 | -| `16.20.2` | 1.7.2 | 2024-06-21 | -| `18.20.8` | 1.8.4 | 2025-03-30 | -| `20.18.0` | 1.8.4 | 2025-03-30 | -| `22.14.0` | 1.8.4 | 2025-03-30 | +| `4.9.1` | 0.22.0 | 2025-03-31 | +| `6.17.1` | 0.22.0 | 2025-03-31 | +| `8.17.0` | 0.28.1 | 2025-03-31 | +| `10.24.1` | 0.28.1 | 2025-03-31 | +| `12.22.12` | 1.8.4 | 2025-03-31 | +| `14.21.3` | 1.8.4 | 2025-03-31 | +| `16.20.2` | 1.8.4 | 2025-03-31 | +| `18.20.8` | 1.8.4 | 2025-03-31 | +| `20.19.0` | 1.8.4 | 2025-03-31 | +| `22.14.0` | 1.8.4 | 2025-03-31 | ::: @@ -694,6 +697,27 @@ node SheetJSAxios.js If successful, the script will print CSV contents of the test file. +:::caution pass + +Legacy NodeJS versions do not support `async` functions. The `async` function +must be manually translated to a `then` chain: + +```js title="SheetJSAxios.js (ES5)" +const XLSX = require("xlsx"), axios = require("axios"); + +var url = 'https://docs.sheetjs.com/pres.numbers'; + +axios(url, {responseType:'arraybuffer'}).then(function(res) { + /* at this point, res.data is a Buffer */ + var wb = XLSX.read(res.data, {type: "buffer"}); + /* print the first worksheet to console */ + var ws = wb.Sheets[wb.SheetNames[0]]; + console.log(XLSX.utils.sheet_to_csv(ws)); +}); +``` + +::: + ## Other Platforms 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 54faa83..7074605 100644 --- a/docz/docs/03-demos/03-net/08-headless/index.md +++ b/docz/docs/03-demos/03-net/08-headless/index.md @@ -332,7 +332,7 @@ This demo was tested in the following environments: | Architecture | PhantomJS | Date | |:-------------|:----------|:-----------| -| `darwin-x64` | `2.1.1` | 2024-12-17 | +| `darwin-x64` | `2.1.1` | 2025-03-31 | | `win11-x64` | `2.1.1` | 2025-01-19 | | `linux-x64` | `2.1.1` | 2025-01-07 | diff --git a/docz/docs/03-demos/03-net/09-dom.md b/docz/docs/03-demos/03-net/09-dom.md index d9aa18b..a6c5b5f 100644 --- a/docz/docs/03-demos/03-net/09-dom.md +++ b/docz/docs/03-demos/03-net/09-dom.md @@ -372,7 +372,7 @@ This demo was tested in the following deployments: | Architecture | DenoDOM | Deno | Date | |:-------------|:--------|:-------|:-----------| -| `darwin-x64` | 0.1.48 | 2.0.4 | 2024-10-30 | +| `darwin-x64` | 0.1.48 | 2.2.6 | 2025-03-31 | | `darwin-arm` | 0.1.48 | 2.0.4 | 2024-10-30 | | `win11-x64` | 0.1.48 | 2.0.4 | 2024-10-30 | | `win11-arm` | 0.1.48 | 2.2.1 | 2025-02-23 | diff --git a/docz/docs/03-demos/17-mobile/01-reactnative.md b/docz/docs/03-demos/17-mobile/01-reactnative.md index 1268f04..ec8764a 100644 --- a/docz/docs/03-demos/17-mobile/01-reactnative.md +++ b/docz/docs/03-demos/17-mobile/01-reactnative.md @@ -239,8 +239,6 @@ This demo was tested in the following environments: | OS | Device | RN | Dev Platform | Date | |:-----------|:--------------------|:---------|:-------------|:-----------| -| Android 34 | Pixel 3a | `0.76.5` | `darwin-x64` | 2024-12-31 | -| iOS 18.2 | iPhone 16 Pro | `0.76.5` | `darwin-x64` | 2024-12-31 | | Android 34 | Pixel 3a | `0.76.8` | `darwin-arm` | 2025-03-26 | | iOS 18.3 | iPhone 16 Pro | `0.76.8` | `darwin-arm` | 2025-03-26 | | Android 35 | Pixel 9 | `0.76.5` | `win11-x64` | 2024-12-22 | @@ -1096,8 +1094,6 @@ This demo was tested in the following environments: | OS | Device | RN | Dev Platform | Date | |:-----------|:------------------|:---------|:-------------|:-----------| -| Android 34 | Pixel 3a | `0.76.5` | `darwin-x64` | 2024-12-31 | -| iOS 18.2 | iPhone 16 Pro | `0.76.5` | `darwin-x64` | 2024-12-31 | | Android 34 | Pixel 3a | `0.76.5` | `darwin-arm` | 2025-01-05 | | iOS 18.2 | iPhone 16 Pro | `0.76.5` | `darwin-arm` | 2025-01-05 | | Android 35 | Pixel 9 | `0.76.5` | `win11-x64` | 2024-12-22 | diff --git a/docz/docs/03-demos/17-mobile/05-capacitor.md b/docz/docs/03-demos/17-mobile/05-capacitor.md index 4509815..9a7a662 100644 --- a/docz/docs/03-demos/17-mobile/05-capacitor.md +++ b/docz/docs/03-demos/17-mobile/05-capacitor.md @@ -51,8 +51,6 @@ This demo was tested in the following environments: | OS | Device | CapacitorJS + FS | Dev Platform | Date | |:-----------|:--------------------|:------------------|:-------------|:-----------| -| Android 35 | Pixel 9 Pro | `6.2.0` / `6.0.3` | `darwin-x64` | 2025-01-19 | -| iOS 18.2 | iPhone 16 Pro Max | `6.2.0` / `6.0.3` | `darwin-x64` | 2025-01-19 | | Android 34 | Pixel 3a | `7.1.0` / `7.0.0` | `darwin-arm` | 2025-03-30 | | iOS 18.2 | iPhone 16 Pro Max | `7.1.0` / `7.0.0` | `darwin-arm` | 2025-03-30 | | Android 35 | Pixel 9 | `6.2.0` / `6.0.2` | `win11-x64` | 2024-12-21 | diff --git a/docz/docs/03-demos/17-mobile/06-flutter.md b/docz/docs/03-demos/17-mobile/06-flutter.md index d54ee98..271a1cf 100644 --- a/docz/docs/03-demos/17-mobile/06-flutter.md +++ b/docz/docs/03-demos/17-mobile/06-flutter.md @@ -50,15 +50,15 @@ This demo was tested in the following environments: | OS | Device | Dart | Flutter | Date | |:-----------|:------------------|:--------|:---------|:-----------| -| Android 30 | NVIDIA Shield | `3.4.3` | `3.22.2` | 2024-06-09 | -| iOS 15.1 | iPad Pro | `3.4.3` | `3.22.2` | 2024-06-09 | +| Android 34 | NVIDIA Shield | `3.7.2` | `3.29.2` | 2025-03-31 | +| iOS 15.6 | iPhone 13 Pro Max | `3.7.2` | `3.29.2` | 2025-03-31 | **Simulators** | OS | Device | Dart | Flutter | Dev Platform | Date | |:-----------|:------------------|:--------|:---------|:-------------|:-----------| -| Android 34 | Pixel 3a | `3.4.3` | `3.22.2` | `darwin-x64` | 2024-06-09 | -| iOS 17.5 | iPhone 15 Pro Max | `3.4.3` | `3.22.2` | `darwin-x64` | 2024-06-09 | +| Android 35 | Pixel 9 Pro XL | `3.7.2` | `3.29.2` | `darwin-x64` | 2025-03-31 | +| iOS 18.3 | iPhone 16 Pro Max | `3.7.2` | `3.29.2` | `darwin-x64` | 2025-03-31 | | Android 35 | Pixel 3a | `3.5.0` | `3.24.0` | `win11-x64` | 2024-08-10 | ::: @@ -236,8 +236,8 @@ Run `flutter doctor` and confirm the following items are checked:
-[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
-[✓] Xcode - develop for iOS and macOS (Xcode 15.4)
+[✓] Android toolchain - develop for Android devices (Android SDK version 36.0.0)
+[✓] Xcode - develop for iOS and macOS (Xcode 16.2)
 
@@ -351,12 +351,17 @@ Click "OK" in each window (3 windows) and restart your computer. -Run `flutter emulators` and look for `android` and (on macOS only) `ios` -emulators. +List all available emulators: + +```bash +flutter emulators +``` +There should be at least one `android` emulator: + ``` Id • Name • Manufacturer • Platform @@ -366,16 +371,20 @@ Pixel_3a_API_35 • Pixel 3a API 35 • Google • android -``` -Id • Name • Manufacturer • Platform +There should be at least one `android` emulator and one `ios` simulator: -apple_ios_simulator • iOS Simulator • Apple • ios -Pixel_3a_API_34 • Pixel 3a API 34 • Google • android +``` +Id • Name • Manufacturer • Platform + +apple_ios_simulator • iOS Simulator • Apple • ios +Pixel_9_Pro_XL_API_35 • Pixel 9 Pro XL API 35 • Google • android ``` +There should be at least one `android` emulator: + ``` Id • Name • Manufacturer • Platform @@ -420,16 +429,18 @@ List the available emulators with `flutter emulators`: % flutter emulators 2 available emulators: -apple_ios_simulator • iOS Simulator • Apple • ios -Pixel_3a_API_34 • Pixel 3a API 34 • Google • android -^^^^^^^^^^^^^^^--- the first column is the name +Id • Name • Manufacturer • Platform + +apple_ios_simulator • iOS Simulator • Apple • ios +Pixel_9_Pro_XL_API_35 • Pixel 9 Pro XL API 35 • Google • android +^^^^^^^^^^^^^^^^^^^^^--- the first column is the name for `emulator avd` ``` The first column shows the name that should be passed to `emulator -avd`. In a -previous test, the name was `Pixel_3a_API_34` and the launch command was: +previous test, the name was `Pixel_9_Pro_XL_API_35` and the launch command was: ```bash -emulator -avd Pixel_3a_API_34 +emulator -avd Pixel_9_Pro_XL_API_35 ``` :::note pass @@ -439,7 +450,7 @@ On macOS, `~/Library/Android/sdk/emulator/` is the typical location for the ```bash export PATH="$PATH":~/Library/Android/sdk/emulator -emulator -avd Pixel_3a_API_34 +emulator -avd Pixel_9_Pro_XL_API_35 ``` ::: @@ -634,7 +645,7 @@ flutter -v -d emulator-5554 run -:::info pass +:::info Troubleshooting In some demo runs, the build failed with an Android SDK error: @@ -662,6 +673,57 @@ Searching for `minSdkVersion` should reveal the following line: minSdkVersion 21 ``` +--- + +In some demo runs, the build failed with an Android NDK error: + +``` +Your project is configured with Android NDK 26.3.11579264, but the following plugin(s) depend on a different Android NDK version: +- flutter_js requires Android NDK 27.0.12077973 +Fix this issue by using the highest Android NDK version (they are backward compatible). +Add the following to /.../android/app/build.gradle.kts: + + android { + ndkVersion = "27.0.12077973" + ... + } +``` + +This was fixed by editing `android/app/build.gradle.kts`. + +Searching for `ndkVersion` should reveal the following line: + +```text title="android\app\build.gradle.kts" + ndkVersion = flutter.ndkVersion +``` + +`flutter.ndkVersion` should be replaced with `27.0.12077973`: + +```text title="android\app\build.gradle.kts" + ndkVersion = "27.0.12077973" +``` + +--- + +In some demo runs, the build failed with an Android namespace error: + +``` +A problem occurred configuring project ':flutter_js'. +> Could not create an instance of type com.android.build.api.variant.impl.LibraryVariantBuilderImpl. + > Namespace not specified. Specify a namespace in the module's build file: /Users/sheetjs/.pub-cache/hosted/pub.dev/flutter_js-0.8.2/android/build.gradle. See https://d.android.com/r/tools/upgrade-assistant/set-namespace for information about setting the namespace. +``` + +This affects `flutter_js` version `0.8.2`. + +The file (`flutter_js-0.8.2/android/build.gradle`) should be manually edited. In +the `android` block, add a `namespace` field: + +```text title="cached flutter_js android/build.gradle (add highlighted line)" +android { +// highlight-next-line + namespace "io.abner.flutter_js" +``` + ::: 11) Close the Android emulator. @@ -704,6 +766,28 @@ The list should include the device: flutter build apk --release ``` +:::info Troubleshooting + +In some demo runs, the build failed with an Android resource error: + +``` +Execution failed for task ':flutter_js:verifyReleaseResources'. +> A failure occurred while executing com.android.build.gradle.tasks.VerifyLibraryResourcesTask$Action + > Android resource linking failed + ERROR: /private/tmp/sheetjs_flutter/build/flutter_js/intermediates/merged_res/release/mergeReleaseResources/values/values.xml:194: AAPT: error: resource android:attr/lStar not found. +``` + +The file (`flutter_js-0.8.2/android/build.gradle`) should be manually edited. In +the `android` block, force the `compileSdkVersion` to be `31`: + +```text title="cached flutter_js android/build.gradle (add highlighted line)" +android { +// highlight-next-line + compileSdkVersion 31 +``` + +::: + 17) Install on the Android device: ```bash @@ -766,6 +850,16 @@ device will ask for permission: Tap "OK" to continue. +:::info pass + +In some test runs, the app requested for local network access: + +> "Sheetjs Flutter" would like to find and connect to devices on your local network. + +Local network access is not required for the demo. Select "Don't Allow". + +::: + :::caution pass When this demo was last tested, the build failed with an error: diff --git a/docz/docs/03-demos/19-desktop/01-electron.md b/docz/docs/03-demos/19-desktop/01-electron.md index 4018ac9..711e139 100644 --- a/docz/docs/03-demos/19-desktop/01-electron.md +++ b/docz/docs/03-demos/19-desktop/01-electron.md @@ -207,8 +207,8 @@ This demo was tested in the following environments: | OS and Version | Architecture | Electron | Date | |:---------------|:-------------|:---------|:-----------| -| macOS 15.2 | `darwin-x64` | `33.2.1` | 2024-12-31 | -| macOS 14.5 | `darwin-arm` | `35.1.2` | 2025-03-38 | +| macOS 15.3 | `darwin-x64` | `35.1.2` | 2025-03-31 | +| macOS 14.5 | `darwin-arm` | `35.1.2` | 2025-03-30 | | Windows 11 | `win11-x64` | `33.2.1` | 2025-02-11 | | Windows 11 | `win11-arm` | `33.2.1` | 2025-02-23 | | Linux (HoloOS) | `linux-x64` | `33.2.1` | 2025-01-02 | diff --git a/docz/docs/03-demos/19-desktop/02-nwjs.md b/docz/docs/03-demos/19-desktop/02-nwjs.md index 3579dc8..1cb2703 100644 --- a/docz/docs/03-demos/19-desktop/02-nwjs.md +++ b/docz/docs/03-demos/19-desktop/02-nwjs.md @@ -121,7 +121,7 @@ This demo was tested in the following environments: | OS and Version | Architecture | NW.js | Date | Notes | |:---------------|:-------------|:---------|:-----------|:---------------------| -| macOS 15.2 | `darwin-x64` | `0.94.0` | 2024-12-31 | | +| macOS 15.3.2 | `darwin-x64` | `0.94.0` | 2025-03-31 | | | macOS 14.5 | `darwin-arm` | `0.94.0` | 2025-03-30 | | | Windows 11 | `win11-x64` | `0.94.0` | 2024-12-19 | | | Windows 11 | `win11-arm` | `0.94.0` | 2025-02-23 | | diff --git a/docz/docs/03-demos/19-desktop/03-wails.md b/docz/docs/03-demos/19-desktop/03-wails.md index 34b76e2..c04f28c 100644 --- a/docz/docs/03-demos/19-desktop/03-wails.md +++ b/docz/docs/03-demos/19-desktop/03-wails.md @@ -297,7 +297,7 @@ This demo was tested in the following environments: | OS and Version | Architecture | Wails | Date | |:---------------|:-------------|:----------|:-----------| -| macOS 15.2 | `darwin-x64` | `v2.9.2` | 2024-12-31 | +| macOS 15.3.2 | `darwin-x64` | `v2.10.1` | 2025-03-31 | | macOS 14.5 | `darwin-arm` | `v2.10.1` | 2025-03-30 | | Windows 11 | `win11-x64` | `v2.9.2` | 2024-12-21 | | Windows 11 | `win11-arm` | `v2.10` | 2025-02-23 | diff --git a/docz/docs/03-demos/19-desktop/04-tauri.md b/docz/docs/03-demos/19-desktop/04-tauri.md index 4ef7889..abe943e 100644 --- a/docz/docs/03-demos/19-desktop/04-tauri.md +++ b/docz/docs/03-demos/19-desktop/04-tauri.md @@ -353,7 +353,7 @@ This demo was tested in the following environments: | OS and Version | Architecture | Tauri | Date | |:---------------|:-------------|:----------|:-----------| -| macOS 15.2 | `darwin-x64` | `v1.6.0` | 2024-12-31 | +| macOS 15.3.2 | `darwin-x64` | `v1.6.0` | 2025-03-31 | | macOS 14.5 | `darwin-arm` | `v1.6.0` | 2025-03-30 | | Windows 11 | `win11-x64` | `v1.6.0` | 2024-12-21 | | Windows 11 | `win11-arm` | `v1.6.0` | 2025-02-23 | diff --git a/docz/docs/03-demos/19-desktop/05-neutralino.md b/docz/docs/03-demos/19-desktop/05-neutralino.md index 14a8935..7596564 100644 --- a/docz/docs/03-demos/19-desktop/05-neutralino.md +++ b/docz/docs/03-demos/19-desktop/05-neutralino.md @@ -192,7 +192,7 @@ This demo was tested in the following environments: | OS and Version | Architecture | Server | Client | Date | |:---------------|:-------------|:---------|:---------|:-----------| -| macOS 15.2 | `darwin-x64` | `5.5.0` | `5.5.0` | 2024-12-31 | +| macOS 15.3.2 | `darwin-x64` | `6.0.0` | `6.0.0` | 2025-03-31 | | macOS 14.5 | `darwin-arm` | `6.0.0` | `6.0.0` | 2025-03-30 | | Windows 11 | `win11-x64` | `5.5.0` | `5.5.0` | 2024-12-20 | | Windows 11 | `win11-arm` | `5.6.0` | `5.6.0` | 2025-02-23 | diff --git a/docz/docs/03-demos/19-desktop/06-reactnative.md b/docz/docs/03-demos/19-desktop/06-reactnative.md index f9bcc2f..46af495 100644 --- a/docz/docs/03-demos/19-desktop/06-reactnative.md +++ b/docz/docs/03-demos/19-desktop/06-reactnative.md @@ -50,7 +50,7 @@ This demo was tested in the following environments: | Windows 11 C# | `win11-x64` | `v0.75.11` | 2024-12-22 | | Windows 11 C++ | `win11-arm` | `v0.77.2` | 2025-02-23 | | Windows 11 C# | `win11-arm` | `v0.77.2` | 2025-02-23 | -| MacOS 14.7 | `darwin-x64` | `v0.75.13` | 2024-10-26 | +| MacOS 15.3.2 | `darwin-x64` | `v0.76.7` | 2025-03-31 | | MacOS 14.5 | `darwin-arm` | `v0.75.16` | 2024-12-22 | ::: @@ -675,26 +675,15 @@ select `pres.xlsx` . The app will refresh and display the data from the file. ## macOS Demo -:::info pass - -When the demo was last tested, the official website asserted that the React -Native for macOS required React Native `0.71`. - -**The official documentation is out of date.** - -There exist official `react-native-macos` releases compatible with RN `0.75` - -::: - 0) Follow the "Setting up the development environment"[^6] guide in the React Native documentation for "React Native CLI Quickstart" + "macOS" + "iOS". ### Project Setup -1) Create a new React Native project using React Native `0.75.4`: +1) Create a new React Native project using React Native `0.76.8`: ```bash -npx -y @react-native-community/cli init SheetJSmacOS --version 0.75.4 +npx -y @react-native-community/cli init SheetJSmacOS --version 0.76.8 cd SheetJSmacOS ``` @@ -714,6 +703,7 @@ scheme is fundamentally different from `react-native`.[^5] ```bash npx -y react-native-macos-init --no-telemetry +cd macos; pod install; cd .. ``` :::caution pass @@ -827,7 +817,6 @@ A) Copy the highlighted line and paste under `/* Begin PBXBuildFile section */`: /* Begin PBXBuildFile section */ // highlight-next-line 4717DC6A28CC499A00A9BE56 /* RCTDocumentPicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 4717DC6928CC499A00A9BE56 /* RCTDocumentPicker.m */; }; - 2C5F4006FF53E87968033016 /* libPods-SheetJSmacOS-macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CC1DD40D19AD16D57CAA4CB6 /* libPods-SheetJSmacOS-macOS.a */; }; ``` ::: diff --git a/docz/docs/03-demos/32-extensions/09-mathematica.md b/docz/docs/03-demos/32-extensions/09-mathematica.md index 99f22f1..257653a 100644 --- a/docz/docs/03-demos/32-extensions/09-mathematica.md +++ b/docz/docs/03-demos/32-extensions/09-mathematica.md @@ -29,7 +29,7 @@ This demo was tested by SheetJS users in the following deployments: | Architecture | Version | Date | |:-------------|:--------|:-----------| -| `darwin-x64` | `14.0` | 2024-06-05 | +| `darwin-x64` | `14.1` | 2025-03-31 | | `win11-x64` | `14.0` | 2024-12-19 | ::: @@ -181,12 +181,12 @@ This demo tests the NodeJS external engine and dedicated command line tools. ### NodeJS Engine -0) Install NodeJS. When the demo was tested, version `20.14.0` was installed. +0) Install NodeJS. When the demo was tested, version `20.19.0` was installed. 1) Install dependencies in the Home folder (`~` or `$HOME` or `%HOMEPATH%`): {`\ -npm i --save https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz zeromq@6.1.2`} +npm i --save https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz zeromq@6.4.0`} 2) Open a new Mathematica Notebook and register NodeJS. When the example was diff --git a/docz/docs/03-demos/32-extensions/11-matlab.md b/docz/docs/03-demos/32-extensions/11-matlab.md index 7e09c4c..3088e3d 100644 --- a/docz/docs/03-demos/32-extensions/11-matlab.md +++ b/docz/docs/03-demos/32-extensions/11-matlab.md @@ -29,7 +29,7 @@ This demo was tested by SheetJS users in the following deployments: | Architecture | Version | Date | |:-------------|:--------|:-----------| -| `darwin-x64` | R2024a | 2024-06-09 | +| `darwin-x64` | R2024b | 2025-03-31 | | `win11-x64` | R2024b | 2024-12-21 | ::: @@ -235,7 +235,7 @@ run in the macOS Terminal or Windows PowerShell: {`\ npm i --save https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz exit-on-epipe commander@2 curl -LO https://docs.sheetjs.com/cli/xlsx-cli.js -npx nexe -t 14.15.3 xlsx-cli.js`} +npx -y nexe -t 14.15.3 xlsx-cli.js`} 2) Download https://docs.sheetjs.com/pres.numbers to the workspace folder: diff --git a/docz/docs/03-demos/42-engines/01-duktape.md b/docz/docs/03-demos/42-engines/01-duktape.md index 1ddf130..4261ffe 100644 --- a/docz/docs/03-demos/42-engines/01-duktape.md +++ b/docz/docs/03-demos/42-engines/01-duktape.md @@ -128,7 +128,7 @@ This demo was tested in the following deployments: | Architecture | Version | Date | |:-------------|:--------|:-----------| -| `darwin-x64` | `2.7.0` | 2024-12-31 | +| `darwin-x64` | `2.7.0` | 2025-03-31 | | `darwin-arm` | `2.7.0` | 2025-02-13 | | `win11-x64` | `2.7.0` | 2024-12-20 | | `win11-arm` | `2.7.0` | 2025-02-23 | @@ -405,7 +405,7 @@ This demo was tested in the following deployments: | Architecture | Version | PHP | Date | |:-------------|:--------|:---------|:-----------| -| `darwin-x64` | `2.7.0` | `8.4.2` | 2024-12-31 | +| `darwin-x64` | `2.7.0` | `8.4.2` | 2025-03-31 | | `darwin-arm` | `2.7.0` | `8.4.4` | 2025-02-25 | | `linux-x64` | `2.7.0` | `8.3.3` | 2024-12-31 | | `linux-arm` | `2.7.0` | `8.2.26` | 2025-02-15 | @@ -547,7 +547,7 @@ This demo was tested in the following deployments: | Architecture | Version | Python | Date | |:-------------|:--------|:---------|:-----------| -| `darwin-x64` | `2.7.0` | `3.13.1` | 2024-12-31 | +| `darwin-x64` | `2.7.0` | `3.13.1` | 2025-03-31 | | `darwin-arm` | `2.7.0` | `3.12.3` | 2025-03-30 | | `linux-x64` | `2.7.0` | `3.11.7` | 2024-12-31 | | `linux-arm` | `2.7.0` | `3.11.2` | 2025-02-15 | @@ -784,7 +784,7 @@ This demo was tested in the following deployments: | Architecture | Version | Zig | Date | |:-------------|:--------|:---------|:-----------| -| `darwin-x64` | `2.7.0` | `0.13.0` | 2024-12-31 | +| `darwin-x64` | `2.7.0` | `0.14.0` | 2025-03-31 | | `darwin-arm` | `2.7.0` | `0.13.0` | 2025-02-13 | | `win11-x64` | `2.7.0` | `0.13.0` | 2024-12-20 | | `win11-arm` | `2.7.0` | `0.13.0` | 2025-02-23 | @@ -803,8 +803,8 @@ mkdir sheetjs-zig cd sheetjs-zig ``` -1) Download Zig 0.13.0 from https://ziglang.org/download/ and extract to the -project folder. +1) Download the Zig tarball from https://ziglang.org/download/ and extract to +the project folder. @@ -812,7 +812,7 @@ project folder. For X64 Mac: ```bash -curl -LO https://ziglang.org/download/0.13.0/zig-macos-x86_64-0.13.0.tar.xz +curl -LO https://ziglang.org/download/0.14.0/zig-macos-x86_64-0.14.0.tar.xz tar -xzf zig-macos-*.tar.xz ``` @@ -933,10 +933,8 @@ mv *.js src`} ```zig title="build.zig (add highlighted lines)" const exe = b.addExecutable(.{ - .name = "sheetjs-zig", - .root_source_file = b.path("src/main.zig"), - .target = target, - .optimize = optimize, + .name = "sheetjs_zig", + .root_module = exe_mod, }); // highlight-start exe.addCSourceFile(.{ .file = b.path("duktape-2.7.0/src/duktape.c"), .flags = &.{ "-std=c99", "-fno-sanitize=undefined" } }); @@ -1019,7 +1017,7 @@ This demo was tested in the following deployments: | Architecture | Version | Date | |:-------------|:--------|:-----------| -| `darwin-x64` | `2.2.0` | 2024-12-31 | +| `darwin-x64` | `2.2.0` | 2025-03-31 | | `darwin-arm` | `2.2.0` | 2025-03-30 | | `linux-x64` | `2.2.0` | 2024-12-31 | | `linux-arm` | `2.2.0` | 2025-02-15 | @@ -1114,6 +1112,7 @@ This demo was tested in the following deployments: | Architecture | Version | Date | |:-------------|:--------|:-----------| +| `darwin-x64` | `2.2.1` | 2025-03-31 | | `darwin-arm` | `2.2.1` | 2025-03-31 | ::: diff --git a/docz/docs/03-demos/42-engines/02-v8.md b/docz/docs/03-demos/42-engines/02-v8.md index 956bc60..a1388f8 100644 --- a/docz/docs/03-demos/42-engines/02-v8.md +++ b/docz/docs/03-demos/42-engines/02-v8.md @@ -146,7 +146,7 @@ This demo was tested in the following deployments: | V8 Version | Platform | OS Version | Compiler | Date | |:--------------|:-------------|:--------------|:-----------------|:-----------| -| `13.3.228` | `darwin-x64` | macOS 15.1.1 | `clang 16.0.0` | 2024-12-03 | +| `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 | | `12.7.130` | `win11-x64` | Windows 11 | `CL 19.42.34435` | 2024-12-20 | | `12.7.130` | `linux-x64` | HoloOS 3.6.20 | `gcc 13.2.1` | 2025-01-02 | @@ -287,7 +287,7 @@ export PATH="/usr/local/lib/depot_tools:$PATH" ``` At this point, it is strongly recommended to add the line to a shell startup -script such as `.bashrc` or `.zshrc` +script such as `.bashrc` or `.zshrc` or `.zprofile` @@ -435,11 +435,11 @@ The recommended fix is to delete the referenced folder and re-run `gclient sync` -5) Checkout the desired version. The following command pulls `13.5.92`: +5) Checkout the desired version. The following command pulls `13.7.5`: ```bash -git checkout tags/13.5.92 -b sample +git checkout tags/13.7.5 -b sample ``` :::caution pass @@ -447,14 +447,14 @@ git checkout tags/13.5.92 -b sample The official documentation recommends: ```bash -git checkout refs/tags/13.5.92 -b sample -t +git checkout refs/tags/13.7.5 -b sample -t ``` This command failed in local testing: ``` -E:\v8\v8>git checkout refs/tags/13.5.92 -b sample -t -fatal: cannot set up tracking information; starting point 'refs/tags/13.5.92' is not a branch +E:\v8\v8>git checkout refs/tags/13.7.5 -b sample -t +fatal: cannot set up tracking information; starting point 'refs/tags/13.7.5' is not a branch ``` ::: @@ -471,9 +471,9 @@ tools/dev/v8gen.py x64.release.sample ninja -C out.gn/x64.release.sample v8_monolith ``` -:::danger pass +:::caution pass -**This does not work in newer Python releases due to a breaking change!** +**This may not work in newer Python releases due to a breaking change!** Python 3.13 removed the `pipes` module from the standard library[^9]. `v8gen.py` will fail on newer Python releases with the following traceback: @@ -698,7 +698,7 @@ ninja -C out.gn\x64.release.sample v8_monolith ```bash g++ -I. -Iinclude samples/hello-world.cc -o hello_world -fno-rtti -lv8_monolith \ -ldl -Lout.gn/x64.release.sample/obj/ -pthread \ - -std=c++20 -DV8_COMPRESS_POINTERS=1 -DV8_ENABLE_SANDBOX + -std=c++20 -DV8_COMPRESS_POINTERS=1 -DV8_ENABLE_SANDBOX -framework Foundation ./hello_world ``` @@ -1279,8 +1279,8 @@ This demo was last tested in the following deployments: | Architecture | V8 Version | Date | |:-------------|:--------------|:-----------| -| `darwin-x64` | `12.3.219.12` | 2024-07-16 | -| `darwin-arm` | `12.3.219.12` | 2025-03-30 | +| `darwin-x64` | `13.3.415.23` | 2025-03-31 | +| `darwin-arm` | `13.3.415.23` | 2025-03-31 | | `win11-x64` | `12.3.219.12` | 2024-12-20 | | `win11-arm` | `12.3.219.12` | 2025-02-23 | | `linux-x64` | `12.3.219.12` | 2025-01-10 | @@ -1359,7 +1359,7 @@ dotnet run 4) Add ClearScript to the project: ```bash -dotnet add package Microsoft.ClearScript.Complete --version 7.4.5 +dotnet add package Microsoft.ClearScript.Complete --version 7.5.0 ``` 5) Download the SheetJS standalone script and test file. Move both files to the @@ -1481,6 +1481,7 @@ This demo was last tested in the following deployments: | Architecture | V8 Version | Python | Date | |:-------------|:--------------|:---------|:-----------| +| `darwin-x64` | `13.1.201.22` | `3.13.1` | 2025-03-31 | | `darwin-arm` | `13.0.245.16` | `3.13.0` | 2024-10-20 | ::: diff --git a/docz/docs/03-demos/42-engines/04-jsc.md b/docz/docs/03-demos/42-engines/04-jsc.md index 4502d23..e9108e4 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` | `6.0.2` | 2024-12-17 | +| `darwin-x64` | `6.0.3` | 2025-03-31 | | `darwin-arm` | `6.0.3` | 2025-03-30 | [**C / C++ Compiled from Source**](#c) @@ -882,6 +882,7 @@ This demo was last tested in the following deployments: | Architecture | Date | |:-------------|:-----------| +| `darwin-x64` | 2025-03-31 | | `darwin-arm` | 2025-03-30 | ::: diff --git a/docz/docs/03-demos/42-engines/05-jint.md b/docz/docs/03-demos/42-engines/05-jint.md index b72b0e6..ef95377 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` | `4.1.0` | 2024-12-17 | +| `darwin-x64` | `4.2.1` | 2025-03-31 | | `darwin-arm` | `4.2.0` | 2025-02-13 | | `win11-x64` | `4.1.0` | 2024-12-20 | | `win11-arm` | `4.2.0` | 2025-02-23 | @@ -248,7 +248,7 @@ dotnet run ```bash dotnet nuget add source https://www.myget.org/F/jint/api/v3/index.json -dotnet add package Jint --version 4.2.0 +dotnet add package Jint --version 4.2.1 ``` To verify Jint is installed, replace `Program.cs` with the following: diff --git a/docz/docs/03-demos/42-engines/06-goja.md b/docz/docs/03-demos/42-engines/06-goja.md index 09e4fc5..2d7a97b 100644 --- a/docz/docs/03-demos/42-engines/06-goja.md +++ b/docz/docs/03-demos/42-engines/06-goja.md @@ -105,7 +105,7 @@ This demo was tested in the following deployments: | Architecture | Git Commit | Go version | Date | |:-------------|:-----------|:-----------|:-----------| -| `darwin-x64` | `79f3a7e` | `1.23.3` | 2024-12-17 | +| `darwin-x64` | `bcd7cc6` | `1.24.1` | 2025-03-31 | | `darwin-arm` | `5ef83b8` | `1.24.0` | 2025-02-13 | | `win11-x64` | `79f3a7e` | `1.23.4` | 2024-12-20 | | `win11-arm` | `5ef83b8` | `1.24.0` | 2025-02-23 | diff --git a/docz/docs/03-demos/42-engines/08-quickjs.md b/docz/docs/03-demos/42-engines/08-quickjs.md index 5d26a11..c45a7fb 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 `6e2e68f`). +commit `0d7aaed`. ::: @@ -263,14 +263,14 @@ This demo was tested in the following deployments: | Architecture | Git Commit | Date | |:-------------|:-----------|:-----------| -| `darwin-x64` | `6e2e68f` | 2024-12-17 | +| `darwin-x64` | `0d7aaed` | 2025-03-31 | | `darwin-arm` | `6e2e68f` | 2024-12-17 | | `win11-x64` | `6e2e68f` | 2024-12-19 | | `win11-arm` | `6e2e68f` | 2025-02-23 | | `linux-x64` | `6e2e68f` | 2025-01-09 | | `linux-arm` | `6e2e68f` | 2025-02-15 | -When the demo was tested, `6e2e68f` was the HEAD commit on the `master` branch. +When the demo was tested, `0d7aaed` 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 6e2e68f +git checkout 0d7aaed make cd .. ``` @@ -359,9 +359,9 @@ This demo was tested in the following environments: | Git Commit | Date | |:-----------|:-----------| -| `6e2e68f` | 2025-01-09 | +| `0d7aaed` | 2025-03-31 | -When the demo was tested, `6e2e68f` was the HEAD commit on the `master` branch. +When the demo was tested, `0d7aaed` was the HEAD commit on the `master` branch. ::: @@ -371,7 +371,7 @@ and build the `quickjs` project: ```bash git clone https://github.com/bellard/quickjs cd quickjs -git checkout 6e2e68f +git checkout 0d7aaed make cd .. ``` diff --git a/docz/docs/03-demos/42-engines/09-hermes.md b/docz/docs/03-demos/42-engines/09-hermes.md index c3a4022..3baca94 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 `d070c74`. +commit `8ef11b4`. ::: @@ -364,7 +364,7 @@ This demo was tested in the following deployments: | Architecture | Git Commit | Date | |:-------------|:-----------|:-----------| -| `darwin-x64` | `d070c74` | 2024-12-17 | +| `darwin-x64` | `8ef11b4` | 2025-03-31 | | `darwin-arm` | `388376f` | 2025-01-13 | | `linux-x64` | `388376f` | 2024-12-17 | | `linux-arm` | `388376f` | 2025-02-15 | @@ -439,6 +439,36 @@ curl -LO https://docs.sheetjs.com/hermes/sheetjs-hermes.cpp make init ``` +:::danger pass + +In some test runs using CMake 4, the build failed due to CMake issues: + +``` +CMake Error at CMakeLists.txt:42 (cmake_policy): + Policy CMP0026 may not be set to OLD behavior because this version of CMake + no longer supports it. The policy was introduced in CMake version 3.0.0, + and use of NEW behavior is now required. +``` + +The referenced line should be removed: + +```text title="hermes/CMakeLists.txt (remove highlighted line) +# bundles for Apple platforms. +if (POLICY CMP0026) +// highlight-next-line + cmake_policy(SET CMP0026 OLD) <-- remove this line +endif() +``` + +After removing the line, remove the `build_release` tool and try again: + +```bash +rm -rf build_release +make init +``` + +::: + :::caution pass In some test runs, the build failed due to Ninja issues: @@ -817,7 +847,7 @@ This demo was tested in the following deployments: | Architecture | Hermes | Date | |:-------------|:---------|:-----------| -| `darwin-x64` | `0.13.0` | 2024-12-17 | +| `darwin-x64` | `0.13.0` | 2025-03-31 | | `win11-x64` | `0.13.0` | 2024-12-20 | | `win11-arm` | `0.13.0` | 2025-02-23 | | `linux-x64` | `0.13.0` | 2024-12-31 | @@ -945,6 +975,6 @@ If successful, the script will print CSV data from the test file. [^3]: See ["Workbook Object"](/docs/csf/book) [^4]: See [`sheet_to_csv` in "Utilities"](/docs/api/utilities/csv#csv-output) [^5]: See [`microsoft/hermes-windows`](https://github.com/microsoft/hermes-windows) on GitHub -[^6]: See ["Dependencies" in "Building and Running"](https://hermesengine.dev/docs/building-and-running/#dependencies) in the Hermes Documentation +[^6]: See ["Dependencies" in "Building and Running"](https://hermesengine.dev/docs/building-and-running/#dependencies) in the Hermes Documentation. If this page redirects to the source repo, [see the following `archive.org` snapshot.](https://web.archive.org/web/20240103234151/http://hermesengine.dev/docs/building-and-running/) [^7]: See ["Download Python"](https://www.python.org/downloads/) in the Python website. When the demo was last tested, Python 3.11.9 was installed. [^8]: See [the Visual Studio website](https://visualstudio.microsoft.com/#vs-section) for download links. diff --git a/docz/docs/03-demos/42-engines/15-rb.md b/docz/docs/03-demos/42-engines/15-rb.md index 57476cb..3b17f47 100644 --- a/docz/docs/03-demos/42-engines/15-rb.md +++ b/docz/docs/03-demos/42-engines/15-rb.md @@ -87,7 +87,7 @@ This demo was tested in the following deployments: | Platform | Ruby | ExecJS | Date | |:-------------|:---------|:---------|:-----------| -| `darwin-x64` | `2.6.10` | `2.10.0` | 2024-12-17 | +| `darwin-x64` | `2.6.10` | `2.10.0` | 2025-03-31 | | `darwin-arm` | `2.6.10` | `2.10.0` | 2025-02-13 | | `win11-x64` | `3.3.6` | `2.10.0` | 2024-12-20 | | `win11-arm` | `3.2.3` | `2.10.0` | 2025-02-23 | diff --git a/docz/docs/03-demos/42-engines/20-chakra.md b/docz/docs/03-demos/42-engines/20-chakra.md index e147f34..1b29a2e 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` | `e26c81f` | 2024-12-17 | +| `darwin-x64` | `36becec` | 2025-03-31 | | `darwin-arm` | `e26c81f` | 2025-01-13 | | `win11-x64` | `e26c81f` | 2024-12-19 | | `win11-arm` | `e26c81f` | 2025-02-23 | @@ -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 e26c81f +git checkout 36becec cd .. ``` @@ -229,6 +229,40 @@ 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. +::: + +:::info pass + +If CMake 4 is installed, the build may fail with CMake errors: + +``` +CMake Error at CMakeLists.txt:1 (cmake_minimum_required): + Compatibility with CMake < 3.5 has been removed from CMake. +``` + +The workaround involves manually editing the `CMakeLists.txt` files. When this +demo was last tested, there were 4 files: + +- `CMakeLists.txt` +- `pal/CMakeLists.txt` +- `pal/src/CMakeLists.txt` +- `lib/wabt/CMakeLists.txt` + +Each file will have a `cmake_minimum_required` directive. For example, the root +`CMakeLists.txt` file has a minimum version of 3.2: + +```text title="CMakeLists.txt (commit 36becec)" +cmake_minimum_required(VERSION 3.2) +``` + +The version number should be updated to 4.0: + +```text title="CMakeLists.txt (edit version number)" +cmake_minimum_required(VERSION 4.0) +``` + +After updating all four files, the build script will run. + ::: @@ -541,7 +575,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-01-09 against `ch` commit `e26c81f`. +This demo was last tested on 2025-03-31 against `ch` commit `36becec`. ::: diff --git a/docz/docs/03-demos/42-engines/21-boa.md b/docz/docs/03-demos/42-engines/21-boa.md index 1de36ee..2e8faaa 100644 --- a/docz/docs/03-demos/42-engines/21-boa.md +++ b/docz/docs/03-demos/42-engines/21-boa.md @@ -1,5 +1,6 @@ --- -title: Rust + Boa +title: Rusty Sheets with Boa +sidebar_label: Rust + Boa pagination_prev: demos/bigdata/index pagination_next: solutions/input --- @@ -29,21 +30,16 @@ for reading data from spreadsheets and generating CSV rows. A JS context can be constructed in one line: ```rust -use boa_engine::Context; - /* initialize */ -let context = &mut Context::default(); +let context = &mut boa_engine::Context::default(); ``` The following helper function evaluates strings as JS code: ```rust -use std::string::String; -use boa_engine::{Context, Source, JsError}; - /* simple wrapper to evaluate code snippets */ -fn eval_code(c: &mut Context, code: &str) -> Result { - let src = Source::from_bytes(code); +fn eval_code(c: &mut boa_engine::Context, code: &str) -> Result { + let src = boa_engine::Source::from_bytes(code); match c.eval(src) { Ok(res) => { return Ok(res.to_string(c).unwrap().to_std_string_escaped()); } Err(e) => { return Err(e); } @@ -56,25 +52,13 @@ fn eval_code(c: &mut Context, code: &str) -> Result { The [SheetJS Standalone scripts](/docs/getting-started/installation/standalone) can be parsed and evaluated in a Boa context. -Boa provides a special helper to read source code from a path: +Boa provides a special helper `boa_engine::Source::from_filepath` to read source +code from a path, but it is recommended to inline the SheetJS standalone script +using the `include_str!` macro: ```rust -use std::path::Path; -use std::string::String; -use boa_engine::{js_string, Context, Source, JsError}; - -/* simple wrapper to evaluate an entire script file */ -fn eval_file(c: &mut Context, path: &str) -> Result { - let src = Source::from_filepath(Path::new(path)).unwrap(); - match c.eval(src) { - Ok(res) => { return Ok(res.to_string(c).unwrap().to_std_string_escaped()); } - Err(e) => { return Err(e); } - }; -} - -// ... /* load library */ - match eval_file(context, "./xlsx.full.min.js") { + match eval_code(context, include_str!("../xlsx.full.min.js")) { Ok(_res) => {} Err(e) => { return eprintln!("Uncaught {e}"); } } @@ -97,10 +81,10 @@ Boa supports `ArrayBuffer` natively. This snippet reads data from a file into ```rust /* read file */ - let data: Vec = fs::read("pres.xlsx").unwrap(); - let array: JsArrayBuffer = JsArrayBuffer::from_byte_block(data, context).unwrap(); - let attrs = Attribute::WRITABLE | Attribute::ENUMERABLE | Attribute::CONFIGURABLE; - context.register_global_property(js_string!("buf"), array, attrs); + let data: Vec = std::fs::read("pres.xlsx").unwrap(); + let array: boa_engine::object::builtins::JsArrayBuffer = boa_engine::object::builtins::JsArrayBuffer::from_byte_block(file, context).unwrap(); + let attrs = boa_engine::property::Attribute::WRITABLE | boa_engine::property::Attribute::ENUMERABLE | boa_engine::property::Attribute::CONFIGURABLE; + let _ = context.register_global_property(boa_engine::js_string!("buf"), array, attrs); /* parse with SheetJS */ match eval_code(context, "void (globalThis.wb = XLSX.read(buf))") { @@ -120,7 +104,7 @@ This demo was tested in the following deployments: | Architecture | Boa | Date | |:-------------|:---------|:-----------| -| `darwin-x64` | `0.20.0` | 2024-12-17 | +| `darwin-x64` | `0.20.0` | 2025-03-31 | | `darwin-arm` | `0.20.0` | 2025-02-13 | | `win11-x64` | `0.20.0` | 2024-12-19 | | `win11-arm` | `0.20.0` | 2025-02-23 | @@ -177,7 +161,7 @@ curl -L -o src/main.rs https://docs.sheetjs.com/boa/main.rs 5) Build and run the app in release mode: ```bash -cargo run --release +cargo run --release pres.xlsx ``` After a short wait, the contents will be displayed in CSV form. diff --git a/docz/docs/03-demos/42-engines/22-perl.md b/docz/docs/03-demos/42-engines/22-perl.md index b4e0b0b..ea0ba70 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-12-17 | +| `darwin-x64` | `0.066` | 2025-03-31 | | `darwin-arm` | `0.066` | 2025-02-13 | | `linux-x64` | `0.066` | 2025-01-10 | | `linux-arm` | `0.066` | 2025-02-15 | diff --git a/docz/docs/03-demos/42-engines/23-jerryscript.md b/docz/docs/03-demos/42-engines/23-jerryscript.md index eee3b0f..e7cb4d3 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` | `d2d30df` | 2024-12-17 | +| `darwin-x64` | `5020015` | 2025-03-31 | | `darwin-arm` | `d2d30df` | 2025-02-13 | | `win11-x64` | `d2d30df` | 2024-12-19 | | `win11-arm` | `5020015` | 2025-02-23 | diff --git a/docz/docs/03-demos/42-engines/25-mujs.md b/docz/docs/03-demos/42-engines/25-mujs.md index 1ed36d6..9e96fc6 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.5`. +version `1.3.6`. ::: @@ -322,7 +322,7 @@ This demo was tested in the following deployments: | Architecture | Version | Date | |:-------------|:--------|:-----------| -| `darwin-x64` | `1.3.5` | 2024-12-17 | +| `darwin-x64` | `1.3.6` | 2025-03-31 | | `darwin-arm` | `1.3.5` | 2025-02-13 | | `win11-x64` | `1.3.5` | 2024-12-19 | | `win11-arm` | `1.3.5` | 2025-02-23 | @@ -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.5.zip -unzip mujs-1.3.5.zip -cd mujs-1.3.5 +curl -LO https://mujs.com/downloads/mujs-1.3.6.zip +unzip mujs-1.3.6.zip +cd mujs-1.3.6 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.5/build/release/libmujs.a mujs-1.3.5/mujs.h . +cp mujs-1.3.6/build/release/libmujs.a mujs-1.3.6/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 7055d0d..8883150 100644 --- a/docz/docs/03-demos/42-engines/26-jurassic.md +++ b/docz/docs/03-demos/42-engines/26-jurassic.md @@ -176,7 +176,7 @@ This demo was tested in the following deployments: | Architecture | Jurassic | Date | |:-------------|:---------|:-----------| -| `darwin-x64` | `3.2.8` | 2024-12-17 | +| `darwin-x64` | `3.2.9` | 2025-03-31 | | `darwin-arm` | `3.2.9` | 2025-03-30 | | `win11-x64` | `3.2.8` | 2024-12-19 | | `win11-arm` | `3.2.9` | 2025-02-23 | diff --git a/docz/docs/09-miscellany/05-contributing.md b/docz/docs/09-miscellany/05-contributing.md index 8e874ac..b54c787 100644 --- a/docz/docs/09-miscellany/05-contributing.md +++ b/docz/docs/09-miscellany/05-contributing.md @@ -43,7 +43,7 @@ These instructions were tested on the following platforms: |:------------------------------|:-------------|:-----------| | Linux (Steam Deck Holo x64) | `linux-x64` | 2025-01-10 | | Linux (Debian Linux AArch64) | `linux-arm` | 2025-01-14 | -| MacOS 14.4 (x64) | `darwin-x64` | 2024-07-12 | +| MacOS 15.3 (x64) | `darwin-x64` | 2025-03-31 | | MacOS 15.2 (ARM64) | `darwin-arm` | 2025-03-07 | | Windows 10 (x64) + WSL Ubuntu | `win10-x64` | 2024-07-12 | | Windows 11 (x64) + WSL Ubuntu | `win11-x64` | 2025-01-14 | @@ -255,15 +255,18 @@ are displayed in the `Next steps` section: ```bash : # zsh echo >> $HOME/.zprofile -echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> $HOME/.zprofile +echo 'if [ -e "/opt/homebrew/bin/brew" ]; then eval "$(/opt/homebrew/bin/brew shellenv)"; fi' >> $HOME/.zprofile +echo 'if [ -e "/usr/local/bin/brew" ]; then eval "$(/usr/local/bin/brew shellenv)"; fi' >> $HOME/.zprofile : # bash echo >> $HOME/.bash_profile -echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> $HOME/.bash_profile +echo 'if [ -e "/opt/homebrew/bin/brew" ]; then eval "$(/opt/homebrew/bin/brew shellenv)"; fi' >> $HOME/.bash_profile +echo 'if [ -e "/usr/local/bin/brew" ]; then eval "$(/usr/local/bin/brew shellenv)"; fi' >> $HOME/.bash_profile : # other echo >> $HOME/.profile -echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> $HOME/.profile +echo 'if [ -e "/opt/homebrew/bin/brew" ]; then eval "$(/opt/homebrew/bin/brew shellenv)"; fi' >> $HOME/.profile +echo 'if [ -e "/usr/local/bin/brew" ]; then eval "$(/usr/local/bin/brew shellenv)"; fi' >> $HOME/.profile ``` C) Close the window, open a new terminal window, and disable analytics: diff --git a/docz/static/boa/main.rs b/docz/static/boa/main.rs index 81eb288..3cd3b37 100644 --- a/docz/static/boa/main.rs +++ b/docz/static/boa/main.rs @@ -1,22 +1,8 @@ /*! sheetjs (C) SheetJS -- https://sheetjs.com */ -use std::path::Path; -use std::string::String; -use std::fs; -use boa_engine::{js_string, Context, Source, JsError}; -use boa_engine::object::builtins::JsArrayBuffer; -use boa_engine::property::Attribute; - -fn eval_file(c: &mut Context, path: &str) -> Result { - let src = Source::from_filepath(Path::new(path)).unwrap(); - match c.eval(src) { - Ok(res) => { return Ok(res.to_string(c).unwrap().to_std_string_escaped()); } - Err(e) => { return Err(e); } - }; -} - -fn eval_code(c: &mut Context, code: &str) -> Result { - let src = Source::from_bytes(code); +/* simple wrapper to evaluate code snippets */ +fn eval_code(c: &mut boa_engine::Context, code: &str) -> Result { + let src = boa_engine::Source::from_bytes(code); match c.eval(src) { Ok(res) => { return Ok(res.to_string(c).unwrap().to_std_string_escaped()); } Err(e) => { return Err(e); } @@ -24,10 +10,11 @@ fn eval_code(c: &mut Context, code: &str) -> Result { } fn main() { - let context = &mut Context::default(); + /* initialize */ + let context = &mut boa_engine::Context::default(); /* load library */ - match eval_file(context, "./xlsx.full.min.js") { + match eval_code(context, include_str!("../xlsx.full.min.js")) { Ok(_res) => {} Err(e) => { return eprintln!("Uncaught {e}"); } } @@ -39,10 +26,17 @@ fn main() { } /* read file */ - let data: Vec = fs::read("pres.xlsx").unwrap(); - let array: JsArrayBuffer = JsArrayBuffer::from_byte_block(data, context).unwrap(); - let attrs = Attribute::WRITABLE | Attribute::ENUMERABLE | Attribute::CONFIGURABLE; - let _ = context.register_global_property(js_string!("buf"), array, attrs); + { + let mut iter = std::env::args(); + let path: String = iter.nth(1).expect("must specify a file name"); + + let file: Vec = std::fs::read(path.clone()).unwrap(); + + /* push data to boa */ + let array: boa_engine::object::builtins::JsArrayBuffer = boa_engine::object::builtins::JsArrayBuffer::from_byte_block(file, context).unwrap(); + let attrs = boa_engine::property::Attribute::WRITABLE | boa_engine::property::Attribute::ENUMERABLE | boa_engine::property::Attribute::CONFIGURABLE; + let _ = context.register_global_property(boa_engine::js_string!("buf"), array, attrs); + } /* parse workbook and assign to global `wb` property */ match eval_code(context, "void (globalThis.wb = XLSX.read(buf))") { diff --git a/docz/static/flutter/ios.png b/docz/static/flutter/ios.png index eb5e2c8beb518776376b49632fdbef0ab230c10b..b8b1162e1480b07f50b2048fe5ed32873495fe1a 100644 GIT binary patch literal 90442 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

1C`cTbWQhAhtHwrJL=de6cmAkvXN1kqJ8P{w2 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%0DgHGTuNaX4~^*ocR41>Xbd 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 literal 81433 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

a&_{*ZlB0&cl#6Po=o1E1eFdiS3=N475)t?O<_s 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 diff --git a/docz/static/hermes/Makefile b/docz/static/hermes/Makefile index 652744f..3b5bd4e 100644 --- a/docz/static/hermes/Makefile +++ b/docz/static/hermes/Makefile @@ -1,5 +1,5 @@ # Note: The official Hermes documentation includes zero guidance on embedding.= -# Tested against commit 388376f05d0c2c836c8761e372fdfafd9bf077fc on darwin-x64 +# Tested against commit 8ef11b45d7b078434605658421efb34cf436c005 on darwin-x64 # History https://git.sheetjs.com/sheetjs/docs.sheetjs.com/commits/branch/master/docz/static/hermes/Makefile MYCC=llvm-g++ @@ -71,5 +71,5 @@ sheetjs-hermes.cpp: .PHONY: init init: - if [ ! -e hermes ]; then git clone https://github.com/facebook/hermes.git; cd hermes; git checkout 388376f05d0c2c836c8761e372fdfafd9bf077fc; cd ..; fi + if [ ! -e hermes ]; then git clone https://github.com/facebook/hermes.git; cd hermes; git checkout 8ef11b45d7b078434605658421efb34cf436c005; cd ..; fi if [ ! -e build_release ]; then cmake -S hermes -B build_release -G Ninja -DCMAKE_BUILD_TYPE=Release -DHERMES_BUILD_APPLE_FRAMEWORK=OFF; cmake --build ./build_release; fi \ No newline at end of file