forked from sheetjs/docs.sheetjs.com
Hermes win11-arm demo
This commit is contained in:
parent
234c63dcaa
commit
44adb843c1
@ -143,7 +143,7 @@
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"/>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
</Row>
|
||||
@ -202,8 +202,8 @@
|
||||
<Cell><Data ss:Type="String">C</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"/>
|
||||
<Cell ss:StyleID="s16"/>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✱</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✱</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
</Row>
|
||||
@ -214,8 +214,8 @@
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"/>
|
||||
<Cell ss:StyleID="s16"/>
|
||||
<Cell ss:StyleID="s16"/>
|
||||
<Cell ss:StyleID="s16"/>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
</Row>
|
||||
</Table>
|
||||
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
|
||||
@ -293,7 +293,7 @@
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"/>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
</Row>
|
||||
@ -324,8 +324,8 @@
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"/>
|
||||
<Cell ss:StyleID="s16"/>
|
||||
<Cell ss:StyleID="s16"/>
|
||||
<Cell ss:StyleID="s16"/>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
<Cell ss:StyleID="s16"><Data ss:Type="String">✔</Data></Cell>
|
||||
</Row>
|
||||
<Row>
|
||||
<Cell ss:StyleID="s20" ss:HRef="/docs/demos/engines/jsc#swift"><Data ss:Type="String">JSC</Data></Cell>
|
||||
|
@ -41,6 +41,7 @@ This browser demo was tested in the following environments:
|
||||
| Browser | Date |
|
||||
|:------------|:-----------|
|
||||
| Chrome 119 | 2024-01-06 |
|
||||
| Safari 17.4 | 2024-06-20 |
|
||||
|
||||
:::
|
||||
|
||||
@ -183,9 +184,7 @@ function SheetJSAoOExtractColumn() {
|
||||
|
||||
return ( <>
|
||||
<b>First 5 Sepal Length Values</b><br/>
|
||||
<table><tbody>
|
||||
{col.map(sw => (<tr><td>{sw}</td></tr>))}
|
||||
</tbody></table>
|
||||
<table><tbody><tr>{col.map(sw => (<td>{sw}</td>))}</tr></tbody></table>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
@ -43,7 +43,9 @@ This demo was tested in the following deployments:
|
||||
| `darwin-x64` | Duktape `2.7.0` | 2.2.1 | 3.12.2 | 2024-03-15 |
|
||||
| `darwin-arm` | Duktape `2.7.0` | 2.0.3 | 3.11.7 | 2024-02-13 |
|
||||
| `win10-x64` | Duktape `2.7.0` | 2.2.1 | 3.12.2 | 2024-03-25 |
|
||||
| `win11-arm` | Duktape `2.7.0` | 2.2.2 | 3.11.5 | 2024-06-20 |
|
||||
| `linux-x64` | Duktape `2.7.0` | 1.5.3 | 3.11.3 | 2024-03-21 |
|
||||
| `linux-arm` | Duktape `2.7.0` | 1.5.3 | 3.11.2 | 2024-06-20 |
|
||||
|
||||
:::
|
||||
|
||||
@ -246,15 +248,21 @@ In some local tests, the install failed with the following error:
|
||||
error: externally-managed-environment
|
||||
```
|
||||
|
||||
On Arch Linux-based platforms including the Steam Deck, Pandas must be installed
|
||||
through the package manager:
|
||||
Pandas must be installed through the package manager:
|
||||
|
||||
- Debian and Ubuntu distributions:
|
||||
|
||||
```bash
|
||||
sudo apt-get install python3-pandas
|
||||
```
|
||||
|
||||
- Arch Linux-based platforms including the Steam Deck:
|
||||
|
||||
```bash
|
||||
sudo pacman -Syu python-pandas
|
||||
```
|
||||
|
||||
On macOS systems with a Python version from Homebrew, Pandas should be installed
|
||||
using `pip` with the `--break-system-packages` option:
|
||||
- macOS systems with a Python version from Homebrew:
|
||||
|
||||
```bash
|
||||
sudo python3 -m pip install pandas --break-system-packages
|
||||
@ -414,7 +422,7 @@ The name of the library is `libduktape.so.207.20700`:
|
||||
|
||||
```python title="sheetjs.py (change highlighted line)"
|
||||
# highlight-next-line
|
||||
lib = "libduktape.so.207.20700"
|
||||
lib = "./libduktape.so.207.20700"
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
@ -514,7 +522,9 @@ This demo was tested in the following deployments:
|
||||
| `darwin-x64` | Duktape `2.7.0` | 0.20.15 | 3.12.2 | 2024-03-15 |
|
||||
| `darwin-arm` | Duktape `2.7.0` | 0.20.7 | 3.11.7 | 2024-02-13 |
|
||||
| `win10-x64` | Duktape `2.7.0` | 0.20.16 | 3.12.2 | 2024-03-25 |
|
||||
| `win10-arm` | Duktape `2.7.0` | 0.20.31 | 3.11.5 | 2024-06-20 |
|
||||
| `linux-x64` | Duktape `2.7.0` | 0.20.16 | 3.11.3 | 2024-03-21 |
|
||||
| `linux-arm` | Duktape `2.7.0` | 0.20.31 | 3.11.2 | 2024-06-20 |
|
||||
|
||||
:::
|
||||
|
||||
@ -575,6 +585,13 @@ sudo python3 -m pip install pandas
|
||||
|
||||
:::
|
||||
|
||||
:::info pass
|
||||
|
||||
On Windows, the `C++ Clang Compiler for Windows` component must be installed
|
||||
through the Visual Studio installer.
|
||||
|
||||
:::
|
||||
|
||||
:::caution pass
|
||||
|
||||
On Arch Linux-based platforms including the Steam Deck, the install may fail:
|
||||
@ -583,7 +600,19 @@ On Arch Linux-based platforms including the Steam Deck, the install may fail:
|
||||
error: externally-managed-environment
|
||||
```
|
||||
|
||||
It is recommended to use a virtual environment for Polars and copy :
|
||||
It is recommended to use a virtual environment for Polars.
|
||||
|
||||
`venv` must be installed through the system package manager:
|
||||
|
||||
- Debian and Ubuntu distributions:
|
||||
|
||||
```bash
|
||||
sudo apt-get install python3.11-venv
|
||||
```
|
||||
|
||||
- `venv` is included in the `python` package in Arch Linux-based platforms.
|
||||
|
||||
After installing `venv`, the following commands set up the virtual environment:
|
||||
|
||||
```bash
|
||||
mkdir sheetjs-polars
|
||||
|
@ -231,12 +231,14 @@ This demo was tested in the following environments:
|
||||
|
||||
**Simulators**
|
||||
|
||||
| OS | Device | RN | Dev Platform | Date |
|
||||
|:-----------|:------------------|:---------|:-------------|:-----------|
|
||||
| Android 34 | Pixel 3a | `0.73.6` | `darwin-x64` | 2024-03-13 |
|
||||
| iOS 17.4 | iPhone 15 Pro Max | `0.73.6` | `darwin-x64` | 2024-03-13 |
|
||||
| Android 34 | Pixel 3a | `0.73.5` | `win10-x64` | 2024-03-05 |
|
||||
| Android 34 | Pixel 3a | `0.73.7` | `linux-x64` | 2024-04-29 |
|
||||
| OS | Device | RN | Dev Platform | Date |
|
||||
|:-----------|:--------------------|:---------|:-------------|:-----------|
|
||||
| Android 34 | Pixel 3a | `0.73.6` | `darwin-x64` | 2024-03-13 |
|
||||
| iOS 17.4 | iPhone 15 Pro Max | `0.73.6` | `darwin-x64` | 2024-03-13 |
|
||||
| Android 34 | Pixel 3a | `0.74.2` | `darwin-arm` | 2024-06-20 |
|
||||
| iOS 17.5 | iPhone SE (3rd gen) | `0.74.2` | `darwin-arm` | 2024-06-20 |
|
||||
| Android 34 | Pixel 3a | `0.73.5` | `win10-x64` | 2024-03-05 |
|
||||
| Android 34 | Pixel 3a | `0.73.7` | `linux-x64` | 2024-04-29 |
|
||||
|
||||
:::
|
||||
|
||||
@ -275,7 +277,7 @@ export JAVA_HOME=/usr/lib/jvm/java-17-openjdk
|
||||
1) Create project:
|
||||
|
||||
```bash
|
||||
npx -y react-native@0.73.7 init SheetJSRNFetch --version="0.73.7"
|
||||
npx -y react-native@0.74.2 init SheetJSRNFetch --version="0.74.2"
|
||||
```
|
||||
|
||||
2) Install shared dependencies:
|
||||
@ -284,7 +286,7 @@ npx -y react-native@0.73.7 init SheetJSRNFetch --version="0.73.7"
|
||||
cd SheetJSRNFetch
|
||||
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`}
|
||||
npm i -S react-native-table-component@1.2.2 @types/react-native-table-component`}
|
||||
</CodeBlock>
|
||||
|
||||
3) Download [`App.tsx`](pathname:///reactnative/App.tsx) and replace:
|
||||
@ -297,18 +299,6 @@ curl -LO https://docs.sheetjs.com/reactnative/App.tsx
|
||||
|
||||
4) Install or switch to Java 17[^6]
|
||||
|
||||
:::note pass
|
||||
|
||||
When the demo was last tested on macOS, `java -version` displayed the following:
|
||||
|
||||
```
|
||||
openjdk version "17.0.10" 2024-01-16
|
||||
OpenJDK Runtime Environment Temurin-17.0.10+7 (build 17.0.10+7)
|
||||
OpenJDK 64-Bit Server VM Temurin-17.0.10+7 (build 17.0.10+7, mixed mode)
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
5) Start the Android emulator:
|
||||
|
||||
```bash
|
||||
@ -1049,7 +1039,7 @@ On macOS, if prompted to install `CocoaPods`, press `y`.
|
||||
cd SheetJSRN
|
||||
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@9.1.1`}
|
||||
npm i -S react-native-table-component@1.2.2 react-native-document-picker@9.1.1`}
|
||||
</CodeBlock>
|
||||
|
||||
3) Download [`index.js`](pathname:///mobile/index.js) and replace:
|
||||
|
@ -988,10 +988,12 @@ const u8 = new Uint8Array(i8.buffer, i8.byteOffset, i8.length);
|
||||
|
||||
This demo was last tested in the following deployments:
|
||||
|
||||
| Architecture | V8 Version | Javet | Java | Date |
|
||||
|:-------------|:--------------|:--------|:--------|:-----------|
|
||||
| `darwin-x64` | `12.6.228.13` | `3.1.3` | 22 | 2024-06-19 |
|
||||
| `darwin-arm` | `12.6.228.13` | `3.1.3` | 11.0.23 | 2024-06-19 |
|
||||
| Architecture | V8 Version | Javet | Java | Date |
|
||||
|:-------------|:--------------|:--------|:----------|:-----------|
|
||||
| `darwin-x64` | `12.6.228.13` | `3.1.3` | `22` | 2024-06-19 |
|
||||
| `darwin-arm` | `12.6.228.13` | `3.1.3` | `11.0.23` | 2024-06-19 |
|
||||
| `linux-x64` | `12.6.228.13` | `3.1.3` | `17.0.7` | 2024-06-20 |
|
||||
| `linux-arm` | `12.6.228.13` | `3.1.3` | `17.0.11` | 2024-06-20 |
|
||||
|
||||
:::
|
||||
|
||||
@ -1003,12 +1005,47 @@ cd sheetjs-javet
|
||||
```
|
||||
|
||||
2) Download the Javet JAR. There are different archives for different platforms.
|
||||
The following command runs on `darwin-x64` and `darwin-arm`:
|
||||
|
||||
<Tabs groupId="os">
|
||||
<TabItem value="unix" label="Linux/MacOS">
|
||||
|
||||
<Tabs groupId="triple">
|
||||
<TabItem value="darwin-x64" label="Intel Mac">
|
||||
|
||||
```bash
|
||||
curl -LO https://repo1.maven.org/maven2/com/caoccao/javet/javet-macos/3.1.3/javet-macos-3.1.3.jar
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="darwin-arm" label="ARM64 Mac">
|
||||
|
||||
```bash
|
||||
curl -LO https://repo1.maven.org/maven2/com/caoccao/javet/javet-macos/3.1.3/javet-macos-3.1.3.jar
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="linux-x64" label="Linux x64">
|
||||
|
||||
```bash
|
||||
curl -LO https://repo1.maven.org/maven2/com/caoccao/javet/javet/3.1.3/javet-3.1.3.jar
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="linux-arm" label="Linux ARM">
|
||||
|
||||
```bash
|
||||
curl -LO https://repo1.maven.org/maven2/com/caoccao/javet/javet-linux-arm64/3.1.3/javet-linux-arm64-3.1.3.jar
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="win" label="Windows">
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
3) Download the SheetJS Standalone script and test file. Save both files in the
|
||||
project directory:
|
||||
|
||||
@ -1030,11 +1067,50 @@ curl -LO https://docs.sheetjs.com/v8/SheetJSJavet.java
|
||||
|
||||
5) Build and run the Java application:
|
||||
|
||||
<Tabs groupId="os">
|
||||
<TabItem value="unix" label="Linux/MacOS">
|
||||
|
||||
<Tabs groupId="triple">
|
||||
<TabItem value="darwin-x64" label="Intel Mac">
|
||||
|
||||
```bash
|
||||
javac -cp ".:javet-macos-3.1.3.jar" SheetJSJavet.java
|
||||
java -cp ".:javet-macos-3.1.3.jar" SheetJSJavet pres.xlsx
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="darwin-arm" label="ARM64 Mac">
|
||||
|
||||
```bash
|
||||
javac -cp ".:javet-macos-3.1.3.jar" SheetJSJavet.java
|
||||
java -cp ".:javet-macos-3.1.3.jar" SheetJSJavet pres.xlsx
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="linux-x64" label="Linux x64">
|
||||
|
||||
```bash
|
||||
javac -cp ".:javet-3.1.3.jar" SheetJSJavet.java
|
||||
java -cp ".:javet-3.1.3.jar" SheetJSJavet pres.xlsx
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="linux-arm" label="Linux ARM">
|
||||
|
||||
```bash
|
||||
javac -cp ".:javet-linux-arm64-3.1.3.jar" SheetJSJavet.java
|
||||
java -cp ".:javet-linux-arm64-3.1.3.jar" SheetJSJavet pres.xlsx
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="win" label="Windows">
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
If the program succeeded, the CSV contents will be printed to console.
|
||||
|
||||
## Snapshots
|
||||
|
@ -375,6 +375,7 @@ fork, which powers React Native for Windows, does have built-in support[^5]
|
||||
| Architecture | Git Commit | Date |
|
||||
|:-------------|:-----------|:-----------|
|
||||
| `win10-x64` | `240573e` | 2024-03-24 |
|
||||
| `win11-arm` | `240573e` | 2024-06-20 |
|
||||
|
||||
The ["Windows Example"](#windows-example) covers `hermes-windows`.
|
||||
|
||||
@ -547,6 +548,12 @@ contents of the first sheet as CSV rows.
|
||||
|
||||
### Windows Example
|
||||
|
||||
:::info pass
|
||||
|
||||
On ARM64, the commands must be run in a "ARM64 Native Tools Command Prompt".
|
||||
|
||||
:::
|
||||
|
||||
0) Install dependencies.
|
||||
|
||||
<details>
|
||||
@ -635,6 +642,9 @@ git config --global http.sslVerify true
|
||||
|
||||
5) Build the library:
|
||||
|
||||
<Tabs groupId="arch">
|
||||
<TabItem value="x64" label="x64">
|
||||
|
||||
```bash
|
||||
cd hermes-windows
|
||||
.\.ado\scripts\cibuild.ps1 -AppPlatform win32 -Platform x64 -ToolsPlatform x64
|
||||
@ -673,13 +683,40 @@ embedding Hermes, so the error message can be safely ignored.
|
||||
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="arm" label="ARM64">
|
||||
|
||||
```bash
|
||||
cmake -S hermes-windows -B build -G "Visual Studio 17 2022" -A arm64
|
||||
cmake --build ./build
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
6) Copy every generated `.lib` and `.dll` file into the main folder:
|
||||
|
||||
<Tabs groupId="arch">
|
||||
<TabItem value="x64" label="x64">
|
||||
|
||||
```powershell
|
||||
dir -r -Path .\hermes-windows\workspace\build\win32-x64-debug\ -Filter "*.dll" | Copy-Item -Destination .\
|
||||
dir -r -Path .\hermes-windows\workspace\build\win32-x64-debug\ -Filter "*.lib" | Copy-Item -Destination .\
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="arm" label="ARM64">
|
||||
|
||||
Run the following commands in a PowerShell session:
|
||||
|
||||
```powershell
|
||||
dir -r -Path .\build -Filter "*.dll" | Copy-Item -Destination .\
|
||||
dir -r -Path .\build -Filter "*.lib" | Copy-Item -Destination .\
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
7) Download [`sheetjs-hermes.cpp`](pathname:///hermes/sheetjs-hermesw.cpp):
|
||||
|
||||
```bash
|
||||
|
@ -324,11 +324,26 @@ This demo was tested in the following deployments:
|
||||
|:-------------|:--------|:-----------|
|
||||
| `darwin-x64` | `1.3.4` | 2024-05-25 |
|
||||
| `darwin-arm` | `1.3.4` | 2024-05-23 |
|
||||
| `win10-x64` | `1.3.4` | 2024-06-20 |
|
||||
| `win11-arm` | `1.3.4` | 2024-06-20 |
|
||||
| `linux-x64` | `1.3.4` | 2024-04-21 |
|
||||
| `linux-arm` | `1.3.4` | 2024-05-25 |
|
||||
|
||||
:::
|
||||
|
||||
:::caution pass
|
||||
|
||||
MuJS distributions do not include native Windows projects. The `win10-x64` and
|
||||
`win11-arm` tests were run entirely within Windows Subsystem for Linux.
|
||||
|
||||
When building in WSL, `libreadline-dev` must be installed using `apt`:
|
||||
|
||||
```bash
|
||||
sudo apt-get install libreadline-dev
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
1) Make a project directory:
|
||||
|
||||
```bash
|
||||
|
@ -178,6 +178,8 @@ This demo was tested in the following deployments:
|
||||
|:-------------|:---------|:-----------|
|
||||
| `darwin-x64` | `3.2.7` | 2024-06-15 |
|
||||
| `darwin-arm` | `3.2.7` | 2024-06-15 |
|
||||
| `linux-x64` | `3.2.7` | 2024-06-20 |
|
||||
| `linux-arm` | `3.2.7` | 2024-06-20 |
|
||||
|
||||
:::
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user