aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Vijay Aravamudhan <vraravam@users.noreply.github.com>2024-03-28 10:12:05 +0000
committerLibravatar GitHub <noreply@github.com>2024-03-28 15:42:05 +0530
commit53c72ea5ac4f103291fdd347b7cd9cc0dbafa4b5 (patch)
treeb5317730f7e7ac879732c1557a53ef4515a654e4
parentUpgrade electron to '29.1.6' (diff)
downloadferdium-app-53c72ea5ac4f103291fdd347b7cd9cc0dbafa4b5.tar.gz
ferdium-app-53c72ea5ac4f103291fdd347b7cd9cc0dbafa4b5.tar.zst
ferdium-app-53c72ea5ac4f103291fdd347b7cd9cc0dbafa4b5.zip
Bring in missing python (system dependency) (#1639)
* Introduce python as a system dependency (needed by node-gyp to compile native modules) * Introduce node-pre-gyp as a dependency * Upgrade sqlite3 to 5.1.7 to test the above Note: Currently this still depends on the availability of prebuilt binaries from the prebuild library. Which means that once a new version is available, only then will we know if this python/node-gyp integration works or whether it will still fallback to the availability of the prebuilt binaries from external sources. Only time will tell if we have solved the issue or not.
-rw-r--r--.github/workflows/builds.yml9
-rw-r--r--.python-version1
-rw-r--r--CONTRIBUTING.md11
-rw-r--r--Dockerfile2
-rw-r--r--package.json9
-rw-r--r--pnpm-lock.yaml145
-rwxr-xr-xscripts/build-unix.sh19
-rw-r--r--scripts/build-windows.ps12
8 files changed, 152 insertions, 46 deletions
diff --git a/.github/workflows/builds.yml b/.github/workflows/builds.yml
index 6ad31da9e..1788e42d9 100644
--- a/.github/workflows/builds.yml
+++ b/.github/workflows/builds.yml
@@ -55,6 +55,9 @@ jobs:
55 with: 55 with:
56 node-version-file: '.nvmrc' 56 node-version-file: '.nvmrc'
57 cache: 'pnpm' 57 cache: 'pnpm'
58 - name: Use python specified in the '.python-version' file
59 uses: actions/setup-python@v5
60 if: ${{ github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && contains(github.event.inputs.message, '[nightly branch]')) }}
58 - name: Install node dependencies 61 - name: Install node dependencies
59 if: ${{ github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && contains(github.event.inputs.message, '[nightly branch]')) }} 62 if: ${{ github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && contains(github.event.inputs.message, '[nightly branch]')) }}
60 uses: nick-fields/retry@v3 63 uses: nick-fields/retry@v3
@@ -177,6 +180,8 @@ jobs:
177 with: 180 with:
178 node-version-file: '.nvmrc' 181 node-version-file: '.nvmrc'
179 cache: 'pnpm' 182 cache: 'pnpm'
183 - name: Use python specified in the '.python-version' file
184 uses: actions/setup-python@v5
180 - name: Install node dependencies 185 - name: Install node dependencies
181 uses: nick-fields/retry@v3 186 uses: nick-fields/retry@v3
182 with: 187 with:
@@ -256,6 +261,8 @@ jobs:
256 with: 261 with:
257 node-version-file: '.nvmrc' 262 node-version-file: '.nvmrc'
258 cache: 'pnpm' 263 cache: 'pnpm'
264 - name: Use python specified in the '.python-version' file
265 uses: actions/setup-python@v5
259 - name: Install node dependencies 266 - name: Install node dependencies
260 uses: nick-fields/retry@v3 267 uses: nick-fields/retry@v3
261 with: 268 with:
@@ -356,6 +363,8 @@ jobs:
356 with: 363 with:
357 node-version-file: '.nvmrc' 364 node-version-file: '.nvmrc'
358 cache: 'pnpm' 365 cache: 'pnpm'
366 - name: Use python specified in the '.python-version' file
367 uses: actions/setup-python@v5
359 #TODO - Remove this once https://github.com/electron-userland/electron-builder/issues/6933#issuecomment-1213438889 is resolved 368 #TODO - Remove this once https://github.com/electron-userland/electron-builder/issues/6933#issuecomment-1213438889 is resolved
360 - name: Tweak pnpm.cjs 369 - name: Tweak pnpm.cjs
361 run: | 370 run: |
diff --git a/.python-version b/.python-version
new file mode 100644
index 000000000..b6d8b7612
--- /dev/null
+++ b/.python-version
@@ -0,0 +1 @@
3.11.8
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 887a72a5a..753068434 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -13,7 +13,7 @@
13 - [How can I contribute?](#how-can-i-contribute) 13 - [How can I contribute?](#how-can-i-contribute)
14 - [Setting up your development machine](#setting-up-your-development-machine) 14 - [Setting up your development machine](#setting-up-your-development-machine)
15 - [Install system-level dependencies](#install-system-level-dependencies) 15 - [Install system-level dependencies](#install-system-level-dependencies)
16 - [Node.js, pnpm](#nodejs-pnpm) 16 - [Node.js, pnpm, python](#nodejs-pnpm-python)
17 - [Git](#git) 17 - [Git](#git)
18 - [On Debian/Ubuntu](#on-debianubuntu) 18 - [On Debian/Ubuntu](#on-debianubuntu)
19 - [On Fedora](#on-fedora) 19 - [On Fedora](#on-fedora)
@@ -52,7 +52,7 @@ If so, engage in the already existing discussion.
52 52
53_Note:_ This list can likely get outdated. If so, please refer to the specific version of the [electronuserland builder](https://hub.docker.com/r/electronuserland/builder) that we use in our [Dockerfile](./Dockerfile). 53_Note:_ This list can likely get outdated. If so, please refer to the specific version of the [electronuserland builder](https://hub.docker.com/r/electronuserland/builder) that we use in our [Dockerfile](./Dockerfile).
54 54
55#### Node.js, pnpm 55#### Node.js, pnpm, python
56 56
57Please make sure you are conforming to the `engines` requirements used by the developers/contributors as specified in the [`package.json`](./package.json#engines) and [`recipes/package.json`](./recipes/package.json#engine) files. 57Please make sure you are conforming to the `engines` requirements used by the developers/contributors as specified in the [`package.json`](./package.json#engines) and [`recipes/package.json`](./recipes/package.json#engine) files.
58 58
@@ -63,11 +63,14 @@ Currently, these are the combinations of system dependencies that work for MacOS
63$ jq --null-input '[inputs.engines] | add' < ./package.json < ./recipes/package.json 63$ jq --null-input '[inputs.engines] | add' < ./package.json < ./recipes/package.json
64{ 64{
65 "node": "20.11.1", 65 "node": "20.11.1",
66 "pnpm": "8.15.5" 66 "pnpm": "8.15.5",
67 "python": "3.11.8"
67} 68}
68``` 69```
69 70
70_Note:_ You can choose any version manager to manage multiple versions of `node` and `pnpm`. For eg, [nvm](https://github.com/nvm-sh/nvm) or [asdf](https://github.com/asdf-vm/asdf). 71Python is only/mainly required to compile any dependencies for which the binary is not found, and we have to resort to compiling from source (for eg sqlite3)
72
73_Note:_ You can choose any version manager to manage multiple versions of `node` and `pnpm`. For eg, [nvm](https://github.com/nvm-sh/nvm) or [mise](https://github.com/jdx/mise).
71 74
72#### Git 75#### Git
73 76
diff --git a/Dockerfile b/Dockerfile
index 83baba00b..ffb309bfb 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -12,7 +12,7 @@ ARG PREVAL_BUILD_INFO_PLACEHOLDERS=true
12 12
13# Note: 'fpm' is needed for building on ARM machines 13# Note: 'fpm' is needed for building on ARM machines
14RUN apt-get update -y \ 14RUN apt-get update -y \
15 && apt-get install --no-install-recommends -y rpm ruby gem \ 15 && apt-get install --no-install-recommends -y python3 rpm ruby gem \
16 && gem install dotenv -v 2.8.1 --no-ri --no-rdoc --no-document \ 16 && gem install dotenv -v 2.8.1 --no-ri --no-rdoc --no-document \
17 && gem install fpm --no-ri --no-rdoc --no-document 17 && gem install fpm --no-ri --no-rdoc --no-document
18 18
diff --git a/package.json b/package.json
index 38edd2afe..e3e0507b1 100644
--- a/package.json
+++ b/package.json
@@ -14,12 +14,14 @@
14 "private": true, 14 "private": true,
15 "engines": { 15 "engines": {
16 "node": "20.11.1", 16 "node": "20.11.1",
17 "pnpm": "8.15.5" 17 "pnpm": "8.15.5",
18 "python": "3.11.8"
18 }, 19 },
19 "engine-strict": true, 20 "engine-strict": true,
20 "volta": { 21 "volta": {
21 "node": "20.11.1", 22 "node": "20.11.1",
22 "pnpm": "8.15.5" 23 "pnpm": "8.15.5",
24 "python": "3.11.8"
23 }, 25 },
24 "packageManager": "pnpm@8.15.5", 26 "packageManager": "pnpm@8.15.5",
25 "scripts": { 27 "scripts": {
@@ -127,7 +129,7 @@
127 "route-parser": "0.0.5", 129 "route-parser": "0.0.5",
128 "sanitize-filename": "1.6.3", 130 "sanitize-filename": "1.6.3",
129 "semver": "7.6.0", 131 "semver": "7.6.0",
130 "sqlite3": "5.1.6", 132 "sqlite3": "5.1.7",
131 "tar": "6.2.0", 133 "tar": "6.2.0",
132 "tslib": "2.6.2", 134 "tslib": "2.6.2",
133 "useragent-generator": "1.1.1-amkt-22079-finish.0", 135 "useragent-generator": "1.1.1-amkt-22079-finish.0",
@@ -141,6 +143,7 @@
141 "@electron/notarize": "1.2.3", 143 "@electron/notarize": "1.2.3",
142 "@formatjs/cli": "6.2.7", 144 "@formatjs/cli": "6.2.7",
143 "@jest/types": "29.6.3", 145 "@jest/types": "29.6.3",
146 "@mapbox/node-pre-gyp": "1.0.11",
144 "@types/auto-launch": "5.0.5", 147 "@types/auto-launch": "5.0.5",
145 "@types/color": "3.0.6", 148 "@types/color": "3.0.6",
146 "@types/fs-extra": "11.0.4", 149 "@types/fs-extra": "11.0.4",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index c3252c82e..fc59687eb 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -34,7 +34,7 @@ dependencies:
34 version: 2.0.8 34 version: 2.0.8
35 '@adonisjs/lucid': 35 '@adonisjs/lucid':
36 specifier: 6.3.0 36 specifier: 6.3.0
37 version: 6.3.0(sqlite3@5.1.6) 37 version: 6.3.0(sqlite3@5.1.7)
38 '@adonisjs/session': 38 '@adonisjs/session':
39 specifier: 1.1.0 39 specifier: 1.1.0
40 version: 1.1.0 40 version: 1.1.0
@@ -237,8 +237,8 @@ dependencies:
237 specifier: 7.6.0 237 specifier: 7.6.0
238 version: 7.6.0 238 version: 7.6.0
239 sqlite3: 239 sqlite3:
240 specifier: 5.1.6 240 specifier: 5.1.7
241 version: 5.1.6 241 version: 5.1.7
242 tar: 242 tar:
243 specifier: 6.2.0 243 specifier: 6.2.0
244 version: 6.2.0 244 version: 6.2.0
@@ -282,6 +282,9 @@ devDependencies:
282 '@jest/types': 282 '@jest/types':
283 specifier: 29.6.3 283 specifier: 29.6.3
284 version: 29.6.3 284 version: 29.6.3
285 '@mapbox/node-pre-gyp':
286 specifier: 1.0.11
287 version: 1.0.11
285 '@types/auto-launch': 288 '@types/auto-launch':
286 specifier: 5.0.5 289 specifier: 5.0.5
287 version: 5.0.5 290 version: 5.0.5
@@ -585,13 +588,13 @@ packages:
585 - supports-color 588 - supports-color
586 dev: false 589 dev: false
587 590
588 /@adonisjs/lucid@6.3.0(sqlite3@5.1.6): 591 /@adonisjs/lucid@6.3.0(sqlite3@5.1.7):
589 resolution: {integrity: sha512-4LNUAh/ruU2I0xIwwugrqbFPDB5xGZYPPWzODt3QAQhDhws76T/+HDuZmCdngzE0QC1Vi9Nd1Uqejgliq1N0Dg==} 592 resolution: {integrity: sha512-4LNUAh/ruU2I0xIwwugrqbFPDB5xGZYPPWzODt3QAQhDhws76T/+HDuZmCdngzE0QC1Vi9Nd1Uqejgliq1N0Dg==}
590 dependencies: 593 dependencies:
591 '@adonisjs/generic-exceptions': 2.0.1 594 '@adonisjs/generic-exceptions': 2.0.1
592 chance: 1.1.9 595 chance: 1.1.9
593 debug: 4.3.4(supports-color@5.5.0) 596 debug: 4.3.4(supports-color@5.5.0)
594 knex: 0.21.21(sqlite3@5.1.6) 597 knex: 0.21.21(sqlite3@5.1.7)
595 lodash: 4.17.21 598 lodash: 4.17.21
596 moment: 2.30.1 599 moment: 2.30.1
597 pluralize: 8.0.0 600 pluralize: 8.0.0
@@ -2417,7 +2420,7 @@ packages:
2417 transitivePeerDependencies: 2420 transitivePeerDependencies:
2418 - encoding 2421 - encoding
2419 - supports-color 2422 - supports-color
2420 dev: false 2423 dev: true
2421 2424
2422 /@mdi/js@7.4.47: 2425 /@mdi/js@7.4.47:
2423 resolution: {integrity: sha512-KPnNOtm5i2pMabqZxpUz7iQf+mfrYZyKCZ8QNz85czgEt7cuHcGorWfdzUMWYA0SD+a6Hn4FmJ+YhzzzjkTZrQ==} 2426 resolution: {integrity: sha512-KPnNOtm5i2pMabqZxpUz7iQf+mfrYZyKCZ8QNz85czgEt7cuHcGorWfdzUMWYA0SD+a6Hn4FmJ+YhzzzjkTZrQ==}
@@ -3542,7 +3545,6 @@ packages:
3542 /abbrev@1.1.1: 3545 /abbrev@1.1.1:
3543 resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} 3546 resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==}
3544 requiresBuild: true 3547 requiresBuild: true
3545 dev: false
3546 3548
3547 /accepts@1.3.8: 3549 /accepts@1.3.8:
3548 resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} 3550 resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
@@ -4013,7 +4015,6 @@ packages:
4013 /aproba@2.0.0: 4015 /aproba@2.0.0:
4014 resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} 4016 resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==}
4015 requiresBuild: true 4017 requiresBuild: true
4016 dev: false
4017 4018
4018 /archiver-utils@2.1.0: 4019 /archiver-utils@2.1.0:
4019 resolution: {integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==} 4020 resolution: {integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==}
@@ -4066,7 +4067,7 @@ packages:
4066 dependencies: 4067 dependencies:
4067 delegates: 1.0.0 4068 delegates: 1.0.0
4068 readable-stream: 3.6.2 4069 readable-stream: 3.6.2
4069 dev: false 4070 dev: true
4070 4071
4071 /are-we-there-yet@3.0.1: 4072 /are-we-there-yet@3.0.1:
4072 resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==} 4073 resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==}
@@ -4522,7 +4523,6 @@ packages:
4522 dependencies: 4523 dependencies:
4523 file-uri-to-path: 1.0.0 4524 file-uri-to-path: 1.0.0
4524 dev: false 4525 dev: false
4525 optional: true
4526 4526
4527 /bl@1.2.3: 4527 /bl@1.2.3:
4528 resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==} 4528 resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==}
@@ -4537,7 +4537,6 @@ packages:
4537 buffer: 5.7.1 4537 buffer: 5.7.1
4538 inherits: 2.0.4 4538 inherits: 2.0.4
4539 readable-stream: 3.6.2 4539 readable-stream: 3.6.2
4540 dev: true
4541 4540
4542 /bluebird-lst@1.0.9: 4541 /bluebird-lst@1.0.9:
4543 resolution: {integrity: sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==} 4542 resolution: {integrity: sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==}
@@ -4935,6 +4934,10 @@ packages:
4935 fsevents: 2.3.3 4934 fsevents: 2.3.3
4936 dev: true 4935 dev: true
4937 4936
4937 /chownr@1.1.4:
4938 resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==}
4939 dev: false
4940
4938 /chownr@2.0.0: 4941 /chownr@2.0.0:
4939 resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} 4942 resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
4940 engines: {node: '>=10'} 4943 engines: {node: '>=10'}
@@ -5262,7 +5265,6 @@ packages:
5262 /console-control-strings@1.1.0: 5265 /console-control-strings@1.1.0:
5263 resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} 5266 resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==}
5264 requiresBuild: true 5267 requiresBuild: true
5265 dev: false
5266 5268
5267 /content-disposition@0.5.4: 5269 /content-disposition@0.5.4:
5268 resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} 5270 resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
@@ -5702,6 +5704,11 @@ packages:
5702 optional: true 5704 optional: true
5703 dev: true 5705 dev: true
5704 5706
5707 /deep-extend@0.6.0:
5708 resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==}
5709 engines: {node: '>=4.0.0'}
5710 dev: false
5711
5705 /deep-is@0.1.4: 5712 /deep-is@0.1.4:
5706 resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 5713 resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
5707 dev: true 5714 dev: true
@@ -5797,7 +5804,6 @@ packages:
5797 /delegates@1.0.0: 5804 /delegates@1.0.0:
5798 resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} 5805 resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==}
5799 requiresBuild: true 5806 requiresBuild: true
5800 dev: false
5801 5807
5802 /depd@1.1.2: 5808 /depd@1.1.2:
5803 resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} 5809 resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==}
@@ -5835,7 +5841,6 @@ packages:
5835 /detect-libc@2.0.1: 5841 /detect-libc@2.0.1:
5836 resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==} 5842 resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==}
5837 engines: {node: '>=8'} 5843 engines: {node: '>=8'}
5838 dev: false
5839 5844
5840 /detect-newline@3.1.0: 5845 /detect-newline@3.1.0:
5841 resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} 5846 resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==}
@@ -7054,6 +7059,11 @@ packages:
7054 - supports-color 7059 - supports-color
7055 dev: false 7060 dev: false
7056 7061
7062 /expand-template@2.0.3:
7063 resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==}
7064 engines: {node: '>=6'}
7065 dev: false
7066
7057 /expand-tilde@2.0.2: 7067 /expand-tilde@2.0.2:
7058 resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==} 7068 resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==}
7059 engines: {node: '>=0.10.0'} 7069 engines: {node: '>=0.10.0'}
@@ -7291,7 +7301,6 @@ packages:
7291 resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} 7301 resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==}
7292 requiresBuild: true 7302 requiresBuild: true
7293 dev: false 7303 dev: false
7294 optional: true
7295 7304
7296 /filelist@1.0.4: 7305 /filelist@1.0.4:
7297 resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} 7306 resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==}
@@ -7573,7 +7582,7 @@ packages:
7573 string-width: 4.2.3 7582 string-width: 4.2.3
7574 strip-ansi: 6.0.1 7583 strip-ansi: 6.0.1
7575 wide-align: 1.1.5 7584 wide-align: 1.1.5
7576 dev: false 7585 dev: true
7577 7586
7578 /gauge@4.0.4: 7587 /gauge@4.0.4:
7579 resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==} 7588 resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==}
@@ -7689,6 +7698,10 @@ packages:
7689 split2: 4.2.0 7698 split2: 4.2.0
7690 dev: true 7699 dev: true
7691 7700
7701 /github-from-package@0.0.0:
7702 resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==}
7703 dev: false
7704
7692 /glob-parent@5.1.2: 7705 /glob-parent@5.1.2:
7693 resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 7706 resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
7694 engines: {node: '>= 6'} 7707 engines: {node: '>= 6'}
@@ -7931,7 +7944,6 @@ packages:
7931 /has-unicode@2.0.1: 7944 /has-unicode@2.0.1:
7932 resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} 7945 resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==}
7933 requiresBuild: true 7946 requiresBuild: true
7934 dev: false
7935 7947
7936 /has-value@0.3.1: 7948 /has-value@0.3.1:
7937 resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==} 7949 resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==}
@@ -9650,7 +9662,7 @@ packages:
9650 engines: {node: '>=6'} 9662 engines: {node: '>=6'}
9651 dev: false 9663 dev: false
9652 9664
9653 /knex@0.21.21(sqlite3@5.1.6): 9665 /knex@0.21.21(sqlite3@5.1.7):
9654 resolution: {integrity: sha512-cjw5qO1EzVKjbywcVa61IQJMLt7PfYBRI/2NwCA/B9beXgbw652wDNLz+JM+UKKNsfwprq0ugYqBYc9q4JN36A==} 9666 resolution: {integrity: sha512-cjw5qO1EzVKjbywcVa61IQJMLt7PfYBRI/2NwCA/B9beXgbw652wDNLz+JM+UKKNsfwprq0ugYqBYc9q4JN36A==}
9655 engines: {node: '>=10'} 9667 engines: {node: '>=10'}
9656 hasBin: true 9668 hasBin: true
@@ -9681,7 +9693,7 @@ packages:
9681 liftoff: 3.1.0 9693 liftoff: 3.1.0
9682 lodash: 4.17.21 9694 lodash: 4.17.21
9683 pg-connection-string: 2.4.0 9695 pg-connection-string: 2.4.0
9684 sqlite3: 5.1.6 9696 sqlite3: 5.1.7
9685 tarn: 3.0.2 9697 tarn: 3.0.2
9686 tildify: 2.0.0 9698 tildify: 2.0.0
9687 v8flags: 3.2.0 9699 v8flags: 3.2.0
@@ -10001,6 +10013,7 @@ packages:
10001 engines: {node: '>=8'} 10013 engines: {node: '>=8'}
10002 dependencies: 10014 dependencies:
10003 semver: 6.3.1 10015 semver: 6.3.1
10016 dev: true
10004 10017
10005 /make-error@1.3.6: 10018 /make-error@1.3.6:
10006 resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} 10019 resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
@@ -10355,6 +10368,10 @@ packages:
10355 is-extendable: 0.1.1 10368 is-extendable: 0.1.1
10356 dev: false 10369 dev: false
10357 10370
10371 /mkdirp-classic@0.5.3:
10372 resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==}
10373 dev: false
10374
10358 /mkdirp@0.5.6: 10375 /mkdirp@0.5.6:
10359 resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} 10376 resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
10360 hasBin: true 10377 hasBin: true
@@ -10487,6 +10504,10 @@ packages:
10487 - supports-color 10504 - supports-color
10488 dev: false 10505 dev: false
10489 10506
10507 /napi-build-utils@1.0.2:
10508 resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==}
10509 dev: false
10510
10490 /natural-compare@1.4.0: 10511 /natural-compare@1.4.0:
10491 resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 10512 resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
10492 dev: true 10513 dev: true
@@ -10504,6 +10525,13 @@ packages:
10504 resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} 10525 resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==}
10505 dev: false 10526 dev: false
10506 10527
10528 /node-abi@3.56.0:
10529 resolution: {integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==}
10530 engines: {node: '>=10'}
10531 dependencies:
10532 semver: 7.6.0
10533 dev: false
10534
10507 /node-addon-api@1.7.2: 10535 /node-addon-api@1.7.2:
10508 resolution: {integrity: sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==} 10536 resolution: {integrity: sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==}
10509 requiresBuild: true 10537 requiresBuild: true
@@ -10522,8 +10550,9 @@ packages:
10522 dev: false 10550 dev: false
10523 optional: true 10551 optional: true
10524 10552
10525 /node-addon-api@4.3.0: 10553 /node-addon-api@7.1.0:
10526 resolution: {integrity: sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==} 10554 resolution: {integrity: sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==}
10555 engines: {node: ^16 || ^18 || >= 20}
10527 dev: false 10556 dev: false
10528 10557
10529 /node-cookie@2.1.2: 10558 /node-cookie@2.1.2:
@@ -10558,6 +10587,7 @@ packages:
10558 optional: true 10587 optional: true
10559 dependencies: 10588 dependencies:
10560 whatwg-url: 5.0.0 10589 whatwg-url: 5.0.0
10590 dev: true
10561 10591
10562 /node-guard@1.0.0: 10592 /node-guard@1.0.0:
10563 resolution: {integrity: sha512-LX911hOl63/YBO3Skl/jQ9QQG+lE++66xaF9/lg7G02bBpdgHMmSdMK5+jgo7p/3i5hn4fGOipX3Ko17Yzfi2w==} 10593 resolution: {integrity: sha512-LX911hOl63/YBO3Skl/jQ9QQG+lE++66xaF9/lg7G02bBpdgHMmSdMK5+jgo7p/3i5hn4fGOipX3Ko17Yzfi2w==}
@@ -10655,7 +10685,6 @@ packages:
10655 requiresBuild: true 10685 requiresBuild: true
10656 dependencies: 10686 dependencies:
10657 abbrev: 1.1.1 10687 abbrev: 1.1.1
10658 dev: false
10659 10688
10660 /nopt@6.0.0: 10689 /nopt@6.0.0:
10661 resolution: {integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==} 10690 resolution: {integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==}
@@ -10709,7 +10738,7 @@ packages:
10709 console-control-strings: 1.1.0 10738 console-control-strings: 1.1.0
10710 gauge: 3.0.2 10739 gauge: 3.0.2
10711 set-blocking: 2.0.0 10740 set-blocking: 2.0.0
10712 dev: false 10741 dev: true
10713 10742
10714 /npmlog@6.0.2: 10743 /npmlog@6.0.2:
10715 resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} 10744 resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==}
@@ -11194,6 +11223,25 @@ packages:
11194 resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} 11223 resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
11195 dev: false 11224 dev: false
11196 11225
11226 /prebuild-install@7.1.2:
11227 resolution: {integrity: sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==}
11228 engines: {node: '>=10'}
11229 hasBin: true
11230 dependencies:
11231 detect-libc: 2.0.1
11232 expand-template: 2.0.3
11233 github-from-package: 0.0.0
11234 minimist: 1.2.8
11235 mkdirp-classic: 0.5.3
11236 napi-build-utils: 1.0.2
11237 node-abi: 3.56.0
11238 pump: 3.0.0
11239 rc: 1.2.8
11240 simple-get: 4.0.1
11241 tar-fs: 2.1.1
11242 tunnel-agent: 0.6.0
11243 dev: false
11244
11197 /prelude-ls@1.2.1: 11245 /prelude-ls@1.2.1:
11198 resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 11246 resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
11199 engines: {node: '>= 0.8.0'} 11247 engines: {node: '>= 0.8.0'}
@@ -11618,6 +11666,16 @@ packages:
11618 react-is: 16.13.1 11666 react-is: 16.13.1
11619 dev: false 11667 dev: false
11620 11668
11669 /rc@1.2.8:
11670 resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==}
11671 hasBin: true
11672 dependencies:
11673 deep-extend: 0.6.0
11674 ini: 1.3.8
11675 minimist: 1.2.8
11676 strip-json-comments: 2.0.1
11677 dev: false
11678
11621 /react-color@2.19.3(react@18.2.0): 11679 /react-color@2.19.3(react@18.2.0):
11622 resolution: {integrity: sha512-LEeGE/ZzNLIsFWa1TMe8y5VYqr7bibneWmvJwm1pCn/eNmrabWDh659JSPn9BuaMpEfU83WTOJfnCcjDZwNQTA==} 11680 resolution: {integrity: sha512-LEeGE/ZzNLIsFWa1TMe8y5VYqr7bibneWmvJwm1pCn/eNmrabWDh659JSPn9BuaMpEfU83WTOJfnCcjDZwNQTA==}
11623 peerDependencies: 11681 peerDependencies:
@@ -12643,6 +12701,10 @@ packages:
12643 requiresBuild: true 12701 requiresBuild: true
12644 dev: true 12702 dev: true
12645 12703
12704 /simple-concat@1.0.1:
12705 resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==}
12706 dev: false
12707
12646 /simple-encryptor@2.0.0: 12708 /simple-encryptor@2.0.0:
12647 resolution: {integrity: sha512-dqjQbp9RwfMrE+my/7Pgz9viIsHmY3aQtybGJQkv2sL79YuDGmkxUjlmEBFGP6bcUjBRnSvqsBAcv1ro0Y4/5A==} 12709 resolution: {integrity: sha512-dqjQbp9RwfMrE+my/7Pgz9viIsHmY3aQtybGJQkv2sL79YuDGmkxUjlmEBFGP6bcUjBRnSvqsBAcv1ro0Y4/5A==}
12648 dependencies: 12710 dependencies:
@@ -12656,6 +12718,14 @@ packages:
12656 scmp: 2.0.0 12718 scmp: 2.0.0
12657 dev: false 12719 dev: false
12658 12720
12721 /simple-get@4.0.1:
12722 resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==}
12723 dependencies:
12724 decompress-response: 6.0.0
12725 once: 1.4.0
12726 simple-concat: 1.0.1
12727 dev: false
12728
12659 /simple-git@3.23.0: 12729 /simple-git@3.23.0:
12660 resolution: {integrity: sha512-P9ggTW8vb/21CAL/AmnACAhqBDfnqSSZVpV7WuFtsFR9HLunf5IqQvk+OXAQTfkcZep8pKnt3DV3o7w3TegEkQ==} 12730 resolution: {integrity: sha512-P9ggTW8vb/21CAL/AmnACAhqBDfnqSSZVpV7WuFtsFR9HLunf5IqQvk+OXAQTfkcZep8pKnt3DV3o7w3TegEkQ==}
12661 dependencies: 12731 dependencies:
@@ -12885,18 +12955,18 @@ packages:
12885 requiresBuild: true 12955 requiresBuild: true
12886 optional: true 12956 optional: true
12887 12957
12888 /sqlite3@5.1.6: 12958 /sqlite3@5.1.7:
12889 resolution: {integrity: sha512-olYkWoKFVNSSSQNvxVUfjiVbz3YtBwTJj+mfV5zpHmqW3sELx2Cf4QCdirMelhM5Zh+KDVaKgQHqCxrqiWHybw==} 12959 resolution: {integrity: sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog==}
12890 requiresBuild: true 12960 requiresBuild: true
12891 dependencies: 12961 dependencies:
12892 '@mapbox/node-pre-gyp': 1.0.11 12962 bindings: 1.5.0
12893 node-addon-api: 4.3.0 12963 node-addon-api: 7.1.0
12964 prebuild-install: 7.1.2
12894 tar: 6.2.0 12965 tar: 6.2.0
12895 optionalDependencies: 12966 optionalDependencies:
12896 node-gyp: 8.4.1 12967 node-gyp: 8.4.1
12897 transitivePeerDependencies: 12968 transitivePeerDependencies:
12898 - bluebird 12969 - bluebird
12899 - encoding
12900 - supports-color 12970 - supports-color
12901 dev: false 12971 dev: false
12902 12972
@@ -13150,6 +13220,11 @@ packages:
13150 min-indent: 1.0.1 13220 min-indent: 1.0.1
13151 dev: true 13221 dev: true
13152 13222
13223 /strip-json-comments@2.0.1:
13224 resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==}
13225 engines: {node: '>=0.10.0'}
13226 dev: false
13227
13153 /strip-json-comments@3.1.1: 13228 /strip-json-comments@3.1.1:
13154 resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 13229 resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
13155 engines: {node: '>=8'} 13230 engines: {node: '>=8'}
@@ -13244,6 +13319,15 @@ packages:
13244 acorn-node: 1.8.2 13319 acorn-node: 1.8.2
13245 dev: false 13320 dev: false
13246 13321
13322 /tar-fs@2.1.1:
13323 resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==}
13324 dependencies:
13325 chownr: 1.1.4
13326 mkdirp-classic: 0.5.3
13327 pump: 3.0.0
13328 tar-stream: 2.2.0
13329 dev: false
13330
13247 /tar-stream@1.6.2: 13331 /tar-stream@1.6.2:
13248 resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==} 13332 resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==}
13249 engines: {node: '>= 0.8.0'} 13333 engines: {node: '>= 0.8.0'}
@@ -13266,7 +13350,6 @@ packages:
13266 fs-constants: 1.0.0 13350 fs-constants: 1.0.0
13267 inherits: 2.0.4 13351 inherits: 2.0.4
13268 readable-stream: 3.6.2 13352 readable-stream: 3.6.2
13269 dev: true
13270 13353
13271 /tar@6.2.0: 13354 /tar@6.2.0:
13272 resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==} 13355 resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==}
@@ -13482,6 +13565,7 @@ packages:
13482 13565
13483 /tr46@0.0.3: 13566 /tr46@0.0.3:
13484 resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} 13567 resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
13568 dev: true
13485 13569
13486 /tree-kill@1.2.2: 13570 /tree-kill@1.2.2:
13487 resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} 13571 resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
@@ -14031,6 +14115,7 @@ packages:
14031 14115
14032 /webidl-conversions@3.0.1: 14116 /webidl-conversions@3.0.1:
14033 resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} 14117 resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
14118 dev: true
14034 14119
14035 /websocket-driver@0.7.4: 14120 /websocket-driver@0.7.4:
14036 resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} 14121 resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==}
@@ -14051,6 +14136,7 @@ packages:
14051 dependencies: 14136 dependencies:
14052 tr46: 0.0.3 14137 tr46: 0.0.3
14053 webidl-conversions: 3.0.1 14138 webidl-conversions: 3.0.1
14139 dev: true
14054 14140
14055 /which-boxed-primitive@1.0.2: 14141 /which-boxed-primitive@1.0.2:
14056 resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} 14142 resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
@@ -14135,7 +14221,6 @@ packages:
14135 requiresBuild: true 14221 requiresBuild: true
14136 dependencies: 14222 dependencies:
14137 string-width: 4.2.3 14223 string-width: 4.2.3
14138 dev: false
14139 14224
14140 /window-size@1.1.1: 14225 /window-size@1.1.1:
14141 resolution: {integrity: sha512-5D/9vujkmVQ7pSmc0SCBmHXbkv6eaHwXEx65MywhmUMsI8sGqJ972APq1lotfcwMKPFLuCFfL8xGHLIp7jaBmA==} 14226 resolution: {integrity: sha512-5D/9vujkmVQ7pSmc0SCBmHXbkv6eaHwXEx65MywhmUMsI8sGqJ972APq1lotfcwMKPFLuCFfL8xGHLIp7jaBmA==}
diff --git a/scripts/build-unix.sh b/scripts/build-unix.sh
index 04aa9e70f..f485f9087 100755
--- a/scripts/build-unix.sh
+++ b/scripts/build-unix.sh
@@ -3,7 +3,7 @@
3# INTRO: 3# INTRO:
4# This file is used to build ferdium on both x64 and arm-based for macos and linux (not tested on arm for linux). 4# This file is used to build ferdium on both x64 and arm-based for macos and linux (not tested on arm for linux).
5# It also handles any corrupted node modules with the 'CLEAN' env var (set it to 'true' for cleaning) 5# It also handles any corrupted node modules with the 'CLEAN' env var (set it to 'true' for cleaning)
6# It will install the system dependencies except for node (which is still verified) 6# It will install the system dependencies except for node and python (which are still verified)
7# I sometimes symlink my 'recipes' folder so that any changes that I need to do in it can also be committed and pushed independently 7# I sometimes symlink my 'recipes' folder so that any changes that I need to do in it can also be committed and pushed independently
8# This file can live anywhere in your PATH 8# This file can live anywhere in your PATH
9 9
@@ -32,6 +32,7 @@ command_exists() {
32# Checking the developer environment 32# Checking the developer environment
33# Check for installed programmes 33# Check for installed programmes
34command_exists node || fail_with_docs "Node is not installed" 34command_exists node || fail_with_docs "Node is not installed"
35command_exists python || fail_with_docs "python is not installed"
35 36
36# Check node version 37# Check node version
37EXPECTED_NODE_VERSION=$(cat .nvmrc) 38EXPECTED_NODE_VERSION=$(cat .nvmrc)
@@ -42,6 +43,15 @@ if [ "v$EXPECTED_NODE_VERSION" != "$ACTUAL_NODE_VERSION" ]; then
42 actual : [$ACTUAL_NODE_VERSION]" 43 actual : [$ACTUAL_NODE_VERSION]"
43fi 44fi
44 45
46# Check python version
47EXPECTED_PYTHON_VERSION=$(node -p 'require("./package.json").engines.python')
48ACTUAL_PYTHON_VERSION=$(python --version | sed -e "s/Python //")
49if [[ "$ACTUAL_PYTHON_VERSION" != "$EXPECTED_PYTHON_VERSION" ]]; then
50 fail_with_docs "You are not running the expected version of Python!
51 expected: [$EXPECTED_PYTHON_VERSION]
52 actual : [$ACTUAL_PYTHON_VERSION]"
53fi
54
45# Check if the 'recipes' folder is present either as a git submodule or a symbolic link 55# Check if the 'recipes' folder is present either as a git submodule or a symbolic link
46if ! [ -f "recipes/package.json" ]; then 56if ! [ -f "recipes/package.json" ]; then
47 fail_with_docs "'recipes' folder is missing or submodule has not been checked out" 57 fail_with_docs "'recipes' folder is missing or submodule has not been checked out"
@@ -68,7 +78,7 @@ else
68 fi 78 fi
69 79
70 npm cache clean --force 80 npm cache clean --force
71 rm -rf ~/.npm ~/.electron-gyp ~/.asdf/installs/nodejs/*/.npm/ 81 rm -rf ~/.npm ~/.electron-gyp
72 82
73 git -C recipes clean -fxd # Clean recipes folder/submodule 83 git -C recipes clean -fxd # Clean recipes folder/submodule
74 git clean -fxd # Note: This will blast away the 'recipes' folder if you have symlinked it 84 git clean -fxd # Note: This will blast away the 'recipes' folder if you have symlinked it
@@ -79,8 +89,6 @@ fi
79 89
80# ----------------------------------------------------------------------------- 90# -----------------------------------------------------------------------------
81# Ensure that the system dependencies are at the correct version - recover if not 91# Ensure that the system dependencies are at the correct version - recover if not
82# If 'asdf' is installed, reshim for new nodejs if necessary
83command_exists asdf && asdf reshim nodejs
84 92
85# Ensure that the system dependencies are at the correct version 93# Ensure that the system dependencies are at the correct version
86# Check pnpm version 94# Check pnpm version
@@ -99,9 +107,6 @@ if [[ "$EXPECTED_PNPM_VERSION" != "$EXPECTED_RECIPES_PNPM_VERSION" ]]; then
99 actual : [$EXPECTED_PNPM_VERSION]" 107 actual : [$EXPECTED_PNPM_VERSION]"
100fi 108fi
101 109
102# If 'asdf' is installed, reshim for new nodejs if necessary
103command_exists asdf && asdf reshim nodejs
104
105# ----------------------------------------------------------------------------- 110# -----------------------------------------------------------------------------
106printf "\n*************** Building recipes ***************\n" 111printf "\n*************** Building recipes ***************\n"
107pushd recipes 112pushd recipes
diff --git a/scripts/build-windows.ps1 b/scripts/build-windows.ps1
index 5da7df540..02289d172 100644
--- a/scripts/build-windows.ps1
+++ b/scripts/build-windows.ps1
@@ -1,7 +1,7 @@
1# INTRO: 1# INTRO:
2# This file is used to build ferdium on windows. 2# This file is used to build ferdium on windows.
3# It also handles any corrupted node modules with the 'CLEAN' env var (set it to 'true' for cleaning) 3# It also handles any corrupted node modules with the 'CLEAN' env var (set it to 'true' for cleaning)
4# It will install the system dependencies except for node (which is still verified) 4# It will install the system dependencies except for node and python (which are still verified)
5# I sometimes symlink my 'recipes' folder so that any changes that I need to do in it can also be committed and pushed independently 5# I sometimes symlink my 'recipes' folder so that any changes that I need to do in it can also be committed and pushed independently
6# This file can live anywhere in your PATH 6# This file can live anywhere in your PATH
7 7