diff --git a/docz/docs/03-demos/03-net/03-email.md b/docz/docs/03-demos/03-net/03-email.md index 5b1148c..056201e 100644 --- a/docz/docs/03-demos/03-net/03-email.md +++ b/docz/docs/03-demos/03-net/03-email.md @@ -334,7 +334,7 @@ const concat_RS = (stream) => new Promise((res, rej) => { 3) Edit `SheetJSIMAP.js` and replace the highlighted lines: -- `user: "**",` the value should be the sender email address +- `user: "**",` the value should be the account address - `pass: "**"` the value should be the app password from earlier 4) Download . Using a different account, send @@ -456,8 +456,7 @@ function SheetJSPreviewPSTSheets() { Attachments + ))} Table View
); diff --git a/docz/docs/03-demos/05-mobile/01-reactnative.md b/docz/docs/03-demos/05-mobile/01-reactnative.md index 4b54f7e..5d795b4 100644 --- a/docz/docs/03-demos/05-mobile/01-reactnative.md +++ b/docz/docs/03-demos/05-mobile/01-reactnative.md @@ -90,7 +90,7 @@ npx react-native init SheetJSRNFetch --version="0.72.0-rc.1" {`\ cd SheetJSRNFetch -curl -LO https://oss.sheetjs.com/assets/img/logo.png +curl -LO https://docs.sheetjs.com/logo.png npm i -S https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz npm i -S react-native-table-component@1.2.0 @types/react-native-table-component`} @@ -466,7 +466,7 @@ npx react-native init SheetJSRN --version="0.72.0-rc.1" {`\ cd SheetJSRN -curl -LO https://oss.sheetjs.com/assets/img/logo.png +curl -LO https://docs.sheetjs.com/logo.png npm i -S https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz npm i -S react-native-table-component@1.2.0 react-native-document-picker@8.2.0`} diff --git a/docz/docs/03-demos/06-desktop/09-cli.md b/docz/docs/03-demos/06-desktop/09-cli.md index 980684d..924a9f1 100644 --- a/docz/docs/03-demos/06-desktop/09-cli.md +++ b/docz/docs/03-demos/06-desktop/09-cli.md @@ -43,6 +43,7 @@ This demo was tested in the following deployments: | Architecture | Version | Node Target | Date | |:-------------|:--------|:------------|:-----------| | `darwin-x64` | `5.8.1` | `18.5.0` | 2023-05-08 | +| `darwin-arm` | `5.8.1` | `18.5.0` | 2023-06-05 | | `win32-x64` | `5.8.1` | `18.5.0` | 2023-05-08 | | `linux-x64` | `5.8.1` | `18.5.0` | 2023-05-08 | @@ -51,6 +52,7 @@ This demo was tested in the following deployments: | Architecture | Version | Node Target | Date | |:-------------|:-------------|:------------|:-----------| | `darwin-x64` | `4.0.0-rc.2` | `14.15.3` | 2023-05-08 | +| `darwin-arm` | `4.0.0-rc.2` | `18.16.0` | 2023-06-05 | | `win32-x64` | `4.0.0-rc.2` | `14.15.3` | 2023-05-08 | | `linux-x64` | `4.0.0-rc.2` | `14.15.3` | 2023-05-08 | @@ -59,6 +61,7 @@ This demo was tested in the following deployments: | Architecture | Version | Node Target | Date | |:-------------|:--------|:------------|:-----------| | `darwin-x64` | `2.0.1` | `20.1.0` | 2023-05-08 | +| `darwin-arm` | `2.0.1` | `20.2.0` | 2023-06-05 | | `linux-x64` | `2.0.1` | `20.1.0` | 2023-05-08 | @@ -108,6 +111,17 @@ npx nexe -t 14.15.3 xlsx-cli.js This generates `xlsx-cli` or `xlsx-cli.exe` depending on platform. +:::caution + +When the demo was tested on `darwin-arm`, the `mac-arm64` pre-built package was +missing. The package must be built from source: + +```bash +npx nexe xlsx-cli.js --build --python=$(which python3) --make="-j8" +``` + +::: + @@ -132,7 +146,7 @@ npx boxednode@2.0.1 -s xlsx-cli.js -t xlsx-cli 4) Run the generated program, passing `pres.numbers` as the argument. For -example, on an Intel Mac, `nexe` generates `xlsx-cli` so the command is: +example, `nexe` generates `xlsx-cli` in macOS so the command is: ```bash ./xlsx-cli pres.numbers @@ -150,6 +164,7 @@ This demo was last tested in the following deployments: | Architecture | V8 Version | Date | |:-------------|:-------------|:-----------| | `darwin-x64` | `11.4.183.2` | 2023-05-22 | +| `darwin-mac` | `11.4.183.2` | 2023-05-22 | | `linux-x64` | `11.4.183.2` | 2023-05-23 | | `win32-x64` | `11.4.183.2` | 2023-05-23 | @@ -237,6 +252,7 @@ This demo was last tested in the following deployments: | Architecture | Version | Date | |:-------------|:---------|:-----------| | `darwin-x64` | `1.33.2` | 2023-05-08 | +| `darwin-arm` | `1.34.1` | 2023-06-05 | | `win32-x64` | `1.33.2` | 2023-05-08 | | `linux-x64` | `1.33.2` | 2023-05-08 | diff --git a/docz/docs/03-demos/11-bigdata/01-stream.md b/docz/docs/03-demos/11-bigdata/01-stream.md index cb1fea0..9e6b492 100644 --- a/docz/docs/03-demos/11-bigdata/01-stream.md +++ b/docz/docs/03-demos/11-bigdata/01-stream.md @@ -334,7 +334,7 @@ function SheetJSFetchCSVStreamWorker() { const [__html, setHTML] = React.useState(""); const [state, setState] = React.useState(""); const [cnt, setCnt] = React.useState(0); - const [url, setUrl] = React.useState("https://oss.sheetjs.com/test_files/large_strings.xlsx"); + const [url, setUrl] = React.useState("https://docs.sheetjs.com/test_files/large_strings.xlsx"); \n\ return ( <> URL: setUrl(e.target.value)} size="80"/> diff --git a/docz/docs/03-demos/11-bigdata/02-worker.md b/docz/docs/03-demos/11-bigdata/02-worker.md index 311f544..0f4fc8d 100644 --- a/docz/docs/03-demos/11-bigdata/02-worker.md +++ b/docz/docs/03-demos/11-bigdata/02-worker.md @@ -578,7 +578,7 @@ function SheetJSFetchCSVStreamFile() { const [__html, setHTML] = React.useState(""); const [cnt, setCnt] = React.useState(0); const [hz, setHz] = React.useState(0); - const [url, setUrl] = React.useState("https://oss.sheetjs.com/test_files/large_strings.xlsx"); + const [url, setUrl] = React.useState("https://docs.sheetjs.com/test_files/large_strings.xlsx"); const ref = React.useRef(null); \n\ return ( <> diff --git a/docz/docs/03-demos/12-engines/01_duktape.md b/docz/docs/03-demos/12-engines/01_duktape.md index 7abdb77..27f7714 100644 --- a/docz/docs/03-demos/12-engines/01_duktape.md +++ b/docz/docs/03-demos/12-engines/01_duktape.md @@ -118,6 +118,7 @@ This demo was tested in the following deployments: | Architecture | Version | Date | |:-------------|:--------|:-----------| | `darwin-x64` | `2.7.0` | 2023-02-12 | +| `darwin-arm` | `2.7.0` | 2023-06-05 | | `linux-x64` | `2.7.0` | 2023-06-02 | ::: diff --git a/docz/docs/03-demos/12-engines/02_v8.md b/docz/docs/03-demos/12-engines/02_v8.md index 623c17c..b1efb75 100644 --- a/docz/docs/03-demos/12-engines/02_v8.md +++ b/docz/docs/03-demos/12-engines/02_v8.md @@ -5,6 +5,8 @@ pagination_next: solutions/input --- import current from '/version.js'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; import CodeBlock from '@theme/CodeBlock'; V8 is an embeddable JS engine written in C++. It powers Chromium and Chrome, @@ -110,6 +112,7 @@ This demo was tested in the following deployments: | V8 Version | Platform | OS Version | Compiler | Date | |:--------------|:-------------|:-------------|:---------------|:-----------| | `11.3.244.11` | `darwin-x64` | macOS 13.2 | `clang 14.0.3` | 2023-05-20 | +| `11.3.244.11` | `darwin-arm` | macOS 13.0 | `clang 14.0.3` | 2023-06-05 | | `11.3.244.11` | `linux-x64` | HoloOS 3.4.6 | `gcc 12.2.0` | 2023-05-20 | ::: @@ -132,11 +135,28 @@ The build process is long and will test your patience. ### Preparation -1) Download and install `depot_tools`: +0) Prepare `/usr/local/lib`: ```bash mkdir -p /usr/local/lib cd /usr/local/lib +``` + +:::caution + +If this step throws a permission error, run: + +```bash +sudo mkdir -p /usr/local/lib +sudo chmod 777 /usr/local/lib +``` + +::: + + +1) Download and install `depot_tools`: + +```bash git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git ``` @@ -178,13 +198,30 @@ git checkout refs/tags/11.3.244.11 -b sample -t 6) Build the static library. + + + ```bash tools/dev/v8gen.py x64.release.sample ninja -C out.gn/x64.release.sample v8_monolith ``` + + + +```bash +tools/dev/v8gen.py arm64.release.sample +ninja -C out.gn/arm64.release.sample v8_monolith +``` + + + + 7) Ensure the sample `hello-world` compiles and runs: + + + ```bash g++ -I. -Iinclude samples/hello-world.cc -o hello_world -fno-rtti -lv8_monolith \ -lv8_libbase -lv8_libplatform -ldl -Lout.gn/x64.release.sample/obj/ -pthread \ @@ -192,6 +229,20 @@ g++ -I. -Iinclude samples/hello-world.cc -o hello_world -fno-rtti -lv8_monolith ./hello_world ``` + + + +```bash +g++ -I. -Iinclude samples/hello-world.cc -o hello_world -fno-rtti -lv8_monolith \ + -lv8_libbase -lv8_libplatform -ldl -Lout.gn/arm64.release.sample/obj/ -pthread \ + -std=c++17 -DV8_COMPRESS_POINTERS=1 -DV8_ENABLE_SANDBOX +./hello_world +``` + + + + + ### Prepare Project 8) Make a new project folder: @@ -210,11 +261,25 @@ cp ~/dev/v8/v8/samples/hello-world.cc . 10) Create symbolic links to the `include` headers and `obj` library folders: + + + ```bash ln -s ~/dev/v8/v8/include ln -s ~/dev/v8/v8/out.gn/x64.release.sample/obj ``` + + + +```bash +ln -s ~/dev/v8/v8/include +ln -s ~/dev/v8/v8/out.gn/arm64.release.sample/obj +``` + + + + 11) Build and run the `hello-world` example from this folder: ```bash @@ -295,6 +360,7 @@ This demo was last tested in the following deployments: | Architecture | V8 Crate | Date | |:-------------|:---------|:-----------| | `darwin-x64` | `0.71.2` | 2023-05-22 | +| `darwin-arm` | `0.73.0` | 2023-06-05 | | `linux-x64` | `0.71.2` | 2023-05-23 | | `win32-x64` | `0.71.2` | 2023-05-23 | diff --git a/docz/docs/03-demos/12-engines/04_jsc.md b/docz/docs/03-demos/12-engines/04_jsc.md index 433ece5..3c4aa61 100644 --- a/docz/docs/03-demos/12-engines/04_jsc.md +++ b/docz/docs/03-demos/12-engines/04_jsc.md @@ -129,12 +129,12 @@ try? out.write(to: out_path, atomically: false, encoding: String.Encoding.isoLat :::note -This demo was tested on 2023 February 12. `swift --version` printed: +This demo was tested in the following environments: -``` -swift-driver version: 1.62.15 Apple Swift version 5.7.2 -Target: x86_64-apple-macosx12.0 -``` +| Architecture | Swift | Date | +|:-------------|:--------|:-----------| +| `darwin-x64` | `5.7.2` | 2023-02-12 | +| `darwin-arm` | `5.8.1` | 2023-06-05 | ::: diff --git a/docz/docs/03-demos/12-engines/06_goja.md b/docz/docs/03-demos/12-engines/06_goja.md index 723acb5..dc63d66 100644 --- a/docz/docs/03-demos/12-engines/06_goja.md +++ b/docz/docs/03-demos/12-engines/06_goja.md @@ -90,7 +90,12 @@ _ = ioutil.WriteFile("sheetjs.xlsx", buf, 0644) :::note -This demo was tested on 2023 February 14. +This demo was tested in the following deployments: + +| Architecture | Git Commit | Go version | Date | +|:-------------|:-----------|:-----------|:-----------| +| `darwin-x64` | `28ee0ee` | `1.19.3` | 2023-06-05 | +| `darwin-arm` | `28ee0ee` | `1.20.4` | 2023-06-05 | ::: diff --git a/docz/docs/03-demos/12-engines/08_quickjs.md b/docz/docs/03-demos/12-engines/08_quickjs.md index 9acecb0..33a5f9e 100644 --- a/docz/docs/03-demos/12-engines/08_quickjs.md +++ b/docz/docs/03-demos/12-engines/08_quickjs.md @@ -121,6 +121,7 @@ This demo was tested in the following deployments: | Architecture | Git Commit | Date | |:-------------|:-----------|:-----------| | `darwin-x64` | `2788d71` | 2023-02-12 | +| `darwin-arm` | `2788d71` | 2023-06-05 | | `linux-x64` | `2788d71` | 2023-06-02 | ::: diff --git a/docz/docs/03-demos/12-engines/09_hermes.md b/docz/docs/03-demos/12-engines/09_hermes.md index 9a7eb45..9d66097 100644 --- a/docz/docs/03-demos/12-engines/09_hermes.md +++ b/docz/docs/03-demos/12-engines/09_hermes.md @@ -156,48 +156,53 @@ while the "CLI Test" demonstrates other concepts using the `hermes` CLI tool. :::note -This demo was last tested on 2023 May 30 against Hermes commit `869312f` on -a Intel Mac. `llvm-g++ -v` printed: +This demo was tested in the following deployments: -``` -Apple clang version 14.0.0 (clang-1400.0.29.202) -Target: x86_64-apple-darwin21.6.0 -``` +| Architecture | Git Commit | Date | +|:-------------|:-----------|:-----------| +| `darwin-x64` | `869312f` | 2023-05-30 | +| `darwin-arm` | `869312f` | 2023-06-05 | ::: -0) Make a project directory: +0) Install build dependencies: + +```bash +brew install icu4c cmake ninja +``` + +1) Make a project directory: ```bash mkdir sheetjs-hermes cd sheetjs-hermes ``` -1) Download the [`Makefile`](pathname:///hermes/Makefile): +2) Download the [`Makefile`](pathname:///hermes/Makefile): ```bash curl -LO https://docs.sheetjs.com/hermes/Makefile ``` -2) Download [`sheetjs-hermes.cpp`](pathname:///hermes/sheetjs-hermes.cpp): +3) Download [`sheetjs-hermes.cpp`](pathname:///hermes/sheetjs-hermes.cpp): ```bash curl -LO https://docs.sheetjs.com/hermes/sheetjs-hermes.cpp ``` -3) Build the library (this is the `init` target): +4) Build the library (this is the `init` target): ```bash make init ``` -4) Build the application: +5) Build the application: ```bash make sheetjs-hermes ``` -5) Download the standalone script and test file: +6) Download the standalone script and test file: