Merge branch 'flatpaks' into 'master'

Draft: Flatpaks

See merge request gridtracker.org/gridtracker!237

If this is changing anything in the UI or operational behavior, please prepare to update the wiki!
merge-requests/237/merge
Matthew Chambers 2023-10-21 17:31:16 +00:00
commit f3ee1a12e7
5 zmienionych plików z 250 dodań i 85 usunięć

7
.gitignore vendored
Wyświetl plik

@ -12,4 +12,9 @@ node_modules
package-lock.json
.vscode
desktop.ini
.VSCodeCounter
.flatpak-builder
generated-sources.json
metadata
flatpak
flatpakrepo
gridtracker-*.flatpak

Wyświetl plik

@ -87,12 +87,12 @@ win:package:
7zr e NsProcess.zip -y -o/usr/share/nsis/Plugins/x86-unicode/ Plugin/nsProcessW.dll
mv /usr/share/nsis/Plugins/x86-unicode/nsProcessW.dll /usr/share/nsis/Plugins/x86-unicode/nsProcess.dll
curl --silent "https://gitlab.com/gitlab-org/incubation-engineering/mobile-devops/download-secure-files/-/raw/main/installer" | bash
echo -e "\e[0Ksection_end:`date +%s`:apt_get\r\e[0K"
script:
- |
# Making our Windows packages
echo -e "\e[0Ksection_end:`date +%s`:apt_get\r\e[0K"
test `node version.js` = `dpkg-parsechangelog -S version` || (echo "package.nw/package.json and debian/changelog version mismatch"; exit 1)
echo -e "\e[0Ksection_start:`date +%s`:native_build\r\e[0KBuilding native packages"
echo -e "\e[0Ksection_start:`date +%s`:native_build[collapsed=true]\r\e[0KBuilding native packages"
npm install --prefer-offline
npm run dist-win
for dir in dist/*-win-* ; do
@ -140,12 +140,17 @@ linux:package:
mkdir -p artifacts
echo -e "\e[0Ksection_start:`date +%s`:apt_get[collapsed=true]\r\e[0KGetting Build Dependencies"
apt-get update && apt-get upgrade -y
apt-get install flatpak flatpak-builder -y
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install org.freedesktop.Sdk//22.08 -y
flatpak install org.freedesktop.Platform//22.08 -y
echo -e "\e[0Ksection_end:`date +%s`:apt_get\r\e[0K"
script:
- |
# Making our distro agnostic Linux packages
test `node version.js` = `dpkg-parsechangelog -S version` || (echo "package.nw/package.json and debian/changelog version mismatch"; exit 1)
echo -e "\e[0Ksection_start:`date +%s`:native_build\r\e[0KBuilding native packages"
VER=`node version.js`
echo -e "\e[0Ksection_start:`date +%s`:native_build[collapsed=true]\r\e[0KBuilding native packages"
npm install --prefer-offline
npm run dist-nix
chmod 755 dist/*-linux-*/GridTracker dist/*-linux-*/lib dist/*-linux-*/locales dist/*-linux-*/swiftshader/ dist/*-linux-*/chrome_crashpad_handler
@ -159,10 +164,15 @@ linux:package:
(cd dist; mv *.tar.gz ../artifacts/)
echo -e "\e[0Ksection_end:`date +%s`:native_build\e[0K"
# This section does debian DEBs
echo -e "\e[0Ksection_start:`date +%s`:debian_build\r\e[0KBuilding Debian packages"
echo -e "\e[0Ksection_start:`date +%s`:debian_build[collapsed=true]\r\e[0KBuilding Debian packages"
dpkg-buildpackage -b --no-sign
mv ../*.{deb,buildinfo,changes} artifacts/
echo -e "\e[0Ksection_end:`date +%s`:debian_build\r\e[0K"
echo -e "\e[0Ksection_start:`date +%s`:flatpaks\e[0KBuilding Flatpak"
flatpak-builder flatpak flatpak_x64_manifest.yml --force-clean --repo=flatpakrepo
flatpak build-bundle flatpakrepo GridTracker-${VER}-x86_64.flatpak org.gridtracker.GridTracker
mv *.flatpak artifacts/
echo -e "\e[0Ksection_end:`date +%s`:flatpaks\r\e[0K"
echo "we made LINUX packages!"
ls -laR artifacts
@ -231,40 +241,76 @@ arm:package:
echo -e "\e[0Ksection_start:`date +%s`:apt_get[collapsed=true]\r\e[0KGetting Build Dependencies"
apt-get update && apt-get upgrade -y
apt-get build-dep .
apt-get install flatpak flatpak-builder -y
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install org.freedesktop.Sdk//22.08 -y
flatpak install org.freedesktop.Platform//22.08 -y
echo -e "\e[0Ksection_end:`date +%s`:apt_get\r\e[0K"
script:
- |
# This is for ARM 32 arch build
test `node version.js` = `dpkg-parsechangelog -S version` || (echo "package.nw/package.json and debian/changelog version mismatch"; exit 1)
echo -e "\e[0Ksection_start:`date +%s`:wget[collapsed=true]\r\e[0KGetting Upstream NWJS Binary"
wget https://github.com/LeonardLaszlo/nw.js-armv7-binaries/releases/download/$NWJS32_BUILD/$NWJS32_BUILD.tar.gz
VER=`node version.js`
echo "Getting Upstream NWJS arm32 Binary"
wget -q https://github.com/LeonardLaszlo/nw.js-armv7-binaries/releases/download/$NWJS32_BUILD/$NWJS32_BUILD.tar.gz
echo "Extracting $NWJS32_BUILD.tar.gz...."
tar -xf $NWJS32_BUILD.tar.gz
rm $NWJS32_BUILD.tar.gz
echo "Extracting $nwjs-$NWJS_VERSION-linux-arm.tar.gz..."
tar -xf usr/docker/dist/nwjs-chromium-ffmpeg-branding/nwjs-$NWJS_VERSION-linux-arm.tar.gz
echo -e "\e[0Ksection_end:`date +%s`:wget\r\e[0K"
rm -rf usr/
echo "Removing unused locales/*.info files..."
rm nwjs-$NWJS_VERSION-linux-arm/locales/*.info
echo "Merging $nwjs-$NWJS_VERSION-linux-arm binary with GridTracker..."
mv nwjs-$NWJS_VERSION-linux-arm/nw nwjs-$NWJS_VERSION-linux-arm/GridTracker
version=`node ./version.js`
mkdir GridTracker-$version-linux-arm32
cp -r nwjs-$NWJS_VERSION-linux-arm/* GridTracker-$version-linux-arm32/
cp -r arm/* GridTracker-$version-linux-arm32/
cp -r package.nw GridTracker-$version-linux-arm32/
cp LICENSE GridTracker-$version-linux-arm32/
tar -czf GridTracker-$version-linux-arm32.tar.gz GridTracker-$version-linux-arm32
mv GridTracker-$version-linux-arm32.tar.gz artifacts/
mkdir GridTracker-${VER}-linux-arm32
cp -r nwjs-$NWJS_VERSION-linux-arm/* GridTracker-${VER}-linux-arm32/
cp -r arm/* GridTracker-${VER}-linux-arm32/
cp -r package.nw GridTracker-${VER}-linux-arm32/
cp LICENSE GridTracker-${VER}-linux-arm32/
echo "Compressing GridTracker-${VER}-linux-arm32.tar.gz..."
tar -czf GridTracker-${VER}-linux-arm32.tar.gz GridTracker-${VER}-linux-arm32
mv GridTracker-${VER}-linux-arm32.tar.gz artifacts/
echo "GridTracker-${VER}-linux-arm32.tar.gz built."
rm -rf nwjs-$NWJS_VERSION-linux-arm
# This is for ARM 64 arch build
wget https://github.com/LeonardLaszlo/nw.js-armv7-binaries/releases/download/$NWJS64_BUILD/$NWJS64_BUILD.tar.gz
echo "Getting Upstream NWJS arm64 Binary"
wget -q https://github.com/LeonardLaszlo/nw.js-armv7-binaries/releases/download/$NWJS64_BUILD/$NWJS64_BUILD.tar.gz
echo "Extracting $NWJS64_BUILD.tar.gz...."
tar -xf $NWJS64_BUILD.tar.gz
rm $NWJS64_BUILD.tar.gz
echo "Extracting $nwjs-$NWJS_VERSION-linux-arm64.tar.gz..."
tar -xf usr/docker/dist/nwjs-chromium-ffmpeg-branding/nwjs-$NWJS_VERSION-linux-arm64.tar.gz
rm -rf usr
echo "Removing unused locales/*.info files..."
rm nwjs-$NWJS_VERSION-linux-arm64/locales/*.info
echo "Merging $nwjs-$NWJS_VERSION-linux-arm64 binary with GridTracker..."
mv nwjs-$NWJS_VERSION-linux-arm64/nw nwjs-$NWJS_VERSION-linux-arm64/GridTracker
version=`node ./version.js`
mkdir GridTracker-$version-linux-arm64
cp -r nwjs-$NWJS_VERSION-linux-arm64/* GridTracker-$version-linux-arm64/
cp -r arm/* GridTracker-$version-linux-arm64/
cp -r package.nw GridTracker-$version-linux-arm64/
cp LICENSE GridTracker-$version-linux-arm64/
tar -czf GridTracker-$version-linux-arm64.tar.gz GridTracker-$version-linux-arm64
mv GridTracker-$version-linux-arm64.tar.gz artifacts/
VER=`node version.js`
mkdir GridTracker-${VER}-linux-arm64
cp -r nwjs-$NWJS_VERSION-linux-arm64/* GridTracker-${VER}-linux-arm64/
cp -r arm/* GridTracker-${VER}-linux-arm64/
cp -r package.nw GridTracker-${VER}-linux-arm64/
cp LICENSE GridTracker-${VER}-linux-arm64/
echo "Compressing GridTracker-${VER}-linux-arm64.tar.gz..."
tar -czf GridTracker-${VER}-linux-arm64.tar.gz GridTracker-${VER}-linux-arm64
mv GridTracker-${VER}-linux-arm64.tar.gz artifacts/
echo "GridTracker-${VER}-linux-arm32.tar.gz built."
rm -rf nwjs-$NWJS-VERSION-linux-arm64
# This is for ARM 64 Flatpaks
echo -e "\e[0Ksection_start:`date +%s`:flatpaks[collapsed=true]\r\e[0KBuilding Flatpak"
echo "Creating workdir..."
mkdir -p dist
echo "Copying GridTracker-${VER}-linux-arm64 to workdir..."
mv GridTracker-${VER}-linux-arm64 dist/
cp dist/GridTracker-${VER}-linux-arm64/package.nw/gridview.png dist/GridTracker-${VER}-linux-arm64/gridview.png
echo "Building flatpak source..."
flatpak-builder flatpak flatpak_arm64_manifest.yml --force-clean --repo=flatpakrepo
echo "Exporting single-file flatpak..."
flatpak build-bundle flatpakrepo GridTracker-${VER}-arm64.flatpak org.gridtracker.GridTracker
mv *.flatpak artifacts/
echo -e "\e[0Ksection_end:`date +%s`:flatpaks\r\e[0K"
echo "we made ARM packages!"
ls -laR artifacts
@ -369,6 +415,12 @@ sourcerelease:
url: https://downloads.gridtracker.org/$CI_COMMIT_TAG/gridtracker-${CI_COMMIT_TAG#v}_all.deb
external: true
link_type: package
- name: Linux x86 Flatpak package for $CI_COMMIT_TAG
url: https://downloads.gridtracker.org/$CI_COMMIT_TAG/GridTracker-${CI_COMMIT_TAG#v}-x86_64.flatpak
external: true
- name: Linux ARM64 Flatpak package for $CI_COMMIT_TAG
url: https://downloads.gridtracker.org/$CI_COMMIT_TAG/GridTracker-${CI_COMMIT_TAG#v}-arm64.flatpak
external: true
script:
- echo 'Release for $CI_COMMIT_TAG'
@ -399,9 +451,11 @@ discord_notify:
LINx86_MD5=($(md5sum artifacts/GridTracker-${VER}-linux-x86.tar.gz))
LINx64_MD5=($(md5sum artifacts/GridTracker-${VER}-linux-x64.tar.gz))
DEB_MD5=($(md5sum artifacts/gridtracker_${VER}_all.deb))
FLATx64_MD5=($(md5sum artifacts/GridTracker-${VER}-x86_64.flatpak))
FLATARM64_MD5=($(md5sum artifacts/GridTracker-${VER}-arm64.flatpak))
curl -H "Content-Type: application/json" -X POST $DISCORD_WEBHOOK --data-binary @- << EOM
{
"content": "**GridTracker-Installer.${VER}.exe**\nmd5: ${WIN_MD5} - ${BASEURL}GridTracker-Installer.${VER}.exe\n\n**GridTracker-${VER}-mac-x64.zip**\nMD5: ${MAC_MD5} - ${BASEURL}GridTracker-${VER}-mac-x64.zip\n\n**GridTracker-${VER}-linux-arm32.tar.gz**\nMD5: ${LINARM32_MD5} - ${BASEURL}GridTracker-${VER}-linux-arm32.tar.gz\n\n**GridTracker-${VER}-linux-arm64.tar.gz**\nMD5: ${LINARM64_MD5} - ${BASEURL}GridTracker-${VER}-linux-arm64.tar.gz\n\n**GridTracker-${VER}-linux-x86.tar.gz**\nMD5: ${LINx86_MD5} - ${BASEURL}GridTracker-${VER}-linux-x86.tar.gz\n\n**GridTracker-${VER}-linux-x64.tar.gz**\nMD5: ${LINx64_MD5} - ${BASEURL}GridTracker-${VER}-linux-x64.tar.gz\n\n**gridtracker_${VER}_all.deb**\nMD5: ${DEB_MD5} - ${BASEURL}gridtracker_${VER}_all.deb",
"content": "**GridTracker-Installer.${VER}.exe**\nmd5: ${WIN_MD5} - ${BASEURL}GridTracker-Installer.${VER}.exe\n\n**GridTracker-${VER}-mac-x64.zip**\nMD5: ${MAC_MD5} - ${BASEURL}GridTracker-${VER}-mac-x64.zip\n\n**GridTracker-${VER}-linux-arm32.tar.gz**\nMD5: ${LINARM32_MD5} - ${BASEURL}GridTracker-${VER}-linux-arm32.tar.gz\n\n**GridTracker-${VER}-linux-arm64.tar.gz**\nMD5: ${LINARM64_MD5} - ${BASEURL}GridTracker-${VER}-linux-arm64.tar.gz\n\n**GridTracker-${VER}-linux-x86.tar.gz**\nMD5: ${LINx86_MD5} - ${BASEURL}GridTracker-${VER}-linux-x86.tar.gz\n\n**GridTracker-${VER}-linux-x64.tar.gz**\nMD5: ${LINx64_MD5} - ${BASEURL}GridTracker-${VER}-linux-x64.tar.gz\n\n**gridtracker_${VER}_all.deb**\nMD5: ${DEB_MD5} - ${BASEURL}gridtracker_${VER}_all.deb\n\n**GridTracker-${VER}-x86_64.flatpak**\nMD5: ${FLATx64_MD5} - ${BASEURL}GridTracker-${VER}-x86_64.flatpak\n\n**GridTracker-${VER}-arm64.flatpak**\nMD5: ${FLATARM64_MD5} - ${BASEURL}GridTracker-${VER}-arm64.flatpak",
"tts": false,
"embeds": [],
"components": {},

Wyświetl plik

@ -0,0 +1,39 @@
---
app-id: org.gridtracker.GridTracker
runtime: org.freedesktop.Platform
runtime-version: 22.08
sdk: org.freedesktop.Sdk
rename-desktop-file: gridtracker.desktop
rename-icon: gridview
copy-icon: true
finish-args:
# X11 + XShm access
- "--share=ipc"
- "--socket=x11"
# Wayland and OpenGL access
- "--socket=wayland"
- "--device=dri"
# Audio access
- "--socket=pulseaudio"
# Network access
- "--share=network"
# User homedir access
- "--filesystem=home"
modules:
#- name: node-modules
# sources:
# - generated-sources.json
- name: gridtracker
buildsystem: simple
build-commands:
- |
mkdir -p ${FLATPAK_DEST}/{bin,share}
cp -r dist/GridTracker-*-linux-*64 ${FLATPAK_DEST}/share/gridtracker
mkdir -p ${FLATPAK_DEST}/share/applications
cp gridtracker.desktop ${FLATPAK_DEST}/share/applications/gridtracker.desktop
mkdir -p ${FLATPAK_DEST}/share/icons/hicolor/128x128/apps
cp ${FLATPAK_DEST}/share/gridtracker/gridview.png ${FLATPAK_DEST}/share/icons/hicolor/128x128/apps/gridview.png
ln -sr ${FLATPAK_DEST}/share/gridtracker/GridTracker ${FLATPAK_DEST}/bin/gridtracker
sources:
- type: dir
path: ./

Wyświetl plik

@ -0,0 +1,39 @@
---
app-id: org.gridtracker.GridTracker
runtime: org.freedesktop.Platform
runtime-version: 22.08
sdk: org.freedesktop.Sdk
rename-desktop-file: gridtracker.desktop
rename-icon: gridview
copy-icon: true
finish-args:
# X11 + XShm access
- "--share=ipc"
- "--socket=x11"
# Wayland and OpenGL access
- "--socket=wayland"
- "--device=dri"
# Audio access
- "--socket=pulseaudio"
# Network access
- "--share=network"
# User homedir access
- "--filesystem=home"
modules:
#- name: node-modules
# sources:
# - generated-sources.json
- name: gridtracker
buildsystem: simple
build-commands:
- |
mkdir -p ${FLATPAK_DEST}/{bin,share}
cp -r dist/GridTracker-*-linux-*64 ${FLATPAK_DEST}/share/gridtracker
mkdir -p ${FLATPAK_DEST}/share/applications
cp gridtracker.desktop ${FLATPAK_DEST}/share/applications/gridtracker.desktop
mkdir -p ${FLATPAK_DEST}/share/icons/hicolor/128x128/apps
cp ${FLATPAK_DEST}/share/gridtracker/gridview.png ${FLATPAK_DEST}/share/icons/hicolor/128x128/apps/gridview.png
ln -sr ${FLATPAK_DEST}/share/gridtracker/GridTracker ${FLATPAK_DEST}/bin/gridtracker
sources:
- type: dir
path: ./

148
package-lock.json wygenerowano
Wyświetl plik

@ -9,7 +9,7 @@
"version": "1.0.0",
"hasInstallScript": true,
"devDependencies": {
"@gridtracker.org/nwjs-builder-phoenix": "^1.15.1",
"@gridtracker.org/nwjs-builder-phoenix": "^1.15.3",
"eslint": "^7.19.0",
"eslint-config-standard": "^16.0.2",
"eslint-plugin-import": "^2.22.1",
@ -185,13 +185,13 @@
"dev": true
},
"node_modules/@gridtracker.org/nwjs-builder-phoenix": {
"version": "1.15.1",
"resolved": "https://gitlab.com/api/v4/projects/32369513/packages/npm/@gridtracker.org/nwjs-builder-phoenix/-/@gridtracker.org/nwjs-builder-phoenix-1.15.1.tgz",
"integrity": "sha1-xL2TDxNRGLXKAKD5KQB4L8aMYn8=",
"version": "1.15.3",
"resolved": "https://gitlab.com/api/v4/projects/32369513/packages/npm/@gridtracker.org/nwjs-builder-phoenix/-/@gridtracker.org/nwjs-builder-phoenix-1.15.3.tgz",
"integrity": "sha1-9Fjfi8IdEsjy9I71qxKRP71jVJQ=",
"dev": true,
"dependencies": {
"7zip-bin": "^2.0.4",
"bluebird": "^3.5.0",
"bluebird": "3.5.0",
"debug": "^2.6.1",
"dir-compare": "^1.3.0",
"fs-extra": "^3.0.1",
@ -606,9 +606,9 @@
}
},
"node_modules/bluebird": {
"version": "3.7.2",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
"integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
"version": "3.5.0",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz",
"integrity": "sha512-3LE8m8bqjGdoxfvf71yhFNrUcwy3NLy00SAo+b6MfJ8l+Bc2DzQ7mUHwX6pjK2AxfgV+YfsjCeVW3T5HLQTBsQ==",
"dev": true
},
"node_modules/brace-expansion": {
@ -631,13 +631,14 @@
}
},
"node_modules/call-bind": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
"integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz",
"integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==",
"dev": true,
"dependencies": {
"function-bind": "^1.1.1",
"get-intrinsic": "^1.0.2"
"function-bind": "^1.1.2",
"get-intrinsic": "^1.2.1",
"set-function-length": "^1.1.1"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@ -976,26 +977,26 @@
}
},
"node_modules/es-abstract": {
"version": "1.22.2",
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.2.tgz",
"integrity": "sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==",
"version": "1.22.3",
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz",
"integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==",
"dev": true,
"dependencies": {
"array-buffer-byte-length": "^1.0.0",
"arraybuffer.prototype.slice": "^1.0.2",
"available-typed-arrays": "^1.0.5",
"call-bind": "^1.0.2",
"call-bind": "^1.0.5",
"es-set-tostringtag": "^2.0.1",
"es-to-primitive": "^1.2.1",
"function.prototype.name": "^1.1.6",
"get-intrinsic": "^1.2.1",
"get-intrinsic": "^1.2.2",
"get-symbol-description": "^1.0.0",
"globalthis": "^1.0.3",
"gopd": "^1.0.1",
"has": "^1.0.3",
"has-property-descriptors": "^1.0.0",
"has-proto": "^1.0.1",
"has-symbols": "^1.0.3",
"hasown": "^2.0.0",
"internal-slot": "^1.0.5",
"is-array-buffer": "^3.0.2",
"is-callable": "^1.2.7",
@ -1005,7 +1006,7 @@
"is-string": "^1.0.7",
"is-typed-array": "^1.1.12",
"is-weakref": "^1.0.2",
"object-inspect": "^1.12.3",
"object-inspect": "^1.13.1",
"object-keys": "^1.1.1",
"object.assign": "^4.1.4",
"regexp.prototype.flags": "^1.5.1",
@ -1019,7 +1020,7 @@
"typed-array-byte-offset": "^1.0.0",
"typed-array-length": "^1.0.4",
"unbox-primitive": "^1.0.2",
"which-typed-array": "^1.1.11"
"which-typed-array": "^1.1.13"
},
"engines": {
"node": ">= 0.4"
@ -1029,26 +1030,26 @@
}
},
"node_modules/es-set-tostringtag": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz",
"integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==",
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz",
"integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==",
"dev": true,
"dependencies": {
"get-intrinsic": "^1.1.3",
"has": "^1.0.3",
"has-tostringtag": "^1.0.0"
"get-intrinsic": "^1.2.2",
"has-tostringtag": "^1.0.0",
"hasown": "^2.0.0"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/es-shim-unscopables": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz",
"integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==",
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz",
"integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==",
"dev": true,
"dependencies": {
"has": "^1.0.3"
"hasown": "^2.0.0"
}
},
"node_modules/es-to-primitive": {
@ -1755,15 +1756,15 @@
"dev": true
},
"node_modules/get-intrinsic": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz",
"integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==",
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz",
"integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==",
"dev": true,
"dependencies": {
"function-bind": "^1.1.1",
"has": "^1.0.3",
"function-bind": "^1.1.2",
"has-proto": "^1.0.1",
"has-symbols": "^1.0.3"
"has-symbols": "^1.0.3",
"hasown": "^2.0.0"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@ -1959,12 +1960,12 @@
}
},
"node_modules/has-property-descriptors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
"integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==",
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz",
"integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==",
"dev": true,
"dependencies": {
"get-intrinsic": "^1.1.1"
"get-intrinsic": "^1.2.2"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@ -2009,6 +2010,18 @@
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/hasown": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz",
"integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==",
"dev": true,
"dependencies": {
"function-bind": "^1.1.2"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/hosted-git-info": {
"version": "2.8.9",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
@ -2081,13 +2094,13 @@
"dev": true
},
"node_modules/internal-slot": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz",
"integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==",
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz",
"integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==",
"dev": true,
"dependencies": {
"get-intrinsic": "^1.2.0",
"has": "^1.0.3",
"get-intrinsic": "^1.2.2",
"hasown": "^2.0.0",
"side-channel": "^1.0.4"
},
"engines": {
@ -2164,12 +2177,12 @@
}
},
"node_modules/is-core-module": {
"version": "2.13.0",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz",
"integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==",
"version": "2.13.1",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz",
"integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
"dev": true,
"dependencies": {
"has": "^1.0.3"
"hasown": "^2.0.0"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@ -2633,9 +2646,9 @@
}
},
"node_modules/object-inspect": {
"version": "1.13.0",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.0.tgz",
"integrity": "sha512-HQ4J+ic8hKrgIt3mqk6cVOVrW2ozL4KdvHlqpBv9vDYWx9ysAgENAdvy4FoGF+KFdhR7nQTNm5J0ctAeOwn+3g==",
"version": "1.13.1",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
"integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==",
"dev": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
@ -3165,6 +3178,21 @@
"integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==",
"dev": true
},
"node_modules/set-function-length": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz",
"integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==",
"dev": true,
"dependencies": {
"define-data-property": "^1.1.1",
"get-intrinsic": "^1.2.1",
"gopd": "^1.0.1",
"has-property-descriptors": "^1.0.0"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/set-function-name": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz",
@ -3288,9 +3316,9 @@
"dev": true
},
"node_modules/sshpk": {
"version": "1.17.0",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz",
"integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
"version": "1.18.0",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz",
"integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==",
"dev": true,
"dependencies": {
"asn1": "~0.2.3",
@ -3733,13 +3761,13 @@
"dev": true
},
"node_modules/which-typed-array": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz",
"integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==",
"version": "1.1.13",
"resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz",
"integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==",
"dev": true,
"dependencies": {
"available-typed-arrays": "^1.0.5",
"call-bind": "^1.0.2",
"call-bind": "^1.0.4",
"for-each": "^0.3.3",
"gopd": "^1.0.1",
"has-tostringtag": "^1.0.0"