w10
This commit is contained in:
parent
4dd53501ff
commit
67612ae920
@ -39,6 +39,8 @@ analytics globally through the CLI tool before creating a new project:
|
||||
npx @angular/cli analytics disable -g
|
||||
```
|
||||
|
||||
(If prompted to share data, type `N` and press Enter)
|
||||
|
||||
:::
|
||||
|
||||
|
||||
@ -154,13 +156,21 @@ export class AppComponent {
|
||||
|
||||
:::note
|
||||
|
||||
This demo was last run on 2023 February 21 using Angular CLI `15.1.6`
|
||||
This demo was last run on 2023-07-24 using Angular CLI `16.1.5`
|
||||
|
||||
:::
|
||||
|
||||
0) Disable telemetry with `npx @angular/cli analytics disable -g`
|
||||
0) Disable telemetry:
|
||||
|
||||
1) Run `ng new --minimal --defaults --no-interactive sheetjs-angular`.
|
||||
```bash
|
||||
npx @angular/cli analytics disable -g
|
||||
```
|
||||
|
||||
1) Create a new project:
|
||||
|
||||
```bash
|
||||
npx @angular/cli new --minimal --defaults --no-interactive sheetjs-angular
|
||||
```
|
||||
|
||||
2) Install the SheetJS dependency and start the dev server:
|
||||
|
||||
@ -177,9 +187,20 @@ npm start`}
|
||||
4) Replace `src/app/app.component.ts` with the code snippet.
|
||||
|
||||
The page will refresh and show a table with an Export button. Click the button
|
||||
and the page will attempt to download `SheetJSAngularAoA.xlsx`.
|
||||
and the page will attempt to download `SheetJSAngularAoO.xlsx`.
|
||||
|
||||
5) Stop the dev server and build the site:
|
||||
|
||||
```bash
|
||||
npm run build
|
||||
```
|
||||
|
||||
To test the generated site, start a web server:
|
||||
|
||||
```bash
|
||||
npx -y http-server dist/sheetjs-angular/
|
||||
```
|
||||
|
||||
5) Build the site with `npm run build`, then test with `npx http-server dist`.
|
||||
Access `http://localhost:8080` with a web browser to test the bundled site.
|
||||
|
||||
</details>
|
||||
@ -242,13 +263,21 @@ export class AppComponent {
|
||||
|
||||
:::note
|
||||
|
||||
This demo was last run on 2023 February 21 using Angular CLI `15.1.6`
|
||||
This demo was last run on 2023-07-24 using Angular CLI `16.1.5`
|
||||
|
||||
:::
|
||||
|
||||
0) Disable telemetry with `npx @angular/cli analytics disable -g`
|
||||
0) Disable telemetry:
|
||||
|
||||
1) Run `ng new --minimal --defaults --no-interactive sheetjs-angular`.
|
||||
```bash
|
||||
npx @angular/cli analytics disable -g
|
||||
```
|
||||
|
||||
1) Create a new project:
|
||||
|
||||
```bash
|
||||
npx @angular/cli new --minimal --defaults --no-interactive sheetjs-angular
|
||||
```
|
||||
|
||||
2) Install the SheetJS dependency and start the dev server:
|
||||
|
||||
@ -267,7 +296,18 @@ npm start`}
|
||||
The page will refresh and show a table with an Export button. Click the button
|
||||
and the page will attempt to download `SheetJSAngularHTML.xlsx`.
|
||||
|
||||
5) Build the site with `npm run build`, then test with `npx http-server dist`.
|
||||
5) Stop the dev server and build the site:
|
||||
|
||||
```bash
|
||||
npm run build
|
||||
```
|
||||
|
||||
To test the generated site, start a web server:
|
||||
|
||||
```bash
|
||||
npx -y http-server dist/sheetjs-angular/
|
||||
```
|
||||
|
||||
Access `http://localhost:8080` with a web browser to test the bundled site.
|
||||
|
||||
</details>
|
||||
|
@ -48,7 +48,7 @@ This demo was tested in the following environments:
|
||||
|
||||
| OS and Version | Arch | RN Platform | Date |
|
||||
|:---------------|:-----|:------------|:-----------|
|
||||
| Windows 10 | x64 | `v0.70.10` | 2023-01-04 |
|
||||
| Windows 10 | x64 | `v0.71.25` | 2023-07-24 |
|
||||
| Windows 11 | x64 | `v0.71.11` | 2023-05-11 |
|
||||
| MacOS 12.6 | x64 | `v0.71.26` | 2023-07-23 |
|
||||
| MacOS 13.4 | arm | `v0.71.18` | 2023-07-06 |
|
||||
@ -391,6 +391,8 @@ used to switch the NodeJS version.
|
||||
|
||||
:::
|
||||
|
||||
### Project Setup
|
||||
|
||||
1) Create a new project using React Native `0.71`:
|
||||
|
||||
```bash
|
||||
@ -398,7 +400,7 @@ npx react-native init SheetJSWin --template react-native@^0.71.0
|
||||
cd SheetJSWin
|
||||
```
|
||||
|
||||
Create the Windows part of the application:
|
||||
2) Create the Windows part of the application:
|
||||
|
||||
<Tabs groupId="rnwlang">
|
||||
<TabItem value="cs" label="C#">
|
||||
@ -417,13 +419,13 @@ npx react-native-windows-init --no-telemetry --overwrite
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
Install the SheetJS library:
|
||||
3) Install the SheetJS library:
|
||||
|
||||
<CodeBlock language="bash">{`\
|
||||
npm i --save https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz`}
|
||||
</CodeBlock>
|
||||
|
||||
To ensure that the app works, launch the app:
|
||||
4) To ensure that the app works, launch the app:
|
||||
|
||||
```bash
|
||||
npx react-native run-windows --no-telemetry
|
||||
@ -439,10 +441,12 @@ Specific Windows SDK versions can be installed through Visual Studio Installer.
|
||||
|
||||
:::
|
||||
|
||||
### Native Module
|
||||
|
||||
<Tabs groupId="rnwlang">
|
||||
<TabItem value="cs" label="C#">
|
||||
|
||||
2) Download [`DocumentPicker.cs`](pathname:///reactnative/DocumentPicker.cs) and
|
||||
5) Download [`DocumentPicker.cs`](pathname:///reactnative/DocumentPicker.cs) and
|
||||
save to `windows\SheetJSWin\DocumentPicker.cs`.
|
||||
|
||||
<Tabs groupId="shell">
|
||||
@ -464,7 +468,7 @@ curl -Lo windows/SheetJSWin/DocumentPicker.cs https://docs.sheetjs.com/reactnati
|
||||
|
||||
|
||||
|
||||
3) Add the highlighted line to `windows\SheetJSWin\SheetJSWin.csproj`. Look for
|
||||
6) Add the highlighted line to `windows\SheetJSWin\SheetJSWin.csproj`. Look for
|
||||
the `ItemGroup` that contains `ReactPackageProvider.cs`:
|
||||
|
||||
```xml title="windows\SheetJSWin\SheetJSWin.csproj"
|
||||
@ -477,7 +481,7 @@ the `ItemGroup` that contains `ReactPackageProvider.cs`:
|
||||
</TabItem>
|
||||
<TabItem value="cpp" label="C++">
|
||||
|
||||
2) Download [`DocumentPicker.h`](pathname:///reactnative/DocumentPicker.h) and
|
||||
5) Download [`DocumentPicker.h`](pathname:///reactnative/DocumentPicker.h) and
|
||||
save to `windows\SheetJSWin\DocumentPicker.h`.
|
||||
|
||||
<Tabs groupId="shell">
|
||||
@ -497,7 +501,7 @@ curl -Lo windows/SheetJSWin/DocumentPicker.h https://docs.sheetjs.com/reactnativ
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
3) Add the highlighted line to `windows\SheetJSWin\ReactPackageProvider.cpp`:
|
||||
6) Add the highlighted line to `windows\SheetJSWin\ReactPackageProvider.cpp`:
|
||||
|
||||
```cpp title="windows\SheetJSWin\ReactPackageProvider.cpp"
|
||||
#include "ReactPackageProvider.h"
|
||||
@ -511,7 +515,9 @@ curl -Lo windows/SheetJSWin/DocumentPicker.h https://docs.sheetjs.com/reactnativ
|
||||
|
||||
Now the native module will be added to the app.
|
||||
|
||||
4) Remove `App.js` (if it exists) and download [`App.tsx`](https://docs.sheetjs.com/reactnative/rnw/App.tsx):
|
||||
### Application
|
||||
|
||||
7) Remove `App.js` (if it exists) and download [`App.tsx`](https://docs.sheetjs.com/reactnative/rnw/App.tsx):
|
||||
|
||||
<Tabs groupId="shell">
|
||||
<TabItem value="pwsh" label="PowerShell">
|
||||
@ -532,14 +538,16 @@ curl -LO https://docs.sheetjs.com/reactnative/rnw/App.tsx
|
||||
|
||||
|
||||
|
||||
5) Test the app again:
|
||||
8) Test the app again:
|
||||
|
||||
```bash
|
||||
npx react-native run-windows --no-telemetry
|
||||
```
|
||||
|
||||
Download <https://sheetjs.com/pres.xlsx>, then click on "open file". Use the
|
||||
file picker to select the `pres.xlsx` file and the app will show the data.
|
||||
Download <https://sheetjs.com/pres.xlsx>.
|
||||
|
||||
Click "Click here to Open File!" and use the file picker to select `pres.xlsx` .
|
||||
The app will refresh and display the data from the file.
|
||||
|
||||
## macOS Demo
|
||||
|
||||
|
@ -26,7 +26,7 @@ This demo was tested in the following environments:
|
||||
|
||||
| Environment | AlaSQL | Date |
|
||||
|:--------------------|:-------|:----------:|
|
||||
| NodeJS | 3.1.0 | 2023-02-23 |
|
||||
| NodeJS | 3.1.0 | 2023-07-24 |
|
||||
| Standalone (Chrome) | 3.0.0 | 2023-04-09 |
|
||||
|
||||
:::
|
||||
|
@ -117,9 +117,10 @@ This demo was tested in the following deployments:
|
||||
|
||||
| Architecture | Version | Date |
|
||||
|:-------------|:--------|:-----------|
|
||||
| `darwin-x64` | `2.7.0` | 2023-02-12 |
|
||||
| `darwin-x64` | `2.7.0` | 2023-07-24 |
|
||||
| `darwin-arm` | `2.7.0` | 2023-06-05 |
|
||||
| `linux-x64` | `2.7.0` | 2023-06-02 |
|
||||
| `win10-x64` | `2.7.0` | 2023-07-24 |
|
||||
|
||||
:::
|
||||
|
||||
|
@ -133,7 +133,7 @@ This demo was tested in the following environments:
|
||||
|
||||
| Architecture | Swift | Date |
|
||||
|:-------------|:--------|:-----------|
|
||||
| `darwin-x64` | `5.7.2` | 2023-02-12 |
|
||||
| `darwin-x64` | `5.8.1` | 2023-07-24 |
|
||||
| `darwin-arm` | `5.8.1` | 2023-06-05 |
|
||||
|
||||
:::
|
||||
|
@ -26,7 +26,7 @@ command-line tool for reading data from files.
|
||||
|
||||
## Integration Details
|
||||
|
||||
:::note
|
||||
:::note pass
|
||||
|
||||
Many QuickJS functions are not documented. The explanation was verified against
|
||||
the latest release (commit `2788d71`).
|
||||
@ -264,9 +264,10 @@ This demo was tested in the following deployments:
|
||||
|
||||
| Architecture | Git Commit | Date |
|
||||
|:-------------|:-----------|:-----------|
|
||||
| `darwin-x64` | `2788d71` | 2023-02-12 |
|
||||
| `darwin-x64` | `2788d71` | 2023-07-24 |
|
||||
| `darwin-arm` | `2788d71` | 2023-06-05 |
|
||||
| `linux-x64` | `2788d71` | 2023-06-02 |
|
||||
| `win10-x64` | `2788d71` | 2023-07-24 |
|
||||
|
||||
When the demo was tested, commit `2788d71` corresponded to the latest release.
|
||||
|
||||
@ -298,7 +299,7 @@ curl -LO https://docs.sheetjs.com/quickjs/sheetjs.quick.c
|
||||
3) Build the sample application:
|
||||
|
||||
```bash
|
||||
gcc -o sheetjs.quick -Wall -lm sheetjs.quick.c libquickjs.a
|
||||
gcc -o sheetjs.quick -Wall sheetjs.quick.c libquickjs.a -lm
|
||||
```
|
||||
|
||||
This program tries to parse the file specified by the first argument
|
||||
|
@ -179,7 +179,7 @@ This demo was tested in the following deployments:
|
||||
|
||||
| Architecture | Git Commit | Date |
|
||||
|:-------------|:-----------|:-----------|
|
||||
| `darwin-x64` | `869312f` | 2023-05-30 |
|
||||
| `darwin-x64` | `9f8603b` | 2023-07-24 |
|
||||
| `darwin-arm` | `869312f` | 2023-06-05 |
|
||||
|
||||
:::
|
||||
|
@ -65,7 +65,12 @@ The `strict_` variants ensure that no newlines are added to the strings.
|
||||
|
||||
:::note
|
||||
|
||||
This demo was tested on 2023 February 14.
|
||||
This demo was tested in the following deployments:
|
||||
|
||||
| Platform | Ruby | ExecJS | Date |
|
||||
|:-------------|:---------|:--------|:-----------|
|
||||
| `darwin-x64` | `2.7.6` | `2.8.1` | 2023-07-24 |
|
||||
| `darwin-arm` | `2.6.10` | `2.8.1` | 2023-07-24 |
|
||||
|
||||
:::
|
||||
|
||||
@ -75,6 +80,16 @@ This demo was tested on 2023 February 14.
|
||||
gem install execjs
|
||||
```
|
||||
|
||||
:::note
|
||||
|
||||
The command may need to be run as an administrator or root user:
|
||||
|
||||
```bash
|
||||
sudo gem install execjs
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
1) Download the standalone script and test file:
|
||||
|
||||
<ul>
|
||||
|
@ -43,9 +43,12 @@ These instructions were tested on the following platforms:
|
||||
| Linux (Ubuntu 18.04 aarch64) | 2023-04-13 |
|
||||
| MacOS 10.13 (x64) | 2023-04-04 |
|
||||
| MacOS 13.0 (arm64) | 2023-04-13 |
|
||||
| Windows 10 (x64) + WSL Ubuntu | 2023-01-14 |
|
||||
| Windows 10 (x64) + WSL Ubuntu | 2023-07-23 |
|
||||
| Windows 11 (x64) + WSL Ubuntu | 2023-04-04 |
|
||||
|
||||
With some additional dependencies, the unminified build is reproducible and
|
||||
tests will pass in Windows XP with NodeJS 5.10.0.
|
||||
|
||||
:::
|
||||
|
||||
### Install dependencies
|
||||
@ -86,6 +89,16 @@ sudo npm i -g n
|
||||
sudo n 16
|
||||
```
|
||||
|
||||
:::note pass
|
||||
|
||||
If `npm` is missing, it can be installed with
|
||||
|
||||
```bash
|
||||
sudo apt-get install -y npm
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
D) Build and install a version of Git with proper SSL support:
|
||||
|
||||
```bash
|
||||
@ -101,6 +114,12 @@ should be run twice, once within PowerShell and once within WSL bash:
|
||||
```bash
|
||||
git config --global --add core.autocrlf false
|
||||
git config --global --unset core.autocrlf true
|
||||
```
|
||||
|
||||
F) Run `unzip`. If the program is missing, install manually:
|
||||
|
||||
```bash
|
||||
sudo apt-get install -y unzip
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Note: The official Hermes documentation includes zero guidance on embedding.
|
||||
# Tested against commit 869312f185b73a7d7678a28f5f3216052c667e90
|
||||
# Tested against commit 9f8603b9886c957e0ccead61fe4380616188bbb4
|
||||
|
||||
.PHONY: doit
|
||||
doit: sheetjs-hermes
|
||||
@ -53,5 +53,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 869312f185b73a7d7678a28f5f3216052c667e90; cd ..; fi
|
||||
if [ ! -e hermes ]; then git clone https://github.com/facebook/hermes.git; cd hermes; git checkout 9f8603b9886c957e0ccead61fe4380616188bbb4; cd ..; fi
|
||||
if [ ! -e build_release ]; then cmake -S hermes -B build_release -G Ninja -DCMAKE_BUILD_TYPE=Release; cmake --build ./build_release; fi
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 12 KiB |
Loading…
Reference in New Issue
Block a user