forked from sheetjs/docs.sheetjs.com
		
	Demo refresh
This commit is contained in:
		
							parent
							
								
									4e3a0637ea
								
							
						
					
					
						commit
						2d6b139ef7
					
				| @ -354,7 +354,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"><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> | ||||
|    <Row> | ||||
|  | ||||
| @ -35,12 +35,12 @@ This demo was tested in the following configurations: | ||||
| 
 | ||||
| | Platform                                                          | Architecture | Date       | | ||||
| |:------------------------------------------------------------------|:-------------|:-----------| | ||||
| | NVIDIA RTX 5090 (32 GB VRAM) + Ryzen Z1 Extreme (16 GB RAM)       | `win11-x64`  | 2025-05-17 | | ||||
| | NVIDIA RTX 5090 (32 GB VRAM) + Ryzen Z1 Extreme (24 GB RAM)       | `win11-x64`  | 2025-06-17 | | ||||
| | NVIDIA RTX 4090 (24 GB VRAM) + Ryzen Z1 Extreme (16 GB RAM)       | `win11-x64`  | 2025-04-17 | | ||||
| | NVIDIA RTX 4090 (24 GB VRAM) + Ryzen Z1 Extreme (16 GB RAM)       | `linux-x64`  | 2025-01-28 | | ||||
| | AMD RX 7900 XTX (24 GB VRAM) + Ryzen Z1 Extreme (16 GB RAM)       | `win11-x64`  | 2025-01-12 | | ||||
| | AMD RX 7900 XTX (24 GB VRAM) + Ryzen Z1 Extreme (16 GB RAM)       | `win11-x64`  | 2025-06-20 | | ||||
| | AMD RX 7900 XTX (24 GB VRAM) + Ryzen Z1 Extreme (16 GB RAM)       | `linux-x64`  | 2025-01-29 | | ||||
| | Intel Arc B580 (12 GB VRAM) + Ryzen Z1 Extreme (24 GB RAM)        | `win11-x64`  | 2025-01-24 | | ||||
| | Intel Arc B580 (12 GB VRAM) + Ryzen Z1 Extreme (24 GB RAM)        | `win11-x64`  | 2025-06-20 | | ||||
| | Intel Arc B580 (12 GB VRAM) + Ryzen Z1 Extreme (16 GB RAM)        | `linux-x64`  | 2025-02-08 | | ||||
| | Apple M4 Max 16-Core CPU + 40-Core GPU (48 GB unified memory)     | `darwin-arm` | 2025-03-06 | | ||||
| | Apple M2 Max 12-Core CPU + 30-Core GPU (32 GB unified memory)     | `darwin-arm` | 2025-03-25 | | ||||
| @ -723,7 +723,7 @@ a [sample cars dataset](pathname:///cd.xls) and displays the results. | ||||
| 
 | ||||
| :::caution pass | ||||
| 
 | ||||
| This demo was tested using the ChatQA-1.5 model[^9] in Ollama. | ||||
| This demo was tested using the Phi-4[^9] in Ollama. | ||||
| 
 | ||||
| The tested model used up to 10GB VRAM. It is strongly recommended to run the | ||||
| demo on a GPU with at least 12GB VRAM or a newer Apple Silicon Mac with at least | ||||
| @ -854,7 +854,7 @@ npm i --save https://sheet.lol/balls/xlsx-${current}.tgz`} | ||||
| 4) Install dependencies: | ||||
| 
 | ||||
| ```bash | ||||
| npm i --save @langchain/core@0.3.57 langchain@0.3.21 @langchain/ollama@0.2.1 peggy@3.0.2 | ||||
| npm i --save @langchain/core@0.3.59 langchain@0.3.28 @langchain/ollama@0.2.2 peggy@3.0.2 | ||||
| ``` | ||||
| 
 | ||||
| :::note pass | ||||
| @ -863,7 +863,7 @@ In some test runs, there were error messages relating to dependency and peer | ||||
| dependency versions. The `--force` flag will suppress version mismatch errors: | ||||
| 
 | ||||
| ```bash | ||||
| npm i --save @langchain/core@0.3.57 langchain@0.3.21 @langchain/ollama@0.2.1 peggy@3.0.2 --force | ||||
| npm i --save @langchain/core@0.3.59 langchain@0.3.28 @langchain/ollama@0.2.2 peggy@3.0.2 --force | ||||
| ``` | ||||
| 
 | ||||
| ::: | ||||
| @ -890,10 +890,10 @@ curl.exe -LO https://docs.sheetjs.com/cd.xls | ||||
| 
 | ||||
| ::: | ||||
| 
 | ||||
| 6) Install the `llama3-chatqa:8b-v1.5-q8_0` model using Ollama: | ||||
| 6) Install the `phi4:14b` model using Ollama: | ||||
| 
 | ||||
| ```bash | ||||
| ollama pull llama3-chatqa:8b-v1.5-q8_0 | ||||
| ollama pull phi4:14b | ||||
| ``` | ||||
| 
 | ||||
