diff --git a/docz/docs/03-demos/07-data/16-postgresql.md b/docz/docs/03-demos/07-data/16-postgresql.md
index 8bc8eee..2c968df 100644
--- a/docz/docs/03-demos/07-data/16-postgresql.md
+++ b/docz/docs/03-demos/07-data/16-postgresql.md
@@ -17,8 +17,8 @@ an open source object-relational database system.
data from spreadsheets.
This demo uses SheetJS to exchange data between spreadsheets and PostgreSQL
-databases. We'll explore how to use save tables from a database to spreadsheets
-and how to add data from spreadsheets into a database.
+databases. We'll explore how to save tables from a database to spreadsheets and
+how to add data from spreadsheets into a database.
:::caution pass
@@ -215,7 +215,7 @@ On macOS, install the `postgresql` formula with Homebrew:
brew install postgresql@16
```
-The last few lines of the installer explains how to start the database:
+The last few lines of the installer explain how to start the database:
```text
Or, if you don't want/need a background service you can just run:
diff --git a/docz/docs/03-demos/32-extensions/10-stata.md b/docz/docs/03-demos/32-extensions/10-stata.md
index fc304b2..35b8b43 100644
--- a/docz/docs/03-demos/32-extensions/10-stata.md
+++ b/docz/docs/03-demos/32-extensions/10-stata.md
@@ -6,6 +6,8 @@ pagination_next: demos/bigdata/index
---
import current from '/version.js';
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
import CodeBlock from '@theme/CodeBlock';
export const b = {style: {color:"blue"}};
@@ -44,7 +46,7 @@ This demo covers Stata extensions. For directly processing Stata DTA files, the
:::note Tested Deployments
-This demo was last tested by SheetJS users on 2023 November 05.
+This demo was last tested by SheetJS users on 2023 November 15.
:::
@@ -120,8 +122,8 @@ can be loaded in Duktape by reading the source from the filesystem.
:::info pass
-This demo was tested in Windows x64. The path names and build commands will
-differ in other platforms and operating systems.
+This demo was tested in Windows x64 and macOS x64. The path names and build
+commands will differ in other platforms and operating systems.
:::
@@ -137,6 +139,33 @@ import excel "sheetjs.tmp.xlsx", firstrow
### Create Plugin
+
+
+
+0) Ensure a compatible C compiler (Xcode on macOS) is installed.
+
+1) Open Stata and run the following command:
+
+```stata
+pwd
+```
+
+The output will be the default data directory. On macOS this is typically
+`~/Documents/Stata`
+
+2) Open a terminal window and create a project folder `sheetjs-stata` within the
+Stata data directory:
+
+```bash
+# `cd` to the Stata data directory
+cd ~/Documents/Stata
+mkdir sheetjs-stata
+cd sheetjs-stata
+```
+
+
+
+
0) Ensure "Windows Subsystem for Linux" (WSL) and Visual Studio are installed.
1) Open a new "x64 Native Tools Command Prompt" window and create a project
@@ -154,6 +183,9 @@ cd sheetjs-stata
bash
```
+
+
+
3) Download [`stplugin.c`](https://www.stata.com/plugins/stplugin.c) and
[`stplugin.h`](https://www.stata.com/plugins/stplugin.h) from the Stata website:
@@ -162,7 +194,8 @@ curl -LO https://www.stata.com/plugins/stplugin.c
curl -LO https://www.stata.com/plugins/stplugin.h
```
-4) Still within WSL, install Duktape:
+4) Download Duktape. In Windows, the following commands should be run in WSL. In
+macOS, the commands should be run in the same Terminal session.
```bash
curl -LO https://duktape.org/duktape-2.7.0.tar.xz
@@ -170,13 +203,29 @@ tar -xJf duktape-2.7.0.tar.xz
mv duktape-2.7.0/src/*.{c,h} .
```
-5) Still within WSL, download the demo source
-[`cleanfile.c`](https://docs.sheetjs.com/stata/cleanfile.c):
+5) Download [`cleanfile.c`](https://docs.sheetjs.com/stata/cleanfile.c).
+
+In Windows, the following commands should be run in WSL. In macOS, the commands
+should be run in the same Terminal session.
```bash
curl -LO https://docs.sheetjs.com/stata/cleanfile.c
```
+
+
+
+6) Observe that macOS does not need a "Linux Subsystem" and move to Step 7.
+
+7) Build the plugin:
+
+```bash
+gcc -shared -fPIC -DSYSTEM=APPLEMAC stplugin.c duktape.c cleanfile.c -lm -std=c99 -Wall -ocleanfile.plugin
+```
+
+
+
+
6) Exit WSL:
```bash
@@ -191,8 +240,23 @@ The window will return to the command prompt.
cl /LD cleanfile.c stplugin.c duktape.c
```
+
+
+
### Install Plugin
+
+
+
+8) Copy the plugin to the Stata data directory:
+
+```bash
+cp cleanfile.plugin ../
+```
+
+
+
+
8) Copy the DLL to `cleanfile.plugin` in the Stata data directory. For example,
with a shared data directory `c:\data`:
@@ -201,9 +265,26 @@ mkdir c:\data
copy cleanfile.dll c:\data\cleanfile.plugin
```
+
+
+
### Download SheetJS Scripts
-9) Move to the `c:\data` directory
+
+
+
+9) Move to the Stata data directory:
+
+```bash
+cd ..
+```
+
+10) Observe that macOS does not need a "Linux Subsystem" and move to Step 11.
+
+
+
+
+9) Move to the `c:\data` directory:
```powershell
cd c:\data
@@ -215,7 +296,13 @@ cd c:\data
bash
```
-11) Within WSL, download SheetJS scripts and the test file.
+
+
+
+11) Download SheetJS scripts and the test file.
+
+In Windows, the following commands should be run in WSL. In macOS, the commands
+should be run in the same Terminal session.
{`\
curl -LO https://cdn.sheetjs.com/xlsx-${current}/package/dist/shim.min.js
@@ -223,14 +310,6 @@ curl -LO https://cdn.sheetjs.com/xlsx-${current}/package/dist/xlsx.full.min.js
curl -LO https://sheetjs.com/pres.numbers`}
-12) Exit WSL:
-
-```bash
-exit
-```
-
-The window will return to the command prompt.
-
### Stata Test
:::note pass
@@ -239,15 +318,32 @@ The screenshot in the introduction shows the result of steps 13 - 19
:::
-13) Open Stata
+12) If it is not currently running, start the Stata application.
-14) Move to the `c:\data` directory in Stata:
+
+
+
+13) Run the following command in Stata:
+
+```stata
+dir
+```
+
+Inspect the output and confirm that `cleanfile.plugin` is listed.
+
+
+
+
+13) Move to the `c:\data` directory in Stata:
```stata
cd c:\data
```
-15) Load the `cleanfile` plugin:
+
+
+
+14) Load the `cleanfile` plugin:
```stata
program cleanfile, plugin
diff --git a/docz/docs/03-demos/42-engines/02-v8.md b/docz/docs/03-demos/42-engines/02-v8.md
index d00dd21..868b67e 100644
--- a/docz/docs/03-demos/42-engines/02-v8.md
+++ b/docz/docs/03-demos/42-engines/02-v8.md
@@ -124,7 +124,7 @@ This demo was tested in the following deployments:
| V8 Version | Platform | OS Version | Compiler | Date |
|:--------------|:-------------|:--------------|:-----------------|:-----------|
-| `11.8.82` | `darwin-x64` | macOS 13.5.1 | `clang 14.0.3` | 2023-08-26 |
+| `12.1.131` | `darwin-x64` | macOS 14.1 | `clang 15.0.0` | 2023-11-15 |
| `12.0.175` | `darwin-arm` | macOS 14.0 | `clang 15.0.0` | 2023-10-20 |
| `12.0.265` | `win10-x64` | Windows 10 | `CL 19.37.32822` | 2023-10-28 |
| `12.0.72` | `linux-x64` | HoloOS 3.4.11 | `gcc 12.2.0` | 2023-10-11 |
@@ -811,9 +811,9 @@ This demo was last tested in the following deployments:
| Architecture | V8 Crate | Date |
|:-------------|:---------|:-----------|
-| `darwin-x64` | `0.75.1` | 2023-08-26 |
+| `darwin-x64` | `0.81.0` | 2023-11-14 |
| `darwin-arm` | `0.79.2` | 2023-10-18 |
-| `win10-x64` | `0.79.2` | 2023-10-09 |
+| `win10-x64` | `0.81.0` | 2023-11-14 |
| `linux-x64` | `0.79.2` | 2023-10-11 |
| `linux-arm` | `0.75.1` | 2023-08-30 |
diff --git a/docz/docs/03-demos/42-engines/05-jint.md b/docz/docs/03-demos/42-engines/05-jint.md
index 7e7d1a5..879cab5 100644
--- a/docz/docs/03-demos/42-engines/05-jint.md
+++ b/docz/docs/03-demos/42-engines/05-jint.md
@@ -41,7 +41,7 @@ setting the environment variable on supported platforms.
:::note pass
Most of the integration functions are not documented. This explanation is based
-on version `3.0.0-beta-2053`.
+on version `3.0.0-beta-2055`.
:::
@@ -163,7 +163,7 @@ This demo was tested in the following deployments:
| Architecture | Jint Version | Date |
|:-------------|:------------------|:-----------|
-| `darwin-x64` | `3.0.0-beta-2051` | 2023-09-16 |
+| `darwin-x64` | `3.0.0-beta-2055` | 2023-11-14 |
| `darwin-arm` | `3.0.0-beta-2051` | 2023-09-26 |
| `win10-x64` | `3.0.0-beta-2053` | 2023-10-28 |
| `win11-arm` | `3.0.0-beta-2051` | 2023-09-26 |
@@ -238,7 +238,7 @@ dotnet run
```bash
dotnet nuget add source https://www.myget.org/F/jint/api/v3/index.json
-dotnet add package Jint --version 3.0.0-beta-2053
+dotnet add package Jint --version 3.0.0-beta-2055
```
To verify Jint is installed, replace `Program.cs` with the following:
diff --git a/docz/docs/03-demos/42-engines/09-hermes.md b/docz/docs/03-demos/42-engines/09-hermes.md
index 5a8bc51..4695b07 100644
--- a/docz/docs/03-demos/42-engines/09-hermes.md
+++ b/docz/docs/03-demos/42-engines/09-hermes.md
@@ -362,7 +362,7 @@ This demo was tested in the following deployments:
| Architecture | Git Commit | Date |
|:-------------|:-----------|:-----------|
-| `darwin-x64` | `70af78b` | 2023-08-27 |
+| `darwin-x64` | `84732b3` | 2023-11-14 |
| `darwin-arm` | `2b4f949` | 2023-10-18 |
| `linux-x64` | `2b4f949` | 2023-10-11 |
| `linux-arm` | `70af78b` | 2023-08-27 |
@@ -429,6 +429,38 @@ curl -LO https://docs.sheetjs.com/hermes/sheetjs-hermes.cpp
make init
```
+:::caution pass
+
+During the most recent macOS x64 test, the build failed due to Ninja issues:
+
+```
+CMake Error at CMakeLists.txt:64 (project):
+ Running
+
+ '/usr/local/lib/depot_tools/ninja' '--version'
+
+ failed with:
+
+ depot_tools/ninja.py: Could not find Ninja in the third_party of the current project, nor in your PATH.
+```
+
+This is due to a conflict with the Ninja version that ships with `depot_tools`.
+
+Since `depot_tools` typically is added before other folders in the system `PATH`
+variable, it is strongly recommended to rename the `ninja` binary, build the
+Hermes libraries, and restore the `ninja` binary:
+
+```bash
+# Rename `ninja`
+mv /usr/local/lib/depot_tools/ninja /usr/local/lib/depot_tools/ninja_tmp
+# Build Hermes
+make init
+# Restore `ninja`
+mv /usr/local/lib/depot_tools/ninja_tmp /usr/local/lib/depot_tools/ninja
+```
+
+:::
+
5) Build the application:
```bash
diff --git a/docz/docs/03-demos/42-engines/15-rb.md b/docz/docs/03-demos/42-engines/15-rb.md
index ec2f66e..ed6ee67 100644
--- a/docz/docs/03-demos/42-engines/15-rb.md
+++ b/docz/docs/03-demos/42-engines/15-rb.md
@@ -70,7 +70,7 @@ This demo was tested in the following deployments:
| Platform | Ruby | ExecJS | Date |
|:-------------|:---------|:--------|:-----------|
-| `darwin-x64` | `2.7.6` | `2.9.1` | 2023-09-24 |
+| `darwin-x64` | `2.6.10` | `2.9.1` | 2023-11-14 |
| `darwin-arm` | `2.7.4` | `2.9.1` | 2023-09-24 |
| `win10-x64` | `3.2.2` | `2.9.1` | 2023-10-28 |
| `win11-arm` | `3.0.2` | `2.9.1` | 2023-09-24 |
diff --git a/docz/docs/03-demos/42-engines/index.md b/docz/docs/03-demos/42-engines/index.md
index b50d411..4f90ca0 100644
--- a/docz/docs/03-demos/42-engines/index.md
+++ b/docz/docs/03-demos/42-engines/index.md
@@ -131,7 +131,7 @@ This demo was tested in the following deployments:
| Architecture | Commit | Date |
|:-------------|:----------|:-----------|
-| `darwin-x64` | `a588e49` | 2023-09-22 |
+| `darwin-x64` | `bc408b1` | 2023-11-14 |
| `linux-x64` | `a588e49` | 2023-10-11 |
:::
@@ -221,6 +221,9 @@ ready, it will read the bundled test data and print the contents as CSV.
build/bin/jerry xlsx.jerry.js; echo $?
```
+If successful, the contents of the test file will be displayed in CSV rows. The
+status code `0` will be printed after the rows.
+
### Jint
diff --git a/docz/static/hermes/Makefile b/docz/static/hermes/Makefile
index 39d6f20..a1e7fb0 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 2b4f949f6ff4d1de03fbad0dbef9b744153e0adb
+# Tested against commit 84732b3ce6a859cbc6a20112437c81154f111fe7
MYCC=llvm-g++
POSTAMBLE=-framework CoreFoundation
@@ -64,5 +64,5 @@ sheetjs-hermes: sheetjs-hermes.cpp init
.PHONY: init
init:
- if [ ! -e hermes ]; then git clone https://github.com/facebook/hermes.git; cd hermes; git checkout 2b4f949f6ff4d1de03fbad0dbef9b744153e0adb; cd ..; fi
+ if [ ! -e hermes ]; then git clone https://github.com/facebook/hermes.git; cd hermes; git checkout 84732b3ce6a859cbc6a20112437c81154f111fe7; cd ..; fi
if [ ! -e build_release ]; then cmake -S hermes -B build_release -G Ninja -DCMAKE_BUILD_TYPE=Release; cmake --build ./build_release; fi
\ No newline at end of file