forked from sheetjs/docs.sheetjs.com
		
	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