| <details> | ||||
| @ -975,5 +975,5 @@ charts, tables, and other features. | ||||
| [^6]: See ["Supported Output Formats" type in "Writing Files"](/docs/api/write-options#supported-output-formats) | ||||
| [^7]: See ["Workbook Object"](/docs/csf/book) | ||||
| [^8]: See [`sheet_to_json` in "Utilities"](/docs/api/utilities/array#array-output) | ||||
| [^9]: See [the official ChatQA website](https://chatqa-project.github.io/) for the ChatQA paper and other model details. | ||||
| [^9]: See [the Phi-4 Technical Report](https://arxiv.org/abs/2412.08905) for more details. | ||||
| [^10]: Select ["Windows" `x86_64`](https://conda-forge.org/download/) in the Installation page. | ||||
|  | ||||
| @ -6,7 +6,7 @@ pagination_next: demos/frontend/index | ||||
| --- | ||||
| 
 | ||||
| <head> | ||||
|   <script src="https://cdn.jsdelivr.net/npm/danfojs@1.1.2/lib/bundle.min.js"></script> | ||||
|   <script src="https://cdn.jsdelivr.net/npm/danfojs@1.2.0/lib/bundle.min.js"></script> | ||||
| </head> | ||||
| 
 | ||||
| [SheetJS](https://sheetjs.com) is a JavaScript library for reading and writing | ||||
| @ -23,8 +23,8 @@ This demo was tested in the following deployments: | ||||
| 
 | ||||
| | Platform     | Version | Date       | | ||||
| |:-------------|:--------|:-----------| | ||||
| | Chromium 131 | `1.1.2` | 2025-01-01 | | ||||
| | Safari 18.2  | `1.1.2` | 2025-01-01 | | ||||
| | Chromium 137 | `1.2.0` | 2025-06-16 | | ||||
| | Safari 18.5  | `1.2.0` | 2025-06-16 | | ||||
| | Konqueror 22 | `1.1.2` | 2025-04-23 | | ||||
| 
 | ||||
| ::: | ||||
| @ -34,7 +34,7 @@ This demo was tested in the following deployments: | ||||
| The live demos on this page include the DanfoJS browser bundle: | ||||
| 
 | ||||
| ```html | ||||
|   <script src="https://cdn.jsdelivr.net/npm/danfojs@1.1.2/lib/bundle.min.js"></script> | ||||
|   <script src="https://cdn.jsdelivr.net/npm/danfojs@1.2.0/lib/bundle.min.js"></script> | ||||
| ``` | ||||
| 
 | ||||
| There are known issues with the documentation generator. If a demo explicitly | ||||
|  | ||||
| @ -44,7 +44,7 @@ This demo was tested in the following deployments: | ||||
| | `darwin-arm` | Duktape `2.7.0` | 2.2.3  | 3.13.2 | 2025-03-30 | | ||||
| | `win11-x64`  | Duktape `2.7.0` | 2.2.3  | 3.11.9 | 2025-04-28 | | ||||
| | `win11-arm`  | Duktape `2.7.0` | 2.2.3  | 3.13.2 | 2025-02-23 | | ||||
| | `linux-x64`  | Duktape `2.7.0` | 1.5.3  | 3.11.7 | 2025-01-01 | | ||||
| | `linux-x64`  | Duktape `2.7.0` | 2.1.4  | 3.12.3 | 2025-06-16 | | ||||
| | `linux-arm`  | Duktape `2.7.0` | 1.5.3  | 3.11.2 | 2025-02-16 | | ||||
| 
 | ||||
| ::: | ||||
| @ -548,7 +548,7 @@ This demo was tested in the following deployments: | ||||
| | `darwin-arm` | Duktape `2.7.0` | 1.26.0  | 3.13.2 | 2025-03-30 | | ||||
| | `win11-x64`  | Duktape `2.7.0` | 1.28.1  | 3.11.9 | 2025-04-28 | | ||||
| | `win11-arm`  | Duktape `2.7.0` | 1.23.0  | 3.13.2 | 2025-02-23 | | ||||
| | `linux-x64`  | Duktape `2.7.0` | 1.18.0  | 3.11.7 | 2025-01-01 | | ||||
| | `linux-x64`  | Duktape `2.7.0` | 1.30.0  | 3.12.3 | 2025-06-16 | | ||||
| | `linux-arm`  | Duktape `2.7.0` | 1.22.0  | 3.11.2 | 2025-02-16 | | ||||
| 
 | ||||
| ::: | ||||
| @ -656,7 +656,7 @@ It is recommended to use a virtual environment. | ||||
| - Debian and Ubuntu distributions: | ||||
| 
 | ||||
| ```bash | ||||
| sudo apt-get install python3.11-venv | ||||
| sudo apt-get install python3-venv | ||||
| ``` | ||||
| 
 | ||||
| - `venv` is included in the `python` package in Arch Linux-based platforms. | ||||
|  | ||||
| @ -177,7 +177,7 @@ document.getElementById("xport").addEventListener("click", function() { | ||||
|     prez.forEach(function(row) { | ||||
|       row.start = row.terms.find(function(term) { | ||||
|         return term.type === "prez"; | ||||
|       }).start | ||||
|       }).start; | ||||
|     }); | ||||
|     prez.sort(function(l,r) { return l.start.localeCompare(r.start); }); | ||||
| 
 | ||||
|  | ||||
| @ -34,21 +34,21 @@ This demo was tested in the following environments: | ||||
| 
 | ||||
| | Browserify | Date       | | ||||
| |:-----------|:-----------| | ||||
| | `17.0.1`   | 2025-01-07 | | ||||
| | `16.5.2`   | 2025-01-07 | | ||||
| | `15.2.0`   | 2025-01-07 | | ||||
| | `14.5.0`   | 2025-01-07 | | ||||
| | `13.3.0`   | 2025-01-07 | | ||||
| | `12.0.2`   | 2025-01-07 | | ||||
| | `11.2.0`   | 2025-01-07 | | ||||
| | `10.2.6`   | 2025-01-07 | | ||||
| | `9.0.8`    | 2025-01-07 | | ||||
| | `8.1.3`    | 2025-01-07 | | ||||
| | `7.1.0`    | 2025-01-07 | | ||||
| | `6.3.4`    | 2025-01-07 | | ||||
| | `5.13.1`   | 2025-01-07 | | ||||
| | `4.2.3`    | 2025-01-07 | | ||||
| | `3.46.1`   | 2025-01-07 | | ||||
| | `17.0.1`   | 2025-06-18 | | ||||
| | `16.5.2`   | 2025-06-18 | | ||||
| | `15.2.0`   | 2025-06-18 | | ||||
| | `14.5.0`   | 2025-06-18 | | ||||
| | `13.3.0`   | 2025-06-18 | | ||||
| | `12.0.2`   | 2025-06-18 | | ||||
| | `11.2.0`   | 2025-06-18 | | ||||
| | `10.2.6`   | 2025-06-18 | | ||||
| | `9.0.8`    | 2025-06-18 | | ||||
| | `8.1.3`    | 2025-06-18 | | ||||
| | `7.1.0`    | 2025-06-18 | | ||||
| | `6.3.4`    | 2025-06-18 | | ||||
| | `5.13.1`   | 2025-06-18 | | ||||
| | `4.2.3`    | 2025-06-18 | | ||||
| | `3.46.1`   | 2025-06-18 | | ||||
| 
 | ||||
| ::: | ||||
| 
 | ||||
| @ -115,7 +115,7 @@ document.getElementById("xport").addEventListener("click", function() { | ||||
|     prez.forEach(function(row) { | ||||
|       row.start = row.terms.find(function(term) { | ||||
|         return term.type === "prez"; | ||||
|       }).start | ||||
|       }).start; | ||||
|     }); | ||||
|     prez.sort(function(l,r) { return l.start.localeCompare(r.start); }); | ||||
| 
 | ||||
|  | ||||
| @ -35,7 +35,7 @@ This demo was tested in the following environments: | ||||
| 
 | ||||
| | Version   | Date       | | ||||
| |:----------|:-----------| | ||||
| | `1.2.246` | 2025-01-07 | | ||||
| | `1.21.1`  | 2025-06-18 | | ||||
| 
 | ||||
| ::: | ||||
| 
 | ||||
| @ -63,7 +63,7 @@ part of the `utils` object, the required import is: | ||||
| import { utils, writeFile } from 'xlsx'; | ||||
| ``` | ||||
| 
 | ||||
| :::danger pass | ||||
| :::caution pass | ||||
| 
 | ||||
| When this demo was tested against recent versions of `@swc/core`, `spack` crashed: | ||||
| 
 | ||||
| @ -75,7 +75,8 @@ thread '<unnamed>' panicked at 'cannot access a scoped thread local variable wit | ||||
| 
 | ||||
| This bug is known to affect versions `1.3.100`, `1.4.17`, and `1.10.6`. | ||||
| 
 | ||||
| Until the bug is fixed, it is strongly recommended to use `@swc/core@1.2.246`. | ||||
| This bug was fixed in version `1.21.1`. It is strongly recommended to upgrade | ||||
| existing projects to use `1.21.1` or to downgrade to `1.2.246`. | ||||
| 
 | ||||
| ::: | ||||
| 
 | ||||
| @ -94,17 +95,17 @@ npm init -y | ||||
| <Tabs groupId="pm"> | ||||
|   <TabItem value="npm" label="npm"> | ||||
| <CodeBlock language="bash">{`\ | ||||
| npm i --save https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz regenerator-runtime @swc/cli @swc/core@1.2.246`} | ||||
| npm i --save https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz regenerator-runtime @swc/cli @swc/core@1.21.1`} | ||||
| </CodeBlock> | ||||
|   </TabItem> | ||||
|   <TabItem value="pnpm" label="pnpm"> | ||||
| <CodeBlock language="bash">{`\ | ||||
| pnpm install --save https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz regenerator-runtime @swc/cli @swc/core@1.2.246`} | ||||
| pnpm install --save https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz regenerator-runtime @swc/cli @swc/core@1.21.1`} | ||||
| </CodeBlock> | ||||
|   </TabItem> | ||||
|   <TabItem value="yarn" label="Yarn" default> | ||||
| <CodeBlock language="bash">{`\ | ||||
| yarn add https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz regenerator-runtime @swc/cli @swc/core@1.2.246`} | ||||
| yarn add https://cdn.sheetjs.com/xlsx-${current}/xlsx-${current}.tgz regenerator-runtime @swc/cli @swc/core@1.21.1`} | ||||
| </CodeBlock> | ||||
|   </TabItem> | ||||
| </Tabs> | ||||
|  | ||||
| @ -334,8 +334,8 @@ This demo was tested in the following environments: | ||||
| | Architecture | PhantomJS | Date       | | ||||
| |:-------------|:----------|:-----------| | ||||
| | `darwin-x64` | `2.1.1`   | 2025-03-31 | | ||||
| | `win11-x64`  | `2.1.1`   | 2025-01-19 | | ||||
| | `linux-x64`  | `2.1.1`   | 2025-01-07 | | ||||
| | `win11-x64`  | `2.1.1`   | 2025-06-18 | | ||||
| | `linux-x64`  | `2.1.1`   | 2025-06-16 | | ||||
| 
 | ||||
| ::: | ||||
| 
 | ||||
| @ -421,7 +421,7 @@ a different error after assignment: | ||||
| This error is resolved by ignoring SSL errors. The complete command is: | ||||
| 
 | ||||
| ```bash | ||||
| env OPENSSL_CONF=/dev/null QT_QPA_PLATFORM=phantom ./phantomjs-2.1.1-linux-x86_64/bin/phantomjs --ignore-ssl-errors=true test.js | ||||
| env OPENSSL_CONF=/dev/null QT_QPA_PLATFORM=phantom ./phantomjs-2.1.1-linux-x86_64/bin/phantomjs --ignore-ssl-errors=true SheetJSPhantom.js | ||||
| ``` | ||||
| 
 | ||||
| ::: | ||||
|  | ||||
| @ -379,7 +379,7 @@ This demo was tested in the following deployments: | ||||
| | `darwin-arm` | 0.1.48  | 2.2.12 | 2025-04-24 | | ||||
| | `win11-x64`  | 0.1.48  | 2.2.12 | 2025-04-28 | | ||||
| | `win11-arm`  | 0.1.48  | 2.2.1  | 2025-02-23 | | ||||
| | `linux-x64`  | 0.1.48  | 2.0.5  | 2025-01-10 | | ||||
| | `linux-x64`  | 0.1.48  | 2.3.6  | 2025-06-16 | | ||||
| | `linux-arm`  | 0.1.48  | 2.1.10 | 2025-02-16 | | ||||
| 
 | ||||
| ::: | ||||
|  | ||||
| @ -51,7 +51,7 @@ This demo was tested in the following environments: | ||||
| | Windows 11 C++ | `win11-arm`  | `v0.77.2`   | 2025-02-23 | | ||||
| | Windows 11 C#  | `win11-arm`  | `v0.77.2`   | 2025-02-23 | | ||||
| | MacOS 15.3.2   | `darwin-x64` | `v0.76.7`   | 2025-03-31 | | ||||
| | MacOS 14.5     | `darwin-arm` | `v0.75.16`  | 2024-12-22 | | ||||
| | MacOS 14.5     | `darwin-arm` | `v0.78.3`   | 2025-06-14 | | ||||
| 
 | ||||
| ::: | ||||
| 
 | ||||
| @ -692,10 +692,10 @@ select `pres.xlsx` . The app will refresh and display the data from the file. | ||||
| 
 | ||||
| ### Project Setup | ||||
| 
 | ||||
| 1) Create a new React Native project using React Native `0.76.8`: | ||||
| 1) Create a new React Native project using React Native `0.78.2`: | ||||
| 
 | ||||
| ```bash | ||||
| npx -y @react-native-community/cli init SheetJSmacOS --version 0.76.8 | ||||
| npx -y @react-native-community/cli@15 init SheetJSmacOS --version 0.78.2 | ||||
| cd SheetJSmacOS | ||||
| ``` | ||||
| 
 | ||||
| @ -1023,9 +1023,9 @@ If there are no instances, the app path can be found in the `DerivedData` folder | ||||
| find ~/Library/Developer/Xcode/DerivedData -name SheetJSmacOS.app | grep Release | ||||
| ``` | ||||
| 
 | ||||
| :::caution pass | ||||
| :::info pass | ||||
| 
 | ||||
| During the last test, `xcodebuild` failed. Scrolling through the log reveals: | ||||
| In an older test run, `xcodebuild` failed. Scrolling through the log reveals: | ||||
| 
 | ||||
| ``` | ||||
|                 Welcome to Metro v0.80.12 | ||||
|  | ||||
| @ -38,7 +38,7 @@ This demo was tested in the following deployments: | ||||
| | Architecture | Version        | NodeJS    | Source    | Date       | | ||||
| |:-------------|:---------------|:----------|:----------|:-----------| | ||||
| | `darwin-x64` | `5.0.0-beta.4` | `14.15.3` | Pre-built | 2025-04-21 | | ||||
| | `darwin-arm` | `4.0.0-rc.6`   | `22.14.0` | Compiled  | 2025-04-03 | | ||||
| | `darwin-arm` | `5.0.0-beta.4` | `22.14.0` | Compiled  | 2025-06-18 | | ||||
| | `win11-x64`  | `5.0.0-beta.4` | `14.15.3` | Pre-built | 2025-05-07 | | ||||
| | `win11-arm`  | `4.0.0-rc.6`   | `22.14.0` | Compiled  | 2025-02-23 | | ||||
| | `linux-x64`  | `5.0.0-beta.4` | `14.15.3` | Pre-built | 2025-04-21 | | ||||
|  | ||||
| @ -38,7 +38,7 @@ This demo was tested in the following deployments: | ||||
| | Architecture | Version | NodeJS   | Date       | | ||||
| |:-------------|:--------|:---------|:-----------| | ||||
| | `darwin-x64` | `5.8.1` | `18.5.0` | 2025-04-21 | | ||||
| | `darwin-arm` | `5.8.1` | `18.5.0` | 2025-05-11 | | ||||
| | `darwin-arm` | `5.8.1` | `18.5.0` | 2025-06-18 | | ||||
| | `win11-x64`  | `5.8.1` | `18.5.0` | 2025-05-07 | | ||||
| | `win11-arm`  | `5.8.1` | `18.5.0` | 2025-02-23 | | ||||
| | `linux-x64`  | `5.8.1` | `18.5.0` | 2025-04-21 | | ||||
|  | ||||
| @ -31,7 +31,7 @@ This demo was tested in the following deployments: | ||||
| | Architecture | Version | NodeJS    | Date       | | ||||
| |:-------------|:--------|:----------|:-----------| | ||||
| | `darwin-x64` | `2.4.4` | `23.11.0` | 2025-04-21 | | ||||
| | `darwin-arm` | `2.4.4` | `22.14.0` | 2025-04-03 | | ||||
| | `darwin-arm` | `2.4.4` | `23.11.0` | 2025-06-18 | | ||||
| | `win11-x64`  | `2.4.4` | `16.20.2` | 2025-05-07 | | ||||
| | `linux-x64`  | `2.4.4` | `23.11.0` | 2025-04-21 | | ||||
| | `linux-arm`  | `2.4.4` | `23.8.0`  | 2025-02-15 | | ||||
|  | ||||
| @ -159,10 +159,10 @@ This demo was tested in the following deployments: | ||||
| | Architecture | NodeJS    | Date       | | ||||
| |:-------------|:----------|:-----------| | ||||
| | `darwin-x64` | `22.14.0` | 2025-04-21 | | ||||
| | `darwin-arm` | `23.8.0`  | 2025-02-16 | | ||||
| | `win11-x64`  | `22.13.0` | 2025-01-19 | | ||||
| | `darwin-arm` | `24.2.0`  | 2025-06-18 | | ||||
| | `win11-x64`  | `24.2.0`  | 2025-06-17 | | ||||
| | `win11-arm`  | `22.14.0` | 2025-02-23 | | ||||
| | `linux-x64`  | `22.12.0` | 2025-01-02 | | ||||
| | `linux-x64`  | `24.2.0`  | 2025-06-16 | | ||||
| | `linux-arm`  | `22.13.0` | 2025-02-16 | | ||||
| 
 | ||||
| ::: | ||||
|  | ||||
| @ -80,10 +80,10 @@ This demo was last tested in the following deployments: | ||||
| | Architecture | BunJS    | Date       | | ||||
| |:-------------|:---------|:-----------| | ||||
| | `darwin-x64` | `1.2.10` | 2025-04-21 | | ||||
| | `darwin-arm` | `1.2.8`  | 2025-04-03 | | ||||
| | `darwin-arm` | `1.2.16` | 2025-06-18 | | ||||
| | `win11-x64`  | `1.2.13` | 2025-05-07 | | ||||
| | `win11-arm`  | `1.2.3`  | 2025-02-23 | | ||||
| | `linux-x64`  | `1.1.43` | 2025-01-10 | | ||||
| | `linux-x64`  | `1.2.16` | 2025-06-16 | | ||||
| | `linux-arm`  | `1.2.2`  | 2025-02-16 | | ||||
| 
 | ||||
| ::: | ||||
|  | ||||
| @ -103,10 +103,10 @@ This demo was last tested in the following deployments: | ||||
| | Architecture | Deno     | Date       | | ||||
| |:-------------|:---------|:-----------| | ||||
| | `darwin-x64` | `2.2.11` | 2025-04-21 | | ||||
| | `darwin-arm` | `2.1.10` | 2025-02-13 | | ||||
| | `win11-x64`  | `2.1.6`  | 2025-01-19 | | ||||
| | `darwin-arm` | `2.3.6`  | 2025-06-18 | | ||||
| | `win11-x64`  | `2.3.6`  | 2025-06-17 | | ||||
| | `win11-arm`  | `2.2.1`  | 2025-02-23 | | ||||
| | `linux-x64`  | `2.1.4`  | 2025-01-02 | | ||||
| | `linux-x64`  | `2.3.6`  | 2025-06-16 | | ||||
| | `linux-arm`  | `2.1.10` | 2025-02-15 | | ||||
| 
 | ||||
| ::: | ||||
|  | ||||
| @ -41,7 +41,7 @@ This demo was tested in the following deployments: | ||||
| |:---------------|:-------------|:-----------|:-----------| | ||||
| | macOS 15.3     | `darwin-x64` | 16.95.4    | 2025-04-17 | | ||||
| | macOS 14.5     | `darwin-arm` | 16.96.1    | 2025-04-24 | | ||||
| | Windows 11     | `win11-x64`  | 365 (2501) | 2025-01-19 | | ||||
| | Windows 11     | `win11-x64`  | 365 (2506) | 2025-06-17 | | ||||
| | Windows 11     | `win11-arm`  | 365 (2503) | 2025-04-24 | | ||||
| 
 | ||||
| ::: | ||||
|  | ||||
| @ -149,7 +149,7 @@ This demo was tested in the following deployments: | ||||
| | `13.7.5`      | `darwin-x64` | macOS 15.3.2  | `clang 16.0.0`   | 2025-03-31 | | ||||
| | `13.5.92`     | `darwin-arm` | macOS 14.5    | `clang 16.0.0`   | 2025-02-15 | | ||||
| | `13.8.124`    | `win11-x64`  | Windows 11    | `CL 19.43.34810` | 2025-05-11 | | ||||
| | `12.7.130`    | `linux-x64`  | HoloOS 3.6.20 | `gcc 13.2.1`     | 2025-01-02 | | ||||
| | `13.5.92`     | `linux-x64`  | Ubuntu 24.04  | `gcc 13.3.0`     | 2025-06-16 | | ||||
| | `13.5.92`     | `linux-arm`  | Debian 12     | `gcc 12.2.0`     | 2025-02-15 | | ||||
| 
 | ||||
| ::: | ||||
| @ -525,6 +525,18 @@ ninja -C out.gn/arm64.release.sample v8_monolith | ||||
| 
 | ||||
| ```bash | ||||
| tools/dev/v8gen.py x64.release.sample | ||||
| ``` | ||||
| 
 | ||||
| Append the following lines to `out.gn/x64.release.sample/args.gn`: | ||||
| 
 | ||||
| ```text title="out.gn/x64.release.sample/args.gn (add to file)" | ||||
| is_clang = false | ||||
| treat_warnings_as_errors = false | ||||
| ``` | ||||
| 
 | ||||
| Run the build: | ||||
| 
 | ||||
| ```bash | ||||
| ninja -C out.gn/x64.release.sample v8_monolith | ||||
| ``` | ||||
| 
 | ||||
| @ -1091,7 +1103,7 @@ This demo was last tested in the following deployments: | ||||
| | `darwin-x64` | `136.0.0` | 2025-04-21 | | ||||
| | `darwin-arm` | `134.3.0` | 2025-02-13 | | ||||
| | `win11-x64`  | `137.1.0` | 2025-05-11 | | ||||
| | `linux-x64`  | `130.0.7` | 2025-01-09 | | ||||
| | `linux-x64`  | `137.2.0` | 2025-06-16 | | ||||
| | `linux-arm`  | `134.4.0` | 2025-02-15 | | ||||
| 
 | ||||
| ::: | ||||
| @ -1422,7 +1434,7 @@ This demo was last tested in the following deployments: | ||||
| | `darwin-arm` | `13.3.415.23` | 2025-03-31 | | ||||
| | `win11-x64`  | `13.3.415.23` | 2025-05-11 | | ||||
| | `win11-arm`  | `12.3.219.12` | 2025-02-23 | | ||||
| | `linux-x64`  | `12.3.219.12` | 2025-01-10 | | ||||
| | `linux-x64`  | `12.3.219.12` | 2025-06-16 | | ||||
| | `linux-arm`  | `12.3.219.12` | 2025-02-16 | | ||||
| 
 | ||||
| ::: | ||||
| @ -1466,7 +1478,7 @@ Click "OK" in each window (3 windows) and restart your computer. | ||||
| <details> | ||||
|   <summary><b>Installation Notes</b> (click to show)</summary> | ||||
| 
 | ||||
| For macOS x64 and ARM64, install the `dotnet-sdk` Cask with Homebrew: | ||||
| For macOS x64 and ARM64, the `dotnet-sdk` cask can be installed with Homebrew: | ||||
| 
 | ||||
| ```bash | ||||
| brew install --cask dotnet-sdk | ||||
| @ -1559,7 +1571,7 @@ var xlsb = (ITypedArray<byte>)engine.Evaluate("XLSX.write(wb, {bookType: 'xlsb', | ||||
| File.WriteAllBytes("SheetJSClearScript.xlsb", xlsb.ToArray()); | ||||
| ``` | ||||
| 
 | ||||
| After saving, run the program and pass the test file name as an argument: | ||||
| 7) Run the program, passing the test file name as an argument: | ||||
| 
 | ||||
| ```bash | ||||
| dotnet run pres.xlsx | ||||
| @ -1640,6 +1652,7 @@ This demo was last tested in the following deployments: | ||||
| | `darwin-x64` | `13.1.201.22` | `3.13.1` | 2025-03-31 | | ||||
| | `darwin-arm` | `13.1.201.22` | `3.13.2` | 2025-04-24 | | ||||
| | `win11-x64`  | `13.1.201.22` | `3.11.9` | 2025-04-28 | | ||||
| | `linux-x64`  | `13.1.201.22` | `3.12.3` | 2025-06-16 | | ||||
| 
 | ||||
| ::: | ||||
| 
 | ||||
| @ -1671,7 +1684,7 @@ download and install version `13.0.245.16` for Python `3.13` on `darwin-arm`: | ||||
| 
 | ||||
| ```bash | ||||
| curl -LO https://github.com/cloudflare/stpyv8/releases/download/v13.1.201.22/stpyv8-13.1.201.22-cp313-cp313-macosx_14_0_arm64.whl | ||||
| sudo python -m pip install --upgrade stpyv8-13.1.201.22-cp313-cp313-macosx_14_0_arm64.whl --break-system-packages | ||||
| sudo python -m pip install --break-system-packages --upgrade stpyv8-13.1.201.22-cp313-cp313-macosx_14_0_arm64.whl | ||||
| ``` | ||||
| 
 | ||||
| ::: | ||||
| @ -1751,7 +1764,7 @@ This demo was last tested in the following deployments: | ||||
| | `darwin-x64` | `13.5.212.10` | `136.0.0` | 2025-04-21 | | ||||
| | `darwin-arm` | `13.5.212.10` | `136.0.0` | 2025-04-24 | | ||||
| | `win11-x64`  | `13.5.212.10` | `136.0.0` | 2025-05-11 | | ||||
| | `linux-x64`  | `12.6.228.3`  | `0.92.0`  | 2025-01-02 | | ||||
| | `linux-x64`  | `13.5.212.10` | `136.0.0` | 2025-06-16 | | ||||
| | `linux-arm`  | `13.4.114.9`  | `134.4.0` | 2025-02-15 | | ||||
| 
 | ||||
| ::: | ||||
|  | ||||
| @ -167,7 +167,7 @@ This demo was tested in the following deployments: | ||||
| | `darwin-arm` | `4.2.0` | 2025-02-13 | | ||||
| | `win11-x64`  | `4.2.2` | 2026-04-28 | | ||||
| | `win11-arm`  | `4.2.0` | 2025-02-23 | | ||||
| | `linux-x64`  | `4.1.0` | 2025-01-09 | | ||||
| | `linux-x64`  | `4.2.2` | 2025-06-16 | | ||||
| | `linux-arm`  | `4.2.0` | 2025-02-15 | | ||||
| 
 | ||||
| ::: | ||||
|  | ||||
| @ -106,10 +106,10 @@ This demo was tested in the following deployments: | ||||
| | Architecture | Git Commit | Go version | Date       | | ||||
| |:-------------|:-----------|:-----------|:-----------| | ||||
| | `darwin-x64` | `bcd7cc6`  | `1.24.1`   | 2025-03-31 | | ||||
| | `darwin-arm` | `5ef83b8`  | `1.24.0`   | 2025-02-13 | | ||||
| | `darwin-arm` | `cb187b0`  | `1.24.0`   | 2025-06-18 | | ||||
| | `win11-x64`  | `bcd7cc6`  | `1.24.2`   | 2025-04-28 | | ||||
| | `win11-arm`  | `5ef83b8`  | `1.24.0`   | 2025-02-23 | | ||||
| | `linux-x64`  | `79f3a7e`  | `1.22.0`   | 2025-01-02 | | ||||
| | `linux-x64`  | `cb187b0`  | `1.22.2`   | 2025-06-16 | | ||||
| | `linux-arm`  | `5ef83b8`  | `1.19.8`   | 2025-02-15 | | ||||
| 
 | ||||
| At the time of writing, Goja did not have proper version numbers. Versions are | ||||
|  | ||||
| @ -267,7 +267,7 @@ This demo was tested in the following deployments: | ||||
| | `darwin-arm` | QuickJS    | `3306254`  | 2025-04-24 | | ||||
| | `win11-x64`  | QuickJS-NG | `865ba1f`  | 2025-04-18 | | ||||
| | `win11-arm`  | QuickJS-NG | `865ba1f`  | 2025-04-18 | | ||||
| | `linux-x64`  | QuickJS    | `6e2e68f`  | 2025-01-09 | | ||||
| | `linux-x64`  | QuickJS    | `3306254`  | 2025-06-18 | | ||||
| | `linux-arm`  | QuickJS    | `6e2e68f`  | 2025-02-15 | | ||||
| 
 | ||||
| When the demo was tested, `0d7aaed` was the HEAD commit on the `master` branch. | ||||
|  | ||||
| @ -133,10 +133,10 @@ This demo was tested in the following deployments: | ||||
| | Architecture | Git Commit | Date       | | ||||
| |:-------------|:-----------|:-----------| | ||||
| | `darwin-x64` | `36becec`  | 2025-03-31 | | ||||
| | `darwin-arm` | `e26c81f`  | 2025-01-13 | | ||||
| | `darwin-arm` | `36becec`  | 2025-06-20 | | ||||
| | `win11-x64`  | `36becec`  | 2025-04-28 | | ||||
| | `win11-arm`  | `e26c81f`  | 2025-02-23 | | ||||
| | `linux-x64`  | `e26c81f`  | 2025-01-09 | | ||||
| | `linux-x64`  | `36becec`  | 2025-06-18 | | ||||
| 
 | ||||
| ::: | ||||
| 
 | ||||
| @ -152,8 +152,17 @@ brew install icu4c cmake | ||||
|   </TabItem> | ||||
|   <TabItem value="darwin-arm" label="ARM64 Mac"> | ||||
| 
 | ||||
| :::caution pass | ||||
| 
 | ||||
| When this demo was last tested, the Homebrew version of `cmake` did not support | ||||
| the project. Cmake version 3 should be installed. Binary releases can be found | ||||
| [at the Cmake project website](https://cmake.org/) or installed using Homebrew | ||||
| with third-party formulae. | ||||
| 
 | ||||
| ::: | ||||
| 
 | ||||
| ```bash | ||||
| brew install icu4c cmake | ||||
| brew install icu4c botantony/cmake3/cmake3 | ||||
| ``` | ||||
| 
 | ||||
|   </TabItem> | ||||
| @ -163,6 +172,12 @@ On Arch Linux / HoloOS: | ||||
| 
 | ||||
| ```bash | ||||
| sudo pacman -S cmake clang | ||||
| ``` | ||||
| 
 | ||||
| On Debian / Ubuntu: | ||||
| 
 | ||||
| ```bash | ||||
| sudo apt-get install cmake clang | ||||
| ``` | ||||
| 
 | ||||
|   </TabItem> | ||||
| @ -276,12 +291,14 @@ When the demo was last tested, ChakraCore JIT was not supported. | ||||
| 
 | ||||
| ```bash | ||||
| cd ChakraCore | ||||
| ./build.sh --static --icu=/usr/local/opt/icu4c/include --test-build -j=8 --no-jit | ||||
| export PATH="$(brew --prefix cmake3)/bin:${PATH}" | ||||
| ./build.sh --static --icu=$(brew --prefix)/opt/icu4c/include --test-build -j=8 --no-jit | ||||
| cd .. | ||||
| ``` | ||||
| 
 | ||||
| ::: | ||||
| 
 | ||||
| :::note pass | ||||
| :::caution Troubleshooting | ||||
| 
 | ||||
| In some test runs, the build failed with the message: | ||||
| 
 | ||||
| @ -298,9 +315,7 @@ ln -s /opt/homebrew/opt/icu4c usr/local/opt/icu4c | ||||
| cd .. | ||||
| ``` | ||||
| 
 | ||||
| ::: | ||||
| 
 | ||||
| :::caution pass | ||||
| --- | ||||
| 
 | ||||
| In some test runs, compilation failed with `operator` errors: | ||||
| 
 | ||||
| @ -347,6 +362,25 @@ index 5a3a099bc..e05a7390f 100644 | ||||
|  #endif | ||||
| ``` | ||||
| 
 | ||||
| --- | ||||
| 
 | ||||
| In some test runs, compilation failed with C++17 errors: | ||||
| 
 | ||||
| ``` | ||||
| /opt/homebrew/opt/icu4c/include/unicode/char16ptr.h:271:38: error: no template named 'enable_if_t' in namespace 'std' | ||||
|   271 | template<typename T, typename = std::enable_if_t<std::is_same_v<T, UChar>>> | ||||
|       |                                 ~~~~~^ | ||||
| ``` | ||||
| 
 | ||||
| ChakraCore can be compiled without ICU support: | ||||
| 
 | ||||
| ```bash | ||||
| cd ChakraCore | ||||
| export PATH="$(brew --prefix cmake3)/bin:${PATH}" | ||||
| ./build.sh --static --no-icu --test-build -j=8 --no-jit | ||||
| cd .. | ||||
| ``` | ||||
| 
 | ||||
| ::: | ||||
| 
 | ||||
|   </TabItem> | ||||
| @ -575,7 +609,7 @@ If successful, the program will print the contents of the first sheet as CSV. | ||||
| 
 | ||||
| :::note Tested Deployments | ||||
| 
 | ||||
| This demo was last tested on 2025-04-28 against `ch` commit `36becec`. | ||||
| This demo was last tested on 2025-06-20 against `ch` commit `36becec`. | ||||
| 
 | ||||
| ::: | ||||
| 
 | ||||
|  | ||||
| @ -129,7 +129,7 @@ This demo was tested in the following deployments: | ||||
| |:-------------|:--------|:-----------| | ||||
| | `darwin-x64` | `0.066` | 2025-03-31 | | ||||
| | `darwin-arm` | `0.066` | 2025-02-13 | | ||||
| | `linux-x64`  | `0.066` | 2025-01-10 | | ||||
| | `linux-x64`  | `0.066` | 2025-06-16 | | ||||
| | `linux-arm`  | `0.066` | 2025-02-15 | | ||||
| 
 | ||||
| ::: | ||||
|  | ||||
| @ -326,7 +326,7 @@ This demo was tested in the following deployments: | ||||
| | `darwin-arm` | `1.3.5` | 2025-02-13 | | ||||
| | `win11-x64`  | `1.3.6` | 2025-04-23 | | ||||
| | `win11-arm`  | `1.3.5` | 2025-02-23 | | ||||
| | `linux-x64`  | `1.3.5` | 2025-01-09 | | ||||
| | `linux-x64`  | `1.3.6` | 2025-06-16 | | ||||
| | `linux-arm`  | `1.3.5` | 2025-02-15 | | ||||
| 
 | ||||
| ::: | ||||
|  | ||||
| @ -180,7 +180,7 @@ This demo was tested in the following deployments: | ||||
| | `darwin-arm` | `3.2.9`  | 2025-03-30 | | ||||
| | `win11-x64`  | `3.2.9`  | 2025-04-23 | | ||||
| | `win11-arm`  | `3.2.9`  | 2025-02-23 | | ||||
| | `linux-x64`  | `3.2.8`  | 2025-01-10 | | ||||
| | `linux-x64`  | `3.2.9`  | 2025-06-16 | | ||||
| | `linux-arm`  | `3.2.9`  | 2025-02-15 | | ||||
| 
 | ||||
| ::: | ||||
|  | ||||
| @ -151,7 +151,7 @@ function ConcatFormula(props) { | ||||
| 
 | ||||
|   /* Process ArrayBuffer */ | ||||
|   const process_ab = (ab) => { | ||||
|     const wb = XLSX.read(ab, {cellFormula: true, sheetStubs: true}); | ||||
|     const wb = XLSX.read(ab, {cellFormula: true, sheetStubs: true, xlfn: true}); | ||||
|     setWS(wb.Sheets[wb.SheetNames[0]]); | ||||
|   }; | ||||
| 
 | ||||
|  | ||||
| @ -9,7 +9,8 @@ let s = 0, spin = ['\\', '|', '/', '-']; | ||||
| setInterval(() => { process.stderr.write(spin[s = ++s % spin.length] + '\u001b[0G'); }, 100).unref(); | ||||
| process.on('exit',  function() { process.stderr.write('\u001b[2K'); }); | ||||
| 
 | ||||
| const model = "llama3-chatqa:8b-v1.5-q8_0"; | ||||
| // const model = "llama3-chatqa:8b-v1.5-q8_0";
 | ||||
| const model = "phi4:14b"; | ||||
| 
 | ||||
| console.log(`Using model ${model}`); | ||||
| 
 | ||||
|  | ||||
| @ -1,8 +1,6 @@ | ||||
| #!/bin/bash | ||||
| # https://docs.sheetjs.com/docs/demos/frontend/bundler/browserify | ||||
| # requires global puppeteer and express | ||||
| 
 | ||||
| # sudo npm i -g puppeteer express@4 | ||||
| cd /tmp | ||||
| rm -rf sheetjs-browserify-tests | ||||
| mkdir sheetjs-browserify-tests | ||||
| @ -13,7 +11,7 @@ mkdir sheetjs-browserify-$n | ||||
| cd sheetjs-browserify-$n | ||||
| npm init -y | ||||
| 
 | ||||
| npm i --save https://cdn.sheetjs.com/xlsx-latest/xlsx-latest.tgz puppeteer | ||||
| npm i --save https://cdn.sheetjs.com/xlsx-latest/xlsx-latest.tgz puppeteer express@4 | ||||
| 
 | ||||
| cat >index.js <<EOF | ||||
| const { utils, version, writeFileXLSX } = require('xlsx'); | ||||
| @ -53,8 +51,7 @@ document.getElementById("xport").addEventListener("click", function() { | ||||
|     worksheet["!cols"] = [ { wch: max_width } ]; | ||||
| 
 | ||||
|     /* create an XLSX file and try to save to Presidents.xlsx */ | ||||
|     //writeFileXLSX(workbook, "Presidents.xlsx"); | ||||
|     console.log(utils.sheet_to_csv(worksheet)); | ||||
|     writeFileXLSX(workbook, "Presidents.xlsx"); | ||||
|   }); | ||||
| }); | ||||
| EOF | ||||
| @ -86,6 +83,11 @@ app.listen(7262, async() => { | ||||
|   const page = await browser.newPage(); | ||||
|   page.on("console", msg => console.log("PAGE LOG:", msg.text())); | ||||
|   await page.setViewport({width: 1920, height: 1080}); | ||||
|   const client = await page.target().createCDPSession(); | ||||
|   await client.send('Browser.setDownloadBehavior', { | ||||
|     behavior: 'allow', | ||||
|     downloadPath: require("path").resolve('./') | ||||
|   }); | ||||
|   await page.goto('http://localhost:7262/'); | ||||
|   await page.click("#xport"); | ||||
|   await new Promise((res,rej) => setTimeout(res, 1000)); | ||||
| @ -95,6 +97,7 @@ app.listen(7262, async() => { | ||||
| EOF | ||||
| 
 | ||||
| node test.js | ||||
| npx -y xlsx-cli Presidents.xlsx | head -n 3 | ||||
| 
 | ||||
| cd - | ||||
| done | ||||
							
								
								
									
										105
									
								
								tests/bundler/swcpack.sh
									
									
									
									
									
										Executable file
									
								
							
							
								
								
								
								
								
									
									
								
							
						
						
									
										105
									
								
								tests/bundler/swcpack.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,105 @@ | ||||
| #!/bin/bash | ||||
| # https://docs.sheetjs.com/docs/demos/frontend/bundler/swcpack | ||||
| 
 | ||||
| cd /tmp | ||||
| rm -rf sheetjs-spack | ||||
| mkdir sheetjs-spack | ||||
| cd sheetjs-spack | ||||
| npm init -y | ||||
| 
 | ||||
| npm i --save https://cdn.sheetjs.com/xlsx-latest/xlsx-latest.tgz regenerator-runtime @swc/cli @swc/core | ||||
| npm ls | grep core | ||||
| 
 | ||||
| cat >index.js <<EOF | ||||
| import { utils, version, writeFileXLSX } from 'xlsx'; | ||||
| 
 | ||||
| document.getElementById("xport").addEventListener("click", async() => { | ||||
| /* fetch JSON data and parse */ | ||||
| const url = "https://docs.sheetjs.com/executive.json"; | ||||
| const raw_data = await (await fetch(url)).json(); | ||||
| 
 | ||||
| /* filter for the Presidents */ | ||||
| const prez = raw_data.filter(row => row.terms.some(term => term.type === "prez")); | ||||
| 
 | ||||
| /* sort by first presidential term */ | ||||
| prez.forEach(row => row.start = row.terms.find(term => term.type === "prez").start); | ||||
| prez.sort((l,r) => l.start.localeCompare(r.start)); | ||||
| 
 | ||||
| /* flatten objects */ | ||||
| const rows = prez.map(row => ({ | ||||
|   name: row.name.first + " " + row.name.last, | ||||
|   birthday: row.bio.birthday | ||||
| })); | ||||
| 
 | ||||
| /* generate worksheet and workbook */ | ||||
| const worksheet = utils.json_to_sheet(rows); | ||||
| const workbook = utils.book_new(); | ||||
| utils.book_append_sheet(workbook, worksheet, "Dates"); | ||||
| 
 | ||||
| /* fix headers */ | ||||
| utils.sheet_add_aoa(worksheet, [["Name", "Birthday"]], { origin: "A1" }); | ||||
| 
 | ||||
| /* calculate column width */ | ||||
| const max_width = rows.reduce((w, r) => Math.max(w, r.name.length), 10); | ||||
| worksheet["!cols"] = [ { wch: max_width } ]; | ||||
| 
 | ||||
| /* create an XLSX file and try to save to Presidents.xlsx */ | ||||
| writeFileXLSX(workbook, "Presidents.xlsx"); | ||||
| }); | ||||
| EOF | ||||
| 
 | ||||
| cat >spack.config.js <<EOF | ||||
| module.exports = ({ | ||||
|   entry: { | ||||
|     'web': __dirname + '/index.js', | ||||
|   }, | ||||
|   output: { | ||||
|     path: __dirname + '/lib' | ||||
|   }, | ||||
|   module: {}, | ||||
| }); | ||||
| EOF | ||||
| 
 | ||||
| npx spack | ||||
| 
 | ||||
| cat >index.html <<EOF | ||||
| <!DOCTYPE html> | ||||
| <html lang="en"> | ||||
|   <head></head> | ||||
|   <body> | ||||
|     <h1>SheetJS Presidents Demo</h1> | ||||
|     <button id="xport">Click here to export</button> | ||||
|     <script src="./lib/web.js"></script> | ||||
|   </body> | ||||
| </html> | ||||
| EOF | ||||
| 
 | ||||
| npm i --save puppeteer express@4 | ||||
| cat >test.js <<EOF | ||||
| const puppeteer = require('puppeteer'); | ||||
| const express = require('express'); | ||||
| const app = express(); | ||||
| app.use(express.static('./')); | ||||
| app.listen(7262, async() => { | ||||
|   await new Promise((res,rej) => setTimeout(res, 1000)); | ||||
|   const browser = await puppeteer.launch(); | ||||
|   const page = await browser.newPage(); | ||||
|   page.on("console", msg => console.log("PAGE LOG:", msg.text())); | ||||
|   await page.setViewport({width: 1920, height: 1080}); | ||||
|   const client = await page.target().createCDPSession(); | ||||
|   await client.send('Browser.setDownloadBehavior', { | ||||
|     behavior: 'allow', | ||||
|     downloadPath: require("path").resolve('./') | ||||
|   }); | ||||
|   await page.goto('http://localhost:7262/'); | ||||
|   await page.click("#xport"); | ||||
|   await new Promise((res,rej) => setTimeout(res, 1000)); | ||||
|   await browser.close(); | ||||
|   process.exit(); | ||||
| }); | ||||
| EOF | ||||
| 
 | ||||
| node test.js | ||||
| npx -y xlsx-cli Presidents.xlsx | head -n 3 | ||||
| 
 | ||||
| cd - | ||||
| @ -11,8 +11,8 @@ curl -o xlsx-cli.js https://docs.sheetjs.com/cli/xlsx-cli.js | ||||
| 
 | ||||
| npm i --save https://cdn.sheetjs.com/xlsx-latest/xlsx-latest.tgz exit-on-epipe commander@2 | ||||
| 
 | ||||
| ## NOTE: these steps are for darwin-x64 | ||||
| ## NOTE: these steps are for darwin-arm | ||||
| 
 | ||||
| npx -y boxednode@2.4.4 -s xlsx-cli.js -t xlsx-cli | ||||
| npx -y boxednode@2.4.4 -s xlsx-cli.js -t xlsx-cli -n 23.11.0 | ||||
| 
 | ||||
| ./xlsx-cli pres.numbers | ||||
| @ -50,7 +50,7 @@ node --experimental-sea-config sheet2csv.json | ||||
| 
 | ||||
| cp `which node` sheet2csv | ||||
| 
 | ||||
| ## NOTE: codesign required for macOS  | ||||
| ## NOTE: codesign required for macOS | ||||
| command -v codesign | ||||
| has_cs=$? | ||||
| 
 | ||||
| @ -11,8 +11,6 @@ curl -o xlsx-cli.js https://docs.sheetjs.com/cli/xlsx-cli.js | ||||
| 
 | ||||
| npm i --save https://cdn.sheetjs.com/xlsx-latest/xlsx-latest.tgz exit-on-epipe commander@2 | ||||
| 
 | ||||
| ## NOTE: must downgrade to node 18 | ||||
| 
 | ||||
| npx -y pkg -t 'node18-win-arm64,node18-linux-arm64,node18-macos-arm64' xlsx-cli.js | ||||
| 
 | ||||
| ## NOTE: these steps are for darwin | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user