This commit is contained in:
SheetJS 2023-04-04 23:17:05 -04:00
parent d822e8e082
commit 04b4124414

View File

@ -33,6 +33,19 @@ After cloning the repo, running `make help` will display a list of commands.
These instructions will cover system configuration, cloning the source repo,
building, reproducing official releases, and running NodeJS and browser tests.
:::note
These instructions were tested on the following platforms:
| Platform | Test Date |
|:------------------------------|:-----------|
| Linux (Steam Deck Holo 3.4.6) | 2023-04-04 |
| MacOS 10.13 (x64) | 2023-04-04 |
| Windows 10 (x64) + WSL Ubuntu | 2023-01-14 |
| Windows 11 (x64) + WSL Ubuntu | 2023-04-04 |
:::
### Install dependencies
#### OS-Specific Setup
@ -43,7 +56,9 @@ import TabItem from '@theme/TabItem';
<Tabs>
<TabItem value="wsl" label="Windows WSL">
A) Install mercurial and subversion.
A) Ensure WSL ("WSL 2" in Windows 10) and the Ubuntu distribution are installed.
B) Install mercurial and subversion.
```bash
# Install support programs for the build and test commands
@ -53,7 +68,7 @@ sudo apt-get install mercurial subversion
sudo add-apt-repository --remove ppa:mercurial-ppa/releases
```
B) Install NodeJS
C) Install NodeJS
```bash
# Install bootstrap NodeJS and NPM within the WSL
@ -69,7 +84,7 @@ sudo npm i -g n
sudo n 16
```
C) Build and install a version of Git with proper SSL support:
D) Build and install a version of Git with proper SSL support:
```bash
# Git does not support OpenSSL out of the box, must do this
@ -78,7 +93,7 @@ chmod +x compile-git-with-openssl.sh
./compile-git-with-openssl.sh
```
D) Set `git` config `core.autocrlf` setting to `false`. The following commands
E) Set `git` config `core.autocrlf` setting to `false`. The following commands
should be run twice, once within PowerShell and once within WSL bash:
```powershell
@ -125,6 +140,9 @@ E) Install NodeJS
[The official NodeJS site](https://nodejs.org/en/download/) provides installers
for "LTS" and "Current" releases. The "LTS" version should be installed.
Older versions of macOS are not compatible with newer versions of NodeJS. In
local testing, macOS 10.13 required NodeJS version `12.22.12`
:::
</TabItem>
@ -229,6 +247,9 @@ make test_misc
# Full Build
cd modules; make clean; make; cd ..
make dist
# Reset repo
git checkout -- .
```
### Reproduce official builds
@ -279,7 +300,7 @@ $ md5sum dist/xlsx.full.min.js
The checksum for the CDN version can be computed with:
```bash
curl -L https://cdn.sheetjs.com/xlsx-0.19.1/package/dist/xlsx.full.min.js | md5sum -
$ curl -L https://cdn.sheetjs.com/xlsx-0.19.1/package/dist/xlsx.full.min.js | md5sum -
00b46a9f2d30ddc69780ab8049d6809e -
```