win10-x64
This commit is contained in:
parent
b23c03f051
commit
32521763a6
@ -17,7 +17,7 @@ been ported to a number of exotic architectures and operating systems.
|
||||
[SheetJS](https://sheetjs.com) is a JavaScript library for reading and writing
|
||||
data from spreadsheets.
|
||||
|
||||
The ["Integration Example"](#integration-example) section includes a complete
|
||||
The ["Complete Example"](#complete-example) section includes a complete
|
||||
command-line tool for reading data from spreadsheets and exporting to Excel XLSB
|
||||
workbooks.
|
||||
|
||||
|
@ -126,7 +126,7 @@ This demo was tested in the following deployments:
|
||||
|:--------------|:-------------|:--------------|:-----------------|:-----------|
|
||||
| `11.8.82` | `darwin-x64` | macOS 13.5.1 | `clang 14.0.3` | 2023-08-26 |
|
||||
| `12.0.175` | `darwin-arm` | macOS 14.0 | `clang 15.0.0` | 2023-10-20 |
|
||||
| `11.8.82` | `win10-x64` | Windows 10 | `CL 19.37.32822` | 2023-08-26 |
|
||||
| `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 |
|
||||
| `11.8.82` | `linux-arm` | Debian 11 | `gcc 10.2.1` | 2023-09-26 |
|
||||
|
||||
@ -395,20 +395,20 @@ The recommended fix is to delete the referenced folder and re-run `gclient sync`
|
||||
</Tabs>
|
||||
|
||||
|
||||
5) Checkout the desired version. The following command pulls `12.0.72`:
|
||||
5) Checkout the desired version. The following command pulls `12.0.265`:
|
||||
|
||||
<Tabs groupId="os">
|
||||
<TabItem value="unix" label="Linux/MacOS">
|
||||
|
||||
```bash
|
||||
git checkout refs/tags/12.0.72 -b sample -t
|
||||
git checkout refs/tags/12.0.265 -b sample -t
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="win" label="Windows">
|
||||
|
||||
```bash
|
||||
git checkout tags/12.0.72 -b sample
|
||||
git checkout tags/12.0.265 -b sample
|
||||
```
|
||||
|
||||
:::caution pass
|
||||
@ -416,14 +416,14 @@ git checkout tags/12.0.72 -b sample
|
||||
The official documentation recommends:
|
||||
|
||||
```bash
|
||||
git checkout refs/tags/12.0.72 -b sample -t
|
||||
git checkout refs/tags/12.0.265 -b sample -t
|
||||
```
|
||||
|
||||
This command failed in local testing:
|
||||
|
||||
```
|
||||
E:\v8\v8>git checkout refs/tags/12.0.72 -b sample -t
|
||||
fatal: cannot set up tracking information; starting point 'refs/tags/12.0.72' is not a branch
|
||||
E:\v8\v8>git checkout refs/tags/12.0.265 -b sample -t
|
||||
fatal: cannot set up tracking information; starting point 'refs/tags/12.0.265' is not a branch
|
||||
```
|
||||
|
||||
:::
|
||||
@ -526,8 +526,8 @@ from the Control Panel as described in step 0.
|
||||
In local testing, the `ninja` build failed with C++ deprecation errors:
|
||||
|
||||
```c++
|
||||
../..\src/wasm/wasm-code-manager.h(789,28): error: 'atomic_load<v8::base::OwnedVector<const unsigned char>>' is deprecated: warning STL4029: std::atomic_*() overloads for shared_ptr are deprecated in C++20. The shared_ptr specialization of std::atomic provides superior functionality. You can define _SILENCE_CXX20_OLD_SHARED_PTR_ATOMIC_SUPPORT_DEPRECATION_WARNING or _SILENCE_ALL_CXX20_DEPRECATION_WARNINGS to suppress this warning. [-Werror,-Wdeprecated-declarations]
|
||||
789 | auto wire_bytes = std::atomic_load(&wire_bytes_);
|
||||
../..\src/wasm/wasm-code-manager.h(670,28): error: 'atomic_load<v8::base::OwnedVector<const unsigned char>>' is deprecated: warning STL4029: std::atomic_*() overloads for shared_ptr are deprecated in C++20. The shared_ptr specialization of std::atomic provides superior functionality. You can define _SILENCE_CXX20_OLD_SHARED_PTR_ATOMIC_SUPPORT_DEPRECATION_WARNING or _SILENCE_ALL_CXX20_DEPRECATION_WARNINGS to suppress this warning. [-Werror,-Wdeprecated-declarations]
|
||||
670 | auto wire_bytes = std::atomic_load(&wire_bytes_);
|
||||
| ^
|
||||
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\include\memory(3794,1): note: 'atomic_load<v8::base::OwnedVector<const unsigned char>>' has been explicitly marked deprecated here
|
||||
3794 | _CXX20_DEPRECATE_OLD_SHARED_PTR_ATOMIC_SUPPORT _NODISCARD shared_ptr<_Ty> atomic_load(
|
||||
@ -536,8 +536,6 @@ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.3282
|
||||
1317 | [[deprecated("warning STL4029: " \
|
||||
| ^
|
||||
2 errors generated.
|
||||
[14/1303] CXX obj/torque_generated_definitions/js-atomics-synchronization-tq.obj
|
||||
FAILED: obj/torque_generated_definitions/js-atomics-synchronization-tq.obj
|
||||
```
|
||||
|
||||
The workaround is to append a line to `out.gn\x64.release.sample\args.gn`:
|
||||
@ -546,6 +544,12 @@ The workaround is to append a line to `out.gn\x64.release.sample\args.gn`:
|
||||
treat_warnings_as_errors = false
|
||||
```
|
||||
|
||||
After adding the line, run the `ninja` command again:
|
||||
|
||||
```bash
|
||||
ninja -C out.gn\x64.release.sample v8_monolith
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
|
@ -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-2051`.
|
||||
on version `3.0.0-beta-2053`.
|
||||
|
||||
:::
|
||||
|
||||
@ -165,7 +165,7 @@ This demo was tested in the following deployments:
|
||||
|:-------------|:------------------|:-----------|
|
||||
| `darwin-x64` | `3.0.0-beta-2051` | 2023-09-16 |
|
||||
| `darwin-arm` | `3.0.0-beta-2051` | 2023-09-26 |
|
||||
| `win10-x64` | `3.0.0-beta-2051` | 2023-09-16 |
|
||||
| `win10-x64` | `3.0.0-beta-2053` | 2023-10-28 |
|
||||
| `win11-arm` | `3.0.0-beta-2051` | 2023-09-26 |
|
||||
| `linux-x64` | `3.0.0-beta-2052` | 2023-10-11 |
|
||||
| `linux-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-2052
|
||||
dotnet add package Jint --version 3.0.0-beta-2053
|
||||
```
|
||||
|
||||
To verify Jint is installed, replace `Program.cs` with the following:
|
||||
@ -333,6 +333,23 @@ If successful, the program will print the contents of the first sheet as CSV
|
||||
rows. It will also create `SheetJSJint.xlsb` which can be opened in Excel or
|
||||
another spreadsheet editor.
|
||||
|
||||
:::info pass
|
||||
|
||||
Running `dotnet run` without the filename argument will show an error:
|
||||
|
||||
```
|
||||
Unhandled exception. System.IndexOutOfRangeException: Index was outside the bounds of the array.
|
||||
at Program.<Main>$(String[] args) in C:\Users\Me\SheetJSJint\Program.cs:line 13
|
||||
```
|
||||
|
||||
The command must be run with an argument specifying the name of the workbook:
|
||||
|
||||
```bash
|
||||
dotnet run pres.xlsx
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
:::caution pass
|
||||
|
||||
If the `using Jint;` directive is omitted, the build will fail:
|
||||
@ -426,8 +443,9 @@ dotnet publish -c Release -r win-arm64 --self-contained true -p:PublishSingleFil
|
||||
|
||||
10) Copy the generated executable to the project directory.
|
||||
|
||||
The build from step 9 is placed in `bin\Release\net6.0\$RID\publish` and the
|
||||
binary name will be `SheetJSJint` or `SheetJSJint.exe` depending on OS.
|
||||
The binary name will be `SheetJSJint` or `SheetJSJint.exe` depending on OS.
|
||||
|
||||
The last line of the output from Step 9 will print the output folder.
|
||||
|
||||
<details open><summary><b>Tested platforms</b> (click to hide)</summary>
|
||||
|
||||
@ -476,6 +494,22 @@ For Windows 10 x64, the RID is `win10-x64` and the command is:
|
||||
copy .\bin\Release\net6.0\win10-x64\publish\SheetJSJint.exe .
|
||||
```
|
||||
|
||||
:::caution pass
|
||||
|
||||
In some test runs, the `copy` command failed with a clear message:
|
||||
|
||||
```
|
||||
The system cannot find the path specified.
|
||||
```
|
||||
|
||||
The correct command was
|
||||
|
||||
```powershell
|
||||
copy .\bin\x64\Release\net6.0\win10-x64\publish\SheetJSJint.exe .
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="win11-arm" label="Windows ARM">
|
||||
|
||||
|
@ -96,7 +96,7 @@ This demo was tested in the following deployments:
|
||||
|:-------------|:-----------|:-----------|:-----------|
|
||||
| `darwin-x64` | `873a149` | `1.21.3` | 2023-10-14 |
|
||||
| `darwin-arm` | `873a149` | `1.21.3` | 2023-10-18 |
|
||||
| `win10-x64` | `81d7606` | `1.20.2` | 2023-08-27 |
|
||||
| `win10-x64` | `b396bb4` | `1.21.3` | 2023-10-28 |
|
||||
| `win11-arm` | `fc55792` | `1.21.1` | 2023-09-25 |
|
||||
| `linux-x64` | `fc55792` | `1.21.3` | 2023-10-11 |
|
||||
| `linux-arm` | `3dbe69d` | `1.21.1` | 2023-08-30 |
|
||||
|
@ -372,7 +372,7 @@ fork, which powers React Native for Windows, does have built-in support[^5]
|
||||
|
||||
| Architecture | Git Commit | Date |
|
||||
|:-------------|:-----------|:-----------|
|
||||
| `win10-x64` | `c7a4a82` | 2023-09-27 |
|
||||
| `win10-x64` | `930456b` | 2023-10-28 |
|
||||
|
||||
:::
|
||||
|
||||
@ -521,7 +521,7 @@ cd sheetjs-hermes
|
||||
```bash
|
||||
git clone https://github.com/microsoft/hermes-windows
|
||||
cd hermes-windows
|
||||
git checkout c7a4a82
|
||||
git checkout 930456b
|
||||
cd ..
|
||||
```
|
||||
|
||||
@ -560,6 +560,24 @@ Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
|
||||
|
||||
:::
|
||||
|
||||
:::info pass
|
||||
|
||||
In the most recent test, the command failed when trying to copy `hermes.exe`:
|
||||
|
||||
```
|
||||
Copy-Item: C:\Users\Me\Documents\hermes-windows\.ado\scripts\cibuild.ps1:331
|
||||
Line |
|
||||
331 | Copy-Item "$compilerAndToolsBuildPath\bin\hermes.exe" -Destinatio …
|
||||
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
| Cannot find path 'C:\Users\Me\Documents\hermes-windows\workspace\build\tools\bin\hermes.exe'
|
||||
| because it does not exist.
|
||||
```
|
||||
|
||||
The libraries are built first and the standalone binary is not needed when
|
||||
embedding Hermes, so the error message can be safely ignored.
|
||||
|
||||
:::
|
||||
|
||||
6) Copy every generated `.lib` and `.dll` file into the main folder:
|
||||
|
||||
```powershell
|
||||
|
@ -72,7 +72,7 @@ This demo was tested in the following deployments:
|
||||
|:-------------|:---------|:--------|:-----------|
|
||||
| `darwin-x64` | `2.7.6` | `2.9.1` | 2023-09-24 |
|
||||
| `darwin-arm` | `2.7.4` | `2.9.1` | 2023-09-24 |
|
||||
| `win10-x64` | `3.2.2` | `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 |
|
||||
| `linux-x64` | `3.0.4` | `2.9.1` | 2023-10-11 |
|
||||
| `linux-arm` | `2.7.4` | `2.9.1` | 2023-09-24 |
|
||||
|
@ -122,7 +122,7 @@ This demo was tested in the following deployments:
|
||||
|:-------------|:-----------|:-----------|
|
||||
| `darwin-x64` | `c3ead3f` | 2023-08-26 |
|
||||
| `darwin-arm` | `c3ead3f` | 2023-10-19 |
|
||||
| `win10-x64` | `c3ead3f` | 2023-08-26 |
|
||||
| `win10-x64` | `c3ead3f` | 2023-10-28 |
|
||||
| `linux-x64` | `c3ead3f` | 2023-10-11 |
|
||||
|
||||
:::
|
||||
@ -156,7 +156,7 @@ sudo pacman -S cmake clang
|
||||
<TabItem value="win10-x64" label="Windows">
|
||||
|
||||
Install Visual Studio 2022 with the "Desktop Development with C++" workflow.
|
||||
All commands in this demo should be run in a Developer Command Prompt.
|
||||
All commands in this demo should be run in a "Native Tools Command Prompt".
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
@ -366,7 +366,7 @@ If successful, the program will print the contents of the first sheet as CSV.
|
||||
|
||||
:::note
|
||||
|
||||
This demo was last tested on 2023-08-26 against `ch` commit `c3ead3f`.
|
||||
This demo was last tested on 2023-10-28 against `ch` commit `c3ead3f`.
|
||||
|
||||
:::
|
||||
|
||||
@ -376,10 +376,11 @@ file as a Base64 string and directly add it to an amalgamated script.
|
||||
0) Download and extract the ChakraCore release ZIP. Copy the binary (`bin/ch`)
|
||||
to your project folder.
|
||||
|
||||
:::note pass
|
||||
:::tip pass
|
||||
|
||||
The ["Integration Example"](#integration-example) also builds the `ch` binary!
|
||||
It will typically be placed in the `ChakraCore/out/Test/` folder.
|
||||
It will typically be placed in the `ChakraCore/out/Test/` folder on Linux/macOS
|
||||
or `ChakraCore\Build\VcBuild\bin\x64_debug\` on x64 Windows.
|
||||
|
||||
:::
|
||||
|
||||
|
@ -14,14 +14,17 @@ more performant engine like [`v8`](/docs/demos/engines/v8#rust)
|
||||
|
||||
:::
|
||||
|
||||
Boa is a pure-Rust JavaScript engine.
|
||||
[Boa](https://boajs.dev/) is a JavaScript engine written in Rust.
|
||||
|
||||
The [SheetJS Standalone scripts](/docs/getting-started/installation/standalone)
|
||||
can be parsed and evaluated in a Boa context.
|
||||
[SheetJS](https://sheetjs.com) is a JavaScript library for reading and writing
|
||||
data from spreadsheets.
|
||||
|
||||
The ["Complete Example"](#integration-example) section creates a command-line
|
||||
tool for reading data from spreadsheets and generating CSV rows.
|
||||
|
||||
## Integration Details
|
||||
|
||||
_Initialize Engine_
|
||||
### Initialize Boa
|
||||
|
||||
A JS context can be constructed in one line:
|
||||
|
||||
@ -48,7 +51,10 @@ fn eval_code(c: &mut Context, code: &str) -> Result<String, JsError> {
|
||||
}
|
||||
```
|
||||
|
||||
_Load SheetJS Scripts_
|
||||
### Load SheetJS Scripts
|
||||
|
||||
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:
|
||||
|
||||
@ -116,7 +122,7 @@ This demo was tested in the following deployments:
|
||||
|:-------------|:-----------|
|
||||
| `darwin-x64` | 2023-08-31 |
|
||||
| `darwin-arm` | 2023-10-20 |
|
||||
| `win10-x64` | 2023-08-31 |
|
||||
| `win10-x64` | 2023-10-28 |
|
||||
| `win11-arm` | 2023-09-26 |
|
||||
| `linux-x64` | 2023-10-11 |
|
||||
| `linux-arm` | 2023-08-30 |
|
||||
|
Loading…
Reference in New Issue
Block a user