SHA256
1
0
forked from pool/cockpit

Compare commits

...

17 Commits

Author SHA256 Message Date
Dominique Leuenberger
f72b5fc621 Accepting request 1248217 from systemsmanagement:cockpit
- fix build with latest local-npm-registry

OBS-URL: https://build.opensuse.org/request/show/1248217
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/cockpit?expand=0&rev=54
2025-02-25 15:41:04 +00:00
OBS User unknown
7cd95d9663 [info=247c2b140945d069af726b48603187b1c4f39033568fe848846ac7dd6a535b52]
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement:cockpit/cockpit?expand=0&rev=217
2025-02-24 17:03:39 +00:00
OBS User unknown
92923d0c31 [info=60f3c749b01a838746ef03ba265752fb04ec73c6569f9a4a63a02d0e0d02eb1f]
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement:cockpit/cockpit?expand=0&rev=216
2025-02-24 17:01:31 +00:00
Dominique Leuenberger
57aed05ea4 Accepting request 1247655 from systemsmanagement:cockpit
- Always apply 0007-Remove-DynamicUser-setting-as-these-conflict-with-re.patch
  for every build system. Fixes bsc#1237451

- Add functionality to cockpit-packagekit that allows selecting what updates
  should be applied
- Added packagekit-single-install.patch file that adds this functionality

OBS-URL: https://build.opensuse.org/request/show/1247655
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/cockpit?expand=0&rev=53
2025-02-22 18:04:24 +00:00
OBS User unknown
504fa49348 [info=de4b8becd9c83bea352cf5f0f707807082e022a1e5473186a39cb1c5d58e2013]
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement:cockpit/cockpit?expand=0&rev=215
2025-02-21 09:29:38 +00:00
OBS User unknown
b131d7990e [info=783d2e3bb195c6409132c66eb04c36d0232372b201170fc36d853c9dbdd3cdb0]
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement:cockpit/cockpit?expand=0&rev=214
2025-02-21 09:12:22 +00:00
Ana Guerrero
ef7af03091 Accepting request 1246484 from systemsmanagement:cockpit
- Update to 332
  - Updated naming convention for motd to issue and relevant patches
- Added 0007-Remove-DynamicUser-setting-as-these-conflict-with-re.patch
  since dynamic users can't be resolved since systemd is missing in nsswitch
  bsc#1230638

- Remove 0005-cockpit-ws-user-remove-default-deps.patch
- Fix dynamic users for 330 since systemd isn't included in the
  nsswitch.conf
- Tidy up pam_oath removal for leap
  - Ship a new pam file since Leap15 doesn't have pam_oath
  - Don't change motd if we don't have pam_oath
- Properly fix pidfd_getpid
  - This can be dropped once we update again as it's been upstreamed

- Update to 330
    - Web server: Increased sandboxing, setuid removal, bootc support
    - Development: New install mode using systemd-sysext

- update to 329.1:
  - cockpit.js: Put back cockpit.{resolve,reject}() to fix subscription-manager-cockpit
- Past updates:
  * 329
      - Shell: Extra warnings when connecting to remote hosts
  * 328:
      - Bug fixes and performance improvements
  * 327:
      - Connect to similar servers without Cockpit installed
  * 326:
      - cockpit-pcp package is now obsolete

OBS-URL: https://build.opensuse.org/request/show/1246484
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/cockpit?expand=0&rev=52
2025-02-19 14:58:24 +00:00
OBS User unknown
8c2522e068 [info=ba3323415857354d7a3517f77ac133fcd740ab3611acf123400d5cd9900a70f8]
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement:cockpit/cockpit?expand=0&rev=213
2025-02-17 16:46:39 +00:00
5e3cb0d06c [info=d67dfe997f6128fcf68b45e18bcdc257503d4112ef1f7abc861662ee7e391173]
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement:cockpit/cockpit?expand=0&rev=212
2025-02-14 11:23:04 +00:00
OBS User unknown
0c018910a8 [info=d67dfe997f6128fcf68b45e18bcdc257503d4112ef1f7abc861662ee7e391173]
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement:cockpit/cockpit?expand=0&rev=211
2025-02-13 13:05:33 +00:00
OBS User unknown
9a45e356a1 [info=338985b5800070a11fb3a4098ef3ddb2d92b44eca9c83dfd48569aaec9c733b9]
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement:cockpit/cockpit?expand=0&rev=210
2025-02-13 12:45:31 +00:00
OBS User unknown
bdc859e8de [info=23892eda9a470f850c314701b89758e4eba10f7a61e45b0e9ad5971ede13cebd]
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement:cockpit/cockpit?expand=0&rev=209
2025-01-12 22:08:42 +00:00
OBS User unknown
025616e1bf [info=0f2e1289117949342cf3fa35df32e6168771c6476547448fc5d4d6be94c39775]
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement:cockpit/cockpit?expand=0&rev=208
2024-12-03 08:35:27 +00:00
Ana Guerrero
43fec2e6b8 Accepting request 1208034 from systemsmanagement:cockpit
Resubmit same rev, kick legalbot

OBS-URL: https://build.opensuse.org/request/show/1208034
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/cockpit?expand=0&rev=51
2024-10-16 21:36:32 +00:00
OBS User unknown
d2dafec624 [info=416aa9163d1b8de4091c35f889f67ad8008b2bb60ba87d63209a6e02db4c05d4]
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement:cockpit/cockpit?expand=0&rev=207
2024-10-10 19:43:36 +00:00
OBS User unknown
cb4e3db8a3 [info=17cc1c2b4c2695ee860c7956a19d7f862a23d983f3fb5bf28a7e5d8ad6f43358]
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement:cockpit/cockpit?expand=0&rev=206
2024-10-09 10:46:43 +00:00
OBS User unknown
bda544d37d [info=95f291257bf63a3a7f7bd4cdd1428b39511f941d934fca81709f621a8058e0ee]
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement:cockpit/cockpit?expand=0&rev=205
2024-10-09 10:31:59 +00:00
21 changed files with 3513 additions and 1970 deletions

View File

@ -1,11 +0,0 @@
--- pkg/src/systemd/cockpit-ws-user.service
+++ pkg/src/systemd/cockpit-ws-user.service
@@ -1,6 +1,8 @@
[Unit]
Description=Dynamic user for cockpit-ws
Documentation=man:cockpit-ws(8)
+# avoid dependency loop with basic.target/sockets.target shutdown
+DefaultDependencies=no
BindsTo=cockpit.service
[Service]

10
0006-totp-motd.patch Normal file
View File

@ -0,0 +1,10 @@
--- a/src/systemd/inactive.issue
+++ b/src/systemd/inactive.issue
@@ -1,2 +1,7 @@
Activate the web console with: systemctl enable --now cockpit.socket
+Note: Cockpit disallows root login by default.
+To create a regular user and optionally enable 2FA run both:
+
+jeos-config user
+jeos-config otp

View File

@ -0,0 +1,57 @@
From 730d204ff5a1f0382c3edffe51ce62c890cf86f2 Mon Sep 17 00:00:00 2001
From: Alice Brooks <alice.brooks@suse.com>
Date: Thu, 30 Jan 2025 10:45:46 +0000
Subject: [PATCH 1/1] Remove DynamicUser setting as these conflict with real
users
Real users are having to be created due to Leap15.6's nsswitch not
containing systemd, so dynamic users cannot be resolved inter
service due to this we must manually create the users postinstall
---
src/systemd/cockpit-wsinstance-http.service.in | 2 +-
src/systemd/cockpit-wsinstance-https@.service.in | 2 +-
src/systemd/cockpit.service.in | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/systemd/cockpit-wsinstance-http.service.in b/src/systemd/cockpit-wsinstance-http.service.in
index 539b90345..17ab21df1 100644
--- a/src/systemd/cockpit-wsinstance-http.service.in
+++ b/src/systemd/cockpit-wsinstance-http.service.in
@@ -7,7 +7,7 @@ After=cockpit-session.socket
[Service]
ExecStart=@libexecdir@/cockpit-ws --no-tls --port=0
-DynamicUser=yes
+DynamicUser=no
Group=cockpit-session-socket
PrivateDevices=yes
diff --git a/src/systemd/cockpit-wsinstance-https@.service.in b/src/systemd/cockpit-wsinstance-https@.service.in
index f66c9f874..db53247c0 100644
--- a/src/systemd/cockpit-wsinstance-https@.service.in
+++ b/src/systemd/cockpit-wsinstance-https@.service.in
@@ -8,7 +8,7 @@ After=cockpit-session.socket
[Service]
Slice=system-cockpithttps.slice
ExecStart=@libexecdir@/cockpit-ws --for-tls-proxy --port=0
-DynamicUser=yes
+DynamicUser=no
Group=cockpit-session-socket
PrivateDevices=yes
diff --git a/src/systemd/cockpit.service.in b/src/systemd/cockpit.service.in
index 97adda221..ec50118aa 100644
--- a/src/systemd/cockpit.service.in
+++ b/src/systemd/cockpit.service.in
@@ -10,7 +10,7 @@ After=cockpit-wsinstance-http.socket cockpit-wsinstance-https-factory.socket
RuntimeDirectory=cockpit/tls
ExecStartPre=+@libexecdir@/cockpit-certificate-ensure --for-cockpit-tls
ExecStart=@libexecdir@/cockpit-tls
-DynamicUser=yes
+DynamicUser=no
# otherwise systemd uses 'cockpit' even if it exists as a normal user account
User=cockpit-systemd-service
Group=cockpit-wsinstance-socket
--
2.48.1

View File

@ -1,4 +1,5 @@
mtime: 1724160305 mtime: 1740416596
commit: 14257e4afc4b4e4056aa2c0ded35bcd58557bbf7e3bce531cf68bd67440ac9cb commit: 247c2b140945d069af726b48603187b1c4f39033568fe848846ac7dd6a535b52
url: https://src.opensuse.org/cockpit/cockpit.git url: https://src.opensuse.org/cockpit/cockpit.git
revision: 14257e4afc4b4e4056aa2c0ded35bcd58557bbf7e3bce531cf68bd67440ac9cb revision: 247c2b140945d069af726b48603187b1c4f39033568fe848846ac7dd6a535b52
projectscmsync: https://src.opensuse.org/cockpit/_ObsPrj.git#dc2e2f8ec00b60c5bb9eca47262d1b6d22f5bd7af5cdd2f8f55a062a56e4ccef

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:322d6cd67c1bf0efc416a76103ff92916681f6e258089fb6497cd5a08317a3b1 oid sha256:e8f84878146d74c428883fd3bf4afa122e627181a0b8c22a0467611777e514ea
size 256 size 256

BIN
cockpit-322.tar.gz (Stored with Git LFS)

Binary file not shown.

BIN
cockpit-332.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

10
cockpit-no-pamoath.pam Normal file
View File

@ -0,0 +1,10 @@
#%PAM-1.0
auth substack common-auth
# List of users to deny access to Cockpit, by default root is included.
auth required pam_listfile.so item=user sense=deny file=/etc/cockpit/disallowed-users onerr=succeed
account required pam_nologin.so
account include common-account
password include common-password
session required pam_loginuid.so
session optional pam_keyinit.so force revoke
session include common-session

View File

@ -1,3 +1,96 @@
-------------------------------------------------------------------
Mon Feb 24 17:02:38 UTC 2025 - Adam Majer <adam.majer@suse.de>
- fix build with latest local-npm-registry
-------------------------------------------------------------------
Fri Feb 21 08:03:00 UTC 2025 - Alice Brooks <alice.brooks@suse.com>
- Always apply 0007-Remove-DynamicUser-setting-as-these-conflict-with-re.patch
for every build system. Fixes bsc#1237451
-------------------------------------------------------------------
Thu Feb 20 22:22:32 UTC 2025 - Miika Alikirri <miika.alikirri@suse.com>
- Add functionality to cockpit-packagekit that allows selecting what updates
should be applied
- Added packagekit-single-install.patch file that adds this functionality
-------------------------------------------------------------------
Fri Feb 7 09:24:33 UTC 2025 - Alice Brooks <alice.brooks@suse.com>
- Update to 332
- Updated naming convention for motd to issue and relevant patches
- Added 0007-Remove-DynamicUser-setting-as-these-conflict-with-re.patch
since dynamic users can't be resolved since systemd is missing in nsswitch
bsc#1230638
-------------------------------------------------------------------
Thu Jan 30 12:59:34 UTC 2025 - Alice Brooks <alice.brooks@suse.com>
- Remove 0005-cockpit-ws-user-remove-default-deps.patch
- Fix dynamic users for 330 since systemd isn't included in the
nsswitch.conf
- Tidy up pam_oath removal for leap
- Ship a new pam file since Leap15 doesn't have pam_oath
- Don't change motd if we don't have pam_oath
- Properly fix pidfd_getpid
- This can be dropped once we update again as it's been upstreamed
-------------------------------------------------------------------
Fri Dec 6 06:32:31 UTC 2024 - Luna D Dragon <luna.dragon@suse.com>
- Update to 330
- Web server: Increased sandboxing, setuid removal, bootc support
- Development: New install mode using systemd-sysext
-------------------------------------------------------------------
Mon Nov 25 06:18:44 UTC 2024 - Luna D Dragon <luna.dragon@suse.com>
- update to 329.1:
- cockpit.js: Put back cockpit.{resolve,reject}() to fix subscription-manager-cockpit
- Past updates:
* 329
- Shell: Extra warnings when connecting to remote hosts
* 328:
- Bug fixes and performance improvements
* 327:
- Connect to similar servers without Cockpit installed
* 326:
- cockpit-pcp package is now obsolete
- cockpit/ws container: Connect to servers without installed Cockpit
- cockpit/ws container: Support host specific SSH keys
- Storage: Support for Stratis filesystem sizes and limits
* 325:
- client: Properly handle unknown SSH host keys
* 324:
- Bug fixes and performance improvements
* 323.1:
- Translation updates
* 323:
- login: Prevent multiple logins in a single browser session
- Update documentation links
-------------------------------------------------------------------
Wed Oct 9 12:14:14 UTC 2024 - Alice Brooks <alice.brooks@suse.com>
- suse_docs.patch: update documentation to point at new links (bsc#1226050)
- remove_rh_links.patch: remove additional hardcoded RH refs (bsc#1221336)
- hide-pcp.patch: correct patch to properly disable pcp on micro
(bsc#1226049)
- suse-microos-branding.patch: use suse ID as branding instead of sle-micro
(bsc#1227441)
-------------------------------------------------------------------
Mon Sep 30 07:08:12 UTC 2024 - Alice Brooks <alice.brooks@suse.com>
- add 0006-totp-motd.patch for guidance to enabling totp to the mtod
-------------------------------------------------------------------
Wed Sep 18 12:37:18 UTC 2024 - Jan Zerebecki <jan.suse@zerebecki.de>
- support optional TOTP for authentication, requires pam_oath
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Aug 20 13:24:06 UTC 2024 - Adam Majer <adam.majer@suse.de> Tue Aug 20 13:24:06 UTC 2024 - Adam Majer <adam.majer@suse.de>

View File

@ -8,3 +8,4 @@ password include common-password
session required pam_loginuid.so session required pam_loginuid.so
session optional pam_keyinit.so force revoke session optional pam_keyinit.so force revoke
session include common-session session include common-session
auth [user_unknown=ignore success=ok] pam_oath.so usersfile=${HOME}/.pam_oath_usersfile no_usersfile_okay window=20 digits=6

View File

@ -1,3 +1,4 @@
#
# Copyright (C) 2014-2020 Red Hat, Inc. # Copyright (C) 2014-2020 Red Hat, Inc.
# #
# Cockpit is free software; you can redistribute it and/or modify it # Cockpit is free software; you can redistribute it and/or modify it
@ -11,7 +12,7 @@
# Lesser General Public License for more details. # Lesser General Public License for more details.
# #
# You should have received a copy of the GNU Lesser General Public License # You should have received a copy of the GNU Lesser General Public License
# along with Cockpit; If not, see <http://www.gnu.org/licenses/>. # along with Cockpit; If not, see <https://www.gnu.org/licenses/>.
# #
# #
@ -49,12 +50,13 @@ Summary: Web Console for Linux servers
License: LGPL-2.1-or-later License: LGPL-2.1-or-later
URL: https://cockpit-project.org/ URL: https://cockpit-project.org/
Version: 322 Version: 332
Release: 0 Release: 0
Source0: cockpit-%{version}.tar.gz Source0: cockpit-%{version}.tar.gz
Source1: cockpit.pam Source1: cockpit.pam
Source2: cockpit-rpmlintrc Source2: cockpit-rpmlintrc
Source3: cockpit-suse-theme.tar Source3: cockpit-suse-theme.tar
Source4: cockpit-no-pamoath.pam
Source10: update_version.sh Source10: update_version.sh
Source99: README.packaging Source99: README.packaging
Source98: package-lock.json Source98: package-lock.json
@ -68,11 +70,15 @@ Patch5: storage-btrfs.patch
# SLE Micro specific patches # SLE Micro specific patches
Patch101: hide-pcp.patch Patch101: hide-pcp.patch
Patch102: 0002-selinux-temporary-remove-setroubleshoot-section.patch Patch102: 0002-selinux-temporary-remove-setroubleshoot-section.patch
Patch107: 0006-totp-motd.patch
Patch108: 0007-Remove-DynamicUser-setting-as-these-conflict-with-re.patch
# For anything based on SLES 15 codebase (including Leap, SLE Micro) # For anything based on SLES 15 codebase (including Leap, SLE Micro)
Patch103: 0004-leap-gnu18-removal.patch Patch103: 0004-leap-gnu18-removal.patch
Patch104: selinux_libdir.patch Patch104: selinux_libdir.patch
Patch105: fix-libexecdir.patch Patch105: fix-libexecdir.patch
Patch106: 0005-cockpit-ws-user-remove-default-deps.patch Patch106: packagekit-single-install.patch
Patch201: remove_rh_links.patch
%define build_all 1 %define build_all 1
%if 0%{?rhel} == 8 && 0%{?epel} == 0 && !0%{?build_all} %if 0%{?rhel} == 8 && 0%{?epel} == 0 && !0%{?build_all}
@ -105,14 +111,6 @@ Patch106: 0005-cockpit-ws-user-remove-default-deps.patch
ExcludeArch: %{ix86} ExcludeArch: %{ix86}
%endif %endif
# pcp stopped building on ix86 in Fedora 40+, and broke hard on 39: https://bugzilla.redhat.com/show_bug.cgi?id=2284431
%define build_pcp 1
%if 0%{?fedora} >= 40 || 0%{?rhel} >= 10 || 0%{?suse_version} > 1500
%ifarch %ix86
%define build_pcp 0
%endif
%endif
%define enable_multihost 1 %define enable_multihost 1
%if 0%{?fedora} >= 41 || 0%{?rhel} >= 10 %if 0%{?fedora} >= 41 || 0%{?rhel} >= 10
%define enable_multihost 0 %define enable_multihost 0
@ -138,7 +136,6 @@ BuildRequires: make
BuildRequires: /usr/bin/python3 BuildRequires: /usr/bin/python3
BuildRequires: python3-devel BuildRequires: python3-devel
BuildRequires: gettext >= 0.21 BuildRequires: gettext >= 0.21
BuildRequires: libssh-devel >= 0.8.5
BuildRequires: openssl-devel BuildRequires: openssl-devel
BuildRequires: gnutls-devel >= 3.4.3 BuildRequires: gnutls-devel >= 3.4.3
BuildRequires: zlib-devel BuildRequires: zlib-devel
@ -152,21 +149,12 @@ BuildRequires: glib2-devel >= 2.50.0
BuildRequires: pkgconfig(libsystemd) >= 235 BuildRequires: pkgconfig(libsystemd) >= 235
%if 0%{?suse_version} %if 0%{?suse_version}
BuildRequires: distribution-release BuildRequires: distribution-release
%if %{build_pcp}
BuildRequires: libpcp-devel
BuildRequires: pcp-devel
BuildRequires: libpcp3
BuildRequires: libpcp_import1
%endif
BuildRequires: openssh BuildRequires: openssh
BuildRequires: distribution-logos BuildRequires: distribution-logos
BuildRequires: wallpaper-branding BuildRequires: wallpaper-branding
# needed for /var/lib/pcp directory ownership # needed for /var/lib/pcp directory ownership
BuildRequires: pcp BuildRequires: pcp
%else %else
%if %{build_pcp}
BuildRequires: pcp-libs-devel
%endif
BuildRequires: openssh-clients BuildRequires: openssh-clients
BuildRequires: docbook-style-xsl BuildRequires: docbook-style-xsl
%endif %endif
@ -197,7 +185,7 @@ Requires: cockpit-system
# Optional components # Optional components
Recommends: (cockpit-storaged if udisks2) Recommends: (cockpit-storaged if udisks2)
Recommends: (cockpit-packagekit if (dnf or zypper)) Recommends: (cockpit-packagekit if (dnf or zypper))
Suggests: cockpit-pcp Suggests: python3-pcp
%if 0%{?rhel} == 0 %if 0%{?rhel} == 0
Recommends: (cockpit-networkmanager if NetworkManager) Recommends: (cockpit-networkmanager if NetworkManager)
@ -214,11 +202,8 @@ BuildRequires: python3-pip
%if 0%{?rhel} == 0 && !0%{?suse_version} %if 0%{?rhel} == 0 && !0%{?suse_version}
# All of these are only required for running pytest (which we only do on Fedora) # All of these are only required for running pytest (which we only do on Fedora)
BuildRequires: procps-ng BuildRequires: procps-ng
BuildRequires: pyproject-rpm-macros
BuildRequires: python3-pytest-asyncio BuildRequires: python3-pytest-asyncio
BuildRequires: python3-pytest-cov
BuildRequires: python3-pytest-timeout BuildRequires: python3-pytest-timeout
BuildRequires: python3-tox-current-env
%endif %endif
%prep %prep
@ -229,10 +214,12 @@ BuildRequires: python3-tox-current-env
%patch -P 4 -p1 %patch -P 4 -p1
%patch -P 5 -p1 %patch -P 5 -p1
%patch -P 106 -p1 %patch -P 106 -p1
%patch -P 108 -p1
# SLE Micro specific patches # SLE Micro specific patches
%if 0%{?is_smo} %if 0%{?is_smo}
%patch -P 101 -p1 %patch -P 101 -p1
%patch -P 107 -p1
# Patches for versions lower then SLE Micro 5.5 # Patches for versions lower then SLE Micro 5.5
%if 0%{?sle_version} < 150500 %if 0%{?sle_version} < 150500
%patch -P 102 -p1 %patch -P 102 -p1
@ -241,13 +228,22 @@ BuildRequires: python3-tox-current-env
# For anything based on SLES 15 codebase (including Leap, SLEM) # For anything based on SLES 15 codebase (including Leap, SLEM)
%if 0%{?suse_version} == 1500 %if 0%{?suse_version} == 1500
%patch -P 103 -p1 %patch -P 103 -p1
%patch -P 104 -p0 %patch -P 104 -p1
%patch -P 105 -p1 %patch -P 105 -p1
%else
%patch -P 107 -p1
%endif %endif
%patch -P 201 -p1
%if 0%{?suse_version} > 1500
cp %SOURCE1 tools/cockpit.pam cp %SOURCE1 tools/cockpit.pam
%else
cp %SOURCE4 tools/cockpit.pam
%endif
# #
local-npm-registry %{_sourcedir} install --include=dev --ignore-scripts local-npm-registry %{_sourcedir} install --include=dev --ignore-scripts
touch package-lock.json
%build %build
find node_modules -name \*.node -print -delete find node_modules -name \*.node -print -delete
@ -265,9 +261,6 @@ autoreconf -fvi -I tools
--libexecdir=%_libexecdir \ --libexecdir=%_libexecdir \
%endif %endif
--with-pamdir='%{pamdir}' \ --with-pamdir='%{pamdir}' \
%if %{build_pcp} == 0
--disable-pcp \
%endif
%if %{enable_multihost} %if %{enable_multihost}
--enable-multihost \ --enable-multihost \
%endif %endif
@ -319,8 +312,7 @@ popd
%if 0%{?suse_version} == 1500 %if 0%{?suse_version} == 1500
sed -i -e 's#"/lib/systemd/system#"%{_unitdir}#' \ sed -i -e 's#"/lib/systemd/system#"%{_unitdir}#' \
%{buildroot}%{_datadir}/cockpit/packagekit/manifest.json \ %{buildroot}%{_datadir}/cockpit/packagekit/manifest.json
%{buildroot}%{_datadir}/cockpit/pcp/manifest.json
%endif %endif
# Build the package lists for resource packages # Build the package lists for resource packages
@ -330,57 +322,6 @@ echo '%dir %{_datadir}/cockpit/base1' >> base.list
find %{buildroot}%{_datadir}/cockpit/base1 -type f -o -type l >> base.list find %{buildroot}%{_datadir}/cockpit/base1 -type f -o -type l >> base.list
echo '%{_sysconfdir}/cockpit/machines.d' >> base.list echo '%{_sysconfdir}/cockpit/machines.d' >> base.list
echo %{buildroot}%{_datadir}/polkit-1/actions/org.cockpit-project.cockpit-bridge.policy >> base.list echo %{buildroot}%{_datadir}/polkit-1/actions/org.cockpit-project.cockpit-bridge.policy >> base.list
echo '%{_libexecdir}/cockpit-ssh' >> base.list
%if %{build_pcp}
echo '%dir %{_datadir}/cockpit/pcp' > pcp.list
find %{buildroot}%{_datadir}/cockpit/pcp -type f >> pcp.list
%endif
# when not building basic packages, remove their files
%if 0%{?build_basic} == 0
for pkg in base1 branding motd kdump networkmanager selinux shell sosreport static systemd users metrics; do
rm -r %{buildroot}/%{_datadir}/cockpit/$pkg
rm -f %{buildroot}/%{_datadir}/metainfo/org.cockpit-project.cockpit-${pkg}.metainfo.xml
done
for data in doc man pixmaps polkit-1; do
rm -r %{buildroot}/%{_datadir}/$data
done
rm -r %{buildroot}/%{_prefix}/%{__lib}/tmpfiles.d
find %{buildroot}/%{_unitdir}/ -type f ! -name 'cockpit-session*' -delete
for libexec in cockpit-askpass cockpit-session cockpit-ws cockpit-tls cockpit-wsinstance-factory cockpit-client cockpit-client.ui cockpit-desktop cockpit-certificate-helper cockpit-certificate-ensure; do
rm -f %{buildroot}/%{_libexecdir}/$libexec
done
rm -rf %{buildroot}/%{_sysconfdir}/pam.d %{buildroot}/%{_sysconfdir}/motd.d %{buildroot}/%{_sysconfdir}/issue.d
%if 0%{?suse_version} > 1500
rm -rf %{buildroot}/%{_pam_vendordir}
%else
rm -rf %{buildroot}/%{_sysconfdir}/pam.d
%endif
rm -f %{buildroot}/%{_libdir}/security/pam_*
rm -f %{buildroot}/usr/bin/cockpit-bridge
rm -f %{buildroot}%{_libexecdir}/cockpit-ssh
rm -f %{buildroot}%{_datadir}/metainfo/cockpit.appdata.xml
rm -rf %{buildroot}%{python3_sitelib}/cockpit*
%endif
# when not building optional packages, remove their files
%if 0%{?build_optional} == 0
for pkg in apps packagekit pcp playground storaged; do
rm -rf %{buildroot}/%{_datadir}/cockpit/$pkg
done
# files from -pcp
rm -rf %{buildroot}/%{_libexecdir}/cockpit-pcp %{buildroot}/%{_localstatedir}/lib/pcp/
# files from -storaged
rm -f %{buildroot}/%{_prefix}/share/metainfo/org.cockpit-project.cockpit-storaged.metainfo.xml
%endif
%if 0%{?build_tests} == 0
rm -rf %{buildroot}%{_datadir}/cockpit/playground
rm -f %{buildroot}/%{pamdir}/mock-pam-conv-mod.so
rm -f %{buildroot}/%{_unitdir}/cockpit-session.socket
rm -f %{buildroot}/%{_unitdir}/cockpit-session@.service
%endif
echo '%dir %{_datadir}/cockpit/shell' >> system.list echo '%dir %{_datadir}/cockpit/shell' >> system.list
find %{buildroot}%{_datadir}/cockpit/shell -type f >> system.list find %{buildroot}%{_datadir}/cockpit/shell -type f >> system.list
@ -415,30 +356,69 @@ find %{buildroot}%{_datadir}/cockpit/apps -type f >> packagekit.list
echo '%dir %{_datadir}/cockpit/selinux' > selinux.list echo '%dir %{_datadir}/cockpit/selinux' > selinux.list
find %{buildroot}%{_datadir}/cockpit/selinux -type f >> selinux.list find %{buildroot}%{_datadir}/cockpit/selinux -type f >> selinux.list
# echo '%dir %{_datadir}/cockpit/playground' > tests.list
# find %{buildroot}%{_datadir}/cockpit/playground -type f >> tests.list
echo '%dir %{_datadir}/cockpit/static' > static.list echo '%dir %{_datadir}/cockpit/static' > static.list
echo '%dir %{_datadir}/cockpit/static/fonts' >> static.list echo '%dir %{_datadir}/cockpit/static/fonts' >> static.list
find %{buildroot}%{_datadir}/cockpit/static -type f >> static.list find %{buildroot}%{_datadir}/cockpit/static -type f >> static.list
# when not building basic packages, remove their files
%if 0%{?build_basic} == 0
for pkg in base1 branding motd kdump networkmanager selinux shell sosreport static systemd users metrics; do
rm -r %{buildroot}/%{_datadir}/cockpit/$pkg
rm -f %{buildroot}/%{_datadir}/metainfo/org.cockpit-project.cockpit-${pkg}.metainfo.xml
done
for data in doc man pixmaps polkit-1; do
rm -r %{buildroot}/%{_datadir}/$data
done
rm -r %{buildroot}/%{_prefix}/%{__lib}/tmpfiles.d
for libexec in cockpit-askpass cockpit-session cockpit-ws cockpit-tls cockpit-wsinstance-factory cockpit-client cockpit-client.ui cockpit-desktop cockpit-certificate-helper cockpit-certificate-ensure; do
rm -f %{buildroot}/%{_libexecdir}/$libexec
done
rm -rf %{buildroot}/%{_sysconfdir}/pam.d %{buildroot}/%{_sysconfdir}/motd.d %{buildroot}/%{_sysconfdir}/issue.d
%if 0%{?suse_version} > 1500
rm -rf %{buildroot}/%{_pam_vendordir}
%else
rm -rf %{buildroot}/%{_sysconfdir}/pam.d
%endif
rm -f %{buildroot}/%{_libdir}/security/pam_*
rm -f %{buildroot}/usr/bin/cockpit-bridge
rm -f %{buildroot}%{_libexecdir}/cockpit-ssh
rm -f %{buildroot}%{_datadir}/metainfo/cockpit.appdata.xml
rm -rf %{buildroot}%{python3_sitelib}/cockpit*
%endif
# when not building optional packages, remove their files
%if 0%{?build_optional} == 0
for pkg in apps packagekit playground storaged; do
rm -rf %{buildroot}/%{_datadir}/cockpit/$pkg
done
# files from -storaged
rm -f %{buildroot}/%{_prefix}/share/metainfo/org.cockpit-project.cockpit-storaged.metainfo.xml
%endif
%if 0%{?build_tests} == 0
rm -rf %{buildroot}%{_datadir}/cockpit/playground
rm -f %{buildroot}/%{pamdir}/mock-pam-conv-mod.so
%endif
sed -i "s|%{buildroot}||" *.list sed -i "s|%{buildroot}||" *.list
%if 0%{?suse_version} %if 0%{?suse_version}
# remove brandings with stale symlinks. Means they don't match # remove brandings with stale symlinks. Means they don't match
# the distro. # the distro.
pushd %{buildroot}/%{_datadir}/cockpit/branding pushd %{buildroot}/%{_datadir}/cockpit/branding
ls --hide={default,kubernetes,opensuse,registry,sle-micro,suse} | xargs rm -rv ls --hide={default,kubernetes,opensuse,registry,suse} | xargs rm -rv
popd popd
# need this in SUSE as post build checks dislike stale symlinks # need this in SUSE as post build checks dislike stale symlinks
install -m 644 -D /dev/null %{buildroot}/run/cockpit/motd install -m 644 -D /dev/null %{buildroot}/run/cockpit/issue
test -e %{buildroot}/usr/share/cockpit/branding/opensuse/default-1920x1200.jpg || install -m 644 -D /dev/null %{buildroot}/usr/share/cockpit/branding/opensuse/default-1920x1200.jpg test -e %{buildroot}/usr/share/cockpit/branding/opensuse/default-1920x1200.jpg || install -m 644 -D /dev/null %{buildroot}/usr/share/cockpit/branding/opensuse/default-1920x1200.jpg
test -e %{buildroot}/usr/share/cockpit/branding/sle-micro/apple-touch-icon.png || install -m 644 -D /dev/null %{buildroot}/usr/share/cockpit/branding/sle-micro/apple-touch-icon.png test -e %{buildroot}/usr/share/cockpit/branding/suse/apple-touch-icon.png || install -m 644 -D /dev/null %{buildroot}/usr/share/cockpit/branding/suse/apple-touch-icon.png
test -e %{buildroot}/usr/share/cockpit/branding/sle-micro/default-1920x1200.png || install -m 644 -D /dev/null %{buildroot}/usr/share/cockpit/branding/sle-micro/default-1920x1200.png test -e %{buildroot}/usr/share/cockpit/branding/suse/default-1920x1200.png || install -m 644 -D /dev/null %{buildroot}/usr/share/cockpit/branding/suse/default-1920x1200.png
# remove files of not installable packages # remove files of not installable packages
rm -r %{buildroot}%{_datadir}/cockpit/sosreport rm -r %{buildroot}%{_datadir}/cockpit/sosreport
rm -f %{buildroot}/%{_prefix}/share/metainfo/org.cockpit-project.cockpit-sosreport.metainfo.xml rm -f %{buildroot}/%{_prefix}/share/metainfo/org.cockpit_project.cockpit_sosreport.metainfo.xml
rm -f %{buildroot}%{_datadir}/pixmaps/cockpit-sosreport.png rm -f %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/cockpit-sosreport.png
%else %else
%global _debugsource_packages 1 %global _debugsource_packages 1
%global _debuginfo_subpackages 0 %global _debuginfo_subpackages 0
@ -476,22 +456,16 @@ troubleshooting, interactive command-line sessions, and more.
%{_docdir}/cockpit/AUTHORS %{_docdir}/cockpit/AUTHORS
%{_docdir}/cockpit/COPYING %{_docdir}/cockpit/COPYING
%{_docdir}/cockpit/README.md %{_docdir}/cockpit/README.md
%{_datadir}/metainfo/cockpit.appdata.xml %{_datadir}/metainfo/org.cockpit_project.cockpit.appdata.xml
%{_datadir}/pixmaps/cockpit.png %dir %{_datadir}/icons/hicolor/128x128/apps
%dir %{_datadir}/icons/hicolor/128x128
%dir %{_datadir}/icons/hicolor
%{_datadir}/icons/hicolor/128x128/apps/cockpit.png
%doc %{_mandir}/man1/cockpit.1.gz %doc %{_mandir}/man1/cockpit.1.gz
%package bridge %package bridge
Summary: Cockpit bridge server-side component Summary: Cockpit bridge server-side component
Requires: glib-networking
Provides: cockpit-ssh = %{version}-%{release}
# 233 dropped jquery.js, pages started to bundle it (commit 049e8b8dce)
Conflicts: cockpit-dashboard < 233
Conflicts: cockpit-networkmanager < 233
Conflicts: cockpit-storaged < 233
Conflicts: cockpit-system < 233
Conflicts: cockpit-tests < 233
Conflicts: cockpit-docker < 233
%description bridge %description bridge
The Cockpit bridge component installed server side and runs commands on the The Cockpit bridge component installed server side and runs commands on the
@ -526,27 +500,28 @@ Requires: cockpit-bridge >= %{version}-%{release}
Requires: shadow-utils Requires: shadow-utils
%endif %endif
Requires: grep Requires: grep
Requires: jeos-firstboot
Requires: /usr/bin/pwscore Requires: /usr/bin/pwscore
Requires: /usr/bin/date Requires: /usr/bin/date
Provides: cockpit-shell = %{version}-%{release} Provides: cockpit-shell = %{version}-%{release}
Provides: cockpit-systemd = %{version}-%{release} Provides: cockpit-systemd = %{version}-%{release}
Provides: cockpit-tuned = %{version}-%{release} Provides: cockpit-tuned = %{version}-%{release}
Provides: cockpit-users = %{version}-%{release} Provides: cockpit-users = %{version}-%{release}
Obsoletes: cockpit-dashboard < %{version}-%{release}
%if 0%{?rhel} %if 0%{?rhel}
Requires: NetworkManager >= 1.6 Requires: NetworkManager >= 1.6
Requires: kexec-tools
Requires: sos Requires: sos
Requires: sudo Requires: sudo
Recommends: PackageKit Recommends: PackageKit
Recommends: setroubleshoot-server >= 3.3.3 Recommends: setroubleshoot-server >= 3.3.3
Recommends: /usr/bin/kdumpctl Recommends: kexec-tools
Suggests: NetworkManager-team Suggests: NetworkManager-team
Suggests: python3-pcp
Provides: cockpit-kdump = %{version}-%{release} Provides: cockpit-kdump = %{version}-%{release}
Provides: cockpit-networkmanager = %{version}-%{release} Provides: cockpit-networkmanager = %{version}-%{release}
Provides: cockpit-selinux = %{version}-%{release} Provides: cockpit-selinux = %{version}-%{release}
Provides: cockpit-sosreport = %{version}-%{release} Provides: cockpit-sosreport = %{version}-%{release}
%endif %endif
Obsoletes: cockpit-tests < %{version}
%if 0%{?fedora} %if 0%{?fedora}
Recommends: (reportd if abrt) Recommends: (reportd if abrt)
%endif %endif
@ -571,18 +546,23 @@ Requires(post): (policycoreutils if selinux-policy-%{selinuxtype})
Conflicts: firewalld < 0.6.0-1 Conflicts: firewalld < 0.6.0-1
Recommends: sscg >= 2.3 Recommends: sscg >= 2.3
Recommends: system-logos Recommends: system-logos
Suggests: sssd-dbus >= 2.6.2 Suggests: sssd-dbus
%if 0%{?suse_version} %if 0%{?suse_version}
Requires(pre): permissions Requires(pre): permissions
Requires: distribution-logos Requires: distribution-logos
%if 0%{?suse_version} > 1500
Requires: pam_oath >= 2.6.11.12
%endif
Requires: wallpaper-branding Requires: wallpaper-branding
%endif %endif
# for cockpit-desktop # for cockpit-desktop
Suggests: python3 Suggests: python3
Provides: group(cockpit-ws) Obsoletes: cockpit-tests < 331
Provides: group(cockpit-wsinstance) Provides: group(cockpit-wsinstance-socket)
Provides: user(cockpit-ws) Provides: group(cockpit-session-socket)
Provides: user(cockpit-wsinstance) Provides: user(cockpit-wsinstance-socket)
Provides: user(cockpit-session-socket)
Provides: user(cockpit-systemd-service)
# prevent hard python3 dependency for cockpit-desktop, it falls back to other browsers # prevent hard python3 dependency for cockpit-desktop, it falls back to other browsers
%global __requires_exclude_from ^%{_libexecdir}/cockpit-client$ %global __requires_exclude_from ^%{_libexecdir}/cockpit-client$
@ -613,23 +593,25 @@ authentication via sssd/FreeIPA.
%ghost %{_sysconfdir}/motd.d/cockpit %ghost %{_sysconfdir}/motd.d/cockpit
%ghost %attr(0644, root, root) %{_sysconfdir}/cockpit/disallowed-users %ghost %attr(0644, root, root) %{_sysconfdir}/cockpit/disallowed-users
%ghost %dir /run/cockpit %ghost %dir /run/cockpit
%ghost /run/cockpit/motd %ghost /run/cockpit/issue
%dir %{_datadir}/cockpit/motd %dir %{_datadir}/cockpit/issue
%{_datadir}/cockpit/motd/update-motd %{_datadir}/cockpit/issue/update-issue
%{_datadir}/cockpit/motd/inactive.motd %{_datadir}/cockpit/issue/inactive.issue
%{_unitdir}/cockpit.service %{_unitdir}/cockpit.service
%{_unitdir}/cockpit-motd.service %{_unitdir}/cockpit-issue.service
%{_unitdir}/cockpit.socket %{_unitdir}/cockpit.socket
%{_unitdir}/cockpit-ws-user.service %{_unitdir}/cockpit-session-socket-user.service
%{_unitdir}/cockpit-session.socket
%{_unitdir}/cockpit-session@.service
%{_unitdir}/cockpit-wsinstance-http.socket %{_unitdir}/cockpit-wsinstance-http.socket
%{_unitdir}/cockpit-wsinstance-http.service %{_unitdir}/cockpit-wsinstance-http.service
%{_unitdir}/cockpit-wsinstance-https-factory.socket %{_unitdir}/cockpit-wsinstance-https-factory.socket
%{_unitdir}/cockpit-wsinstance-https-factory@.service %{_unitdir}/cockpit-wsinstance-https-factory@.service
%{_unitdir}/cockpit-wsinstance-https@.socket %{_unitdir}/cockpit-wsinstance-https@.socket
%{_unitdir}/cockpit-wsinstance-https@.service %{_unitdir}/cockpit-wsinstance-https@.service
%{_unitdir}/cockpit-wsinstance-socket-user.service
%{_unitdir}/system-cockpithttps.slice %{_unitdir}/system-cockpithttps.slice
%{_prefix}/%{__lib}/tmpfiles.d/cockpit-ws.conf %{_prefix}/%{__lib}/tmpfiles.d/cockpit-ws.conf
%{_sysusersdir}/cockpit-wsinstance.conf
%{pamdir}/pam_ssh_add.so %{pamdir}/pam_ssh_add.so
%{pamdir}/pam_cockpit_cert.so %{pamdir}/pam_cockpit_cert.so
%{_libexecdir}/cockpit-ws %{_libexecdir}/cockpit-ws
@ -640,7 +622,7 @@ authentication via sssd/FreeIPA.
%{_libexecdir}/cockpit-desktop %{_libexecdir}/cockpit-desktop
%{_libexecdir}/cockpit-certificate-ensure %{_libexecdir}/cockpit-certificate-ensure
%{_libexecdir}/cockpit-certificate-helper %{_libexecdir}/cockpit-certificate-helper
%{?suse_version:%verify(not mode) }%attr(4750, root, cockpit-wsinstance) %{_libexecdir}/cockpit-session %{?suse_version:%verify(not mode) }%attr(4750, root, cockpit-wsinstance-socket) %{_libexecdir}/cockpit-session
%{_datadir}/cockpit/branding %{_datadir}/cockpit/branding
%if 0%{?with_selinux} %if 0%{?with_selinux}
%{_datadir}/selinux/packages/%{selinuxtype}/%{name}.pp.bz2 %{_datadir}/selinux/packages/%{selinuxtype}/%{name}.pp.bz2
@ -652,8 +634,11 @@ authentication via sssd/FreeIPA.
%pre ws %pre ws
# HACK: old RPM and even Fedora's current RPM don't properly support sysusers # HACK: old RPM and even Fedora's current RPM don't properly support sysusers
# https://github.com/rpm-software-management/rpm/issues/3073 # https://github.com/rpm-software-management/rpm/issues/3073
getent group cockpit-wsinstance >/dev/null || groupadd -r cockpit-wsinstance getent group cockpit-wsinstance-socket >/dev/null || groupadd -r cockpit-wsinstance-socket
getent passwd cockpit-wsinstance >/dev/null || useradd -r -g cockpit-wsinstance -d /nonexisting -s /sbin/nologin -c "User for cockpit-ws instances" cockpit-wsinstance getent group cockpit-session-socket >/dev/null || groupadd -r cockpit-session-socket
getent passwd cockpit-wsinstance-socket >/dev/null || useradd -r -g cockpit-wsinstance-socket -d /nonexisting -s /sbin/nologin -c "User for cockpit-ws instances" cockpit-wsinstance-socket
getent passwd cockpit-session-socket >/dev/null || useradd -r -g cockpit-session-socket -d /nonexisting -s /sbin/nologin -c "User for cockpit-session instances" cockpit-session-socket
getent passwd cockpit-systemd-service >/dev/null || useradd -r -g cockpit-wsinstance-socket -d /nonexisting -s /sbin/nologin -c "User for cockpit.service" cockpit-systemd-service
if %{_sbindir}/selinuxenabled 2>/dev/null; then if %{_sbindir}/selinuxenabled 2>/dev/null; then
%selinux_relabel_pre -s %{selinuxtype} %selinux_relabel_pre -s %{selinuxtype}
@ -675,22 +660,31 @@ fi
# disable root login on first-time install; so existing installations aren't changed # disable root login on first-time install; so existing installations aren't changed
if [ "$1" = 1 ]; then if [ "$1" = 1 ]; then
mkdir -p /etc/motd.d /etc/issue.d mkdir -p /etc/motd.d /etc/issue.d
ln -s ../../run/cockpit/motd /etc/motd.d/cockpit ln -s ../../run/cockpit/issue /etc/motd.d/cockpit
ln -s ../../run/cockpit/motd /etc/issue.d/cockpit.issue ln -s ../../run/cockpit/issue /etc/issue.d/cockpit.issue
printf "# List of users which are not allowed to login to Cockpit\n" > /etc/cockpit/disallowed-users printf "# List of users which are not allowed to login to Cockpit\n" > /etc/cockpit/disallowed-users
printf "root\n" >> /etc/cockpit/disallowed-users printf "root\n" >> /etc/cockpit/disallowed-users
chmod 644 /etc/cockpit/disallowed-users chmod 644 /etc/cockpit/disallowed-users
fi fi
# switch old self-signed cert group from cockpit-wsintance to cockpit-ws on upgrade
if [ "$1" = 2 ]; then if [ "$1" = 2 ]; then
# switch old self-signed cert group from cockpit-wsintance to cockpit-ws on upgrade
certfile=/etc/cockpit/ws-certs.d/0-self-signed.cert certfile=/etc/cockpit/ws-certs.d/0-self-signed.cert
test -f $certfile && stat -c '%G' $certfile | grep -q cockpit-wsinstance && chgrp cockpit-ws $certfile test -f $certfile && stat -c '%G' $certfile | grep -q cockpit-wsinstance && chgrp cockpit-ws $certfile
# on upgrades, adjust motd/issue links to changed target if they still exist (changed in 331)
if [ "$(readlink /etc/motd.d/cockpit 2>/dev/null)" = "../../run/cockpit/motd" ]; then
ln -sfn ../../run/cockpit/issue /etc/motd.d/cockpit
fi
if [ "$(readlink /etc/issue.d/cockpit.issue 2>/dev/null)" = "../../run/cockpit/motd" ]; then
ln -sfn ../../run/cockpit/issue /etc/issue.d/cockpit.issue
fi
fi fi
%if 0%{?suse_version} %if 0%{?suse_version}
%set_permissions %{_libexecdir}/cockpit-session %set_permissions %{_libexecdir}/cockpit-session
%endif %endif
%tmpfiles_create cockpit-tempfiles.conf %tmpfiles_create cockpit-ws.conf
%systemd_post cockpit.socket cockpit.service %systemd_post cockpit.socket cockpit.service
# firewalld only partially picks up changes to its services files without this # firewalld only partially picks up changes to its services files without this
test -f %{_bindir}/firewall-cmd && firewall-cmd --reload --quiet || true test -f %{_bindir}/firewall-cmd && firewall-cmd --reload --quiet || true
@ -703,6 +697,11 @@ if test -f %{_sysconfdir}/pam.d/cockpit && grep -q pam_cockpit_cert %{_sysconfd
echo '**** WARNING:' echo '**** WARNING:'
fi fi
# remove obsolete system user on upgrade (replaced with DynamicUser in version 330)
if getent passwd cockpit-wsinstance >/dev/null; then
userdel cockpit-wsinstance
fi
%preun ws %preun ws
%systemd_preun cockpit.socket cockpit.service %systemd_preun cockpit.socket cockpit.service
@ -742,7 +741,7 @@ BuildArch: noarch
The Cockpit component for configuring kernel crash dumping. The Cockpit component for configuring kernel crash dumping.
%files kdump -f kdump.list %files kdump -f kdump.list
%{_datadir}/metainfo/org.cockpit-project.cockpit-kdump.metainfo.xml %{_datadir}/metainfo/org.cockpit_project.cockpit_kdump.metainfo.xml
%if !0%{?suse_version} %if !0%{?suse_version}
%package sosreport %package sosreport
@ -775,7 +774,7 @@ BuildArch: noarch
The Cockpit component for managing networking. This package uses NetworkManager. The Cockpit component for managing networking. This package uses NetworkManager.
%files networkmanager -f networkmanager.list %files networkmanager -f networkmanager.list
%{_datadir}/metainfo/org.cockpit-project.cockpit-networkmanager.metainfo.xml %{_datadir}/metainfo/org.cockpit_project.cockpit_networkmanager.metainfo.xml
%endif %endif
@ -797,7 +796,7 @@ This package contains the Cockpit user interface integration with the
utility setroubleshoot to diagnose and resolve SELinux issues. utility setroubleshoot to diagnose and resolve SELinux issues.
%files selinux -f selinux.list %files selinux -f selinux.list
%{_datadir}/metainfo/org.cockpit-project.cockpit-selinux.metainfo.xml %{_datadir}/metainfo/org.cockpit_project.cockpit_selinux.metainfo.xml
%endif %endif
@ -827,27 +826,13 @@ BuildArch: noarch
The Cockpit component for managing storage. This package uses udisks. The Cockpit component for managing storage. This package uses udisks.
%files -n cockpit-storaged -f storaged.list %files -n cockpit-storaged -f storaged.list
%{_datadir}/metainfo/org.cockpit-project.cockpit-storaged.metainfo.xml %{_datadir}/metainfo/org.cockpit_project.cockpit_storaged.metainfo.xml
%if 0%{?build_tests} %post storaged
%package -n cockpit-tests # version 332 moved the btrfs temp mounts db to /run
Summary: Tests for Cockpit if [ "$1" = 2 ] && [ -d /var/lib/cockpit/btrfs ]; then
Requires: cockpit-bridge >= %{required_base} rm -rf --one-file-system /var/lib/cockpit/btrfs || true
Requires: cockpit-system >= %{required_base} fi
Requires: openssh-clients
Provides: cockpit-test-assets = %{version}-%{release}
%description -n cockpit-tests
This package contains tests and files used while testing Cockpit.
These files are not required for running Cockpit.
%files -n cockpit-tests -f tests.list
%{pamdir}/mock-pam-conv-mod.so
%{_unitdir}/cockpit-session.socket
%{_unitdir}/cockpit-session@.service
# /build_tests
%endif
%package devel %package devel
Summary: Development files for for Cockpit Summary: Development files for for Cockpit
@ -858,24 +843,6 @@ This package contains files used to develop cockpit modules
%files devel %files devel
%{_datadir}/cockpit/devel %{_datadir}/cockpit/devel
%if %{build_pcp}
%package -n cockpit-pcp
Summary: Cockpit PCP integration
Requires: cockpit-bridge >= %{required_base}
Requires: pcp
%description -n cockpit-pcp
Cockpit support for reading PCP metrics and loading PCP archives.
%files -n cockpit-pcp -f pcp.list
%{_libexecdir}/cockpit-pcp
%{_localstatedir}/lib/pcp/config/pmlogconf/tools/cockpit
%post -n cockpit-pcp
systemctl reload-or-try-restart pmlogger
%endif
%package -n cockpit-packagekit %package -n cockpit-packagekit
Summary: Cockpit user interface for packages Summary: Cockpit user interface for packages
BuildArch: noarch BuildArch: noarch

View File

@ -200,16 +200,16 @@ Index: cockpit/pkg/playground/test.html
</head> </head>
Index: cockpit/pkg/shell/index.html Index: cockpit/pkg/shell/index.html
=================================================================== ===================================================================
--- cockpit.orig/pkg/shell/index.html --- a/pkg/shell/index.html
+++ cockpit/pkg/shell/index.html +++ b/pkg/shell/index.html
@@ -6,6 +6,7 @@ @@ -6,6 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link href="shell.css" rel="stylesheet" /> <link href="shell.css" rel="stylesheet" />
<link href="../../static/branding.css" rel="stylesheet" /> <link href="../../static/branding.css" rel="stylesheet" />
+ <link href="../../static/css-overrides.css" type="text/css" rel="stylesheet" /> + <link href="../../static/css-overrides.css" type="text/css" rel="stylesheet" />
<script src="../base1/cockpit.js"></script> <script src="../base1/cockpit.js"></script>
<script src="../manifests.js"></script> <script src="../manifests-i18n.js"></script>
<!-- HACK: C bridge loads translations via glob and Python via manifest.js --> <script src="po.js"></script>
Index: cockpit/pkg/shell/shell.html Index: cockpit/pkg/shell/shell.html
=================================================================== ===================================================================
--- cockpit.orig/pkg/shell/shell.html --- cockpit.orig/pkg/shell/shell.html

View File

@ -2,11 +2,33 @@ Index: cockpit/pkg/metrics/metrics.jsx
=================================================================== ===================================================================
--- cockpit.orig/pkg/metrics/metrics.jsx --- cockpit.orig/pkg/metrics/metrics.jsx
+++ cockpit/pkg/metrics/metrics.jsx +++ cockpit/pkg/metrics/metrics.jsx
@@ -1551,6 +1551,7 @@ const PCPConfig = ({ buttonVariant, fire @@ -1565,6 +1565,7 @@ const PCPConfig = ({ buttonVariant, firewalldRequest, needsLogout, setNeedsLogou
return ( return (
<Button variant={buttonVariant} icon={<CogIcon />} <Button variant={buttonVariant} icon={<CogIcon />}
+ className="pf-u-display-none" + className="pf-u-display-none"
isDisabled={ invalidService(s_pmlogger) || invalidService(s_pmproxy) || invalidService(s_redis) || invalidService(s_redis_server) } isDisabled={ invalidService(s_pmlogger) || invalidService(s_pmproxy) ||
invalidService(s_redis) || invalidService(s_redis_server) || invalidService(s_valkey) }
onClick={show_dialog}> onClick={show_dialog}>
{ _("Metrics settings") } Index: cockpit-309/pkg/metrics/metrics.jsx
===================================================================
--- cockpit-309.orig/pkg/metrics/metrics.jsx
+++ cockpit-309/pkg/metrics/metrics.jsx
@@ -1824,7 +1825,8 @@ class MetricsHistory extends React.Component {
// on a single machine, cockpit-pcp depends on pcp; but this may not be the case in the beiboot scenario,
// so additionally check if pcp is available on the logged in target machine
if ((cockpit.manifests && !cockpit.manifests.pcp) || this.pmlogger_service.exists === false)
- return <EmptyStatePanel
+ return <EmptyStatePanel />
+/* return <EmptyStatePanel
icon={ExclamationCircleIcon}
title={_("Package cockpit-pcp is missing for metrics history")}
action={this.state.isBeibootBridge === true
@@ -1834,6 +1834,7 @@ class MetricsHistory extends React.Component {
? <Text>{ _("Installation not supported without installed cockpit package") }</Text>
: this.state.packagekitExists && <Button onClick={this.handleInstall}>{_("Install cockpit-pcp")}</Button>}
/>;
+*/
if (!this.state.metricsAvailable) {
let action;

BIN
node_modules.obscpio (Stored with Git LFS)

Binary file not shown.

View File

@ -1,449 +1,481 @@
Source1000: https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz#/@babel-code-frame-7.24.7.tgz Source1000: https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz#/@babel-code-frame-7.26.2.tgz
Source1001: https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#/@babel-helper-validator-identifier-7.24.7.tgz Source1001: https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#/@babel-helper-validator-identifier-7.25.9.tgz
Source1002: https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz#/@babel-highlight-7.24.7.tgz Source1002: https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-2.2.3.tgz#/@bufbuild-protobuf-2.2.3.tgz
Source1003: https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-1.10.0.tgz#/@bufbuild-protobuf-1.10.0.tgz Source1003: https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.4.tgz#/@csstools-css-parser-algorithms-3.0.4.tgz
Source1004: https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.7.1.tgz#/@csstools-css-parser-algorithms-2.7.1.tgz Source1004: https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.3.tgz#/@csstools-css-tokenizer-3.0.3.tgz
Source1005: https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.4.1.tgz#/@csstools-css-tokenizer-2.4.1.tgz Source1005: https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.2.tgz#/@csstools-media-query-list-parser-4.0.2.tgz
Source1006: https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.13.tgz#/@csstools-media-query-list-parser-2.1.13.tgz Source1006: https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz#/@csstools-selector-specificity-5.0.0.tgz
Source1007: https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.1.1.tgz#/@csstools-selector-specificity-3.1.1.tgz Source1007: https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz#/@dual-bundle-import-meta-resolve-4.1.0.tgz
Source1008: https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz#/@dual-bundle-import-meta-resolve-4.1.0.tgz Source1008: https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz#/@esbuild-linux-x64-0.24.2.tgz
Source1009: https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.0.tgz#/@esbuild-linux-x64-0.23.0.tgz Source1009: https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz#/@eslint-community-eslint-utils-4.4.1.tgz
Source1010: https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#/@eslint-community-eslint-utils-4.4.0.tgz Source1010: https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#/@eslint-community-regexpp-4.12.1.tgz
Source1011: https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz#/@eslint-community-regexpp-4.11.0.tgz Source1011: https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#/@eslint-eslintrc-2.1.4.tgz
Source1012: https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#/@eslint-eslintrc-2.1.4.tgz Source1012: https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz#/@eslint-js-8.57.1.tgz
Source1013: https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz#/@eslint-js-8.57.0.tgz Source1013: https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz#/@humanwhocodes-config-array-0.13.0.tgz
Source1014: https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#/@humanwhocodes-config-array-0.11.14.tgz Source1014: https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#/@humanwhocodes-module-importer-1.0.1.tgz
Source1015: https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#/@humanwhocodes-module-importer-1.0.1.tgz Source1015: https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#/@humanwhocodes-object-schema-2.0.3.tgz
Source1016: https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#/@humanwhocodes-object-schema-2.0.3.tgz Source1016: https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz#/@isaacs-cliui-8.0.2.tgz
Source1017: https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#/@nodelib-fs.scandir-2.1.5.tgz Source1017: https://registry.npmjs.org/@keyv/serialize/-/serialize-1.0.2.tgz#/@keyv-serialize-1.0.2.tgz
Source1018: https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#/@nodelib-fs.stat-2.0.5.tgz Source1018: https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#/@nodelib-fs.scandir-2.1.5.tgz
Source1019: https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#/@nodelib-fs.walk-1.2.8.tgz Source1019: https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#/@nodelib-fs.stat-2.0.5.tgz
Source1020: https://registry.npmjs.org/@patternfly/patternfly/-/patternfly-5.3.1.tgz#/@patternfly-patternfly-5.3.1.tgz Source1020: https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#/@nodelib-fs.walk-1.2.8.tgz
Source1021: https://registry.npmjs.org/@patternfly/react-core/-/react-core-5.3.4.tgz#/@patternfly-react-core-5.3.4.tgz Source1021: https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.0.tgz#/@parcel-watcher-2.5.0.tgz
Source1022: https://registry.npmjs.org/@patternfly/react-icons/-/react-icons-5.3.2.tgz#/@patternfly-react-icons-5.3.2.tgz Source1022: https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.0.tgz#/@parcel-watcher-linux-x64-musl-2.5.0.tgz
Source1023: https://registry.npmjs.org/@patternfly/react-styles/-/react-styles-5.3.1.tgz#/@patternfly-react-styles-5.3.1.tgz Source1023: https://registry.npmjs.org/@patternfly/patternfly/-/patternfly-5.4.2.tgz#/@patternfly-patternfly-5.4.2.tgz
Source1024: https://registry.npmjs.org/@patternfly/react-table/-/react-table-5.3.4.tgz#/@patternfly-react-table-5.3.4.tgz Source1024: https://registry.npmjs.org/@patternfly/react-core/-/react-core-5.4.12.tgz#/@patternfly-react-core-5.4.12.tgz
Source1025: https://registry.npmjs.org/@patternfly/react-tokens/-/react-tokens-5.3.1.tgz#/@patternfly-react-tokens-5.3.1.tgz Source1025: https://registry.npmjs.org/@patternfly/react-icons/-/react-icons-5.4.2.tgz#/@patternfly-react-icons-5.4.2.tgz
Source1026: https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz#/@types-json5-0.0.29.tgz Source1026: https://registry.npmjs.org/@patternfly/react-styles/-/react-styles-5.4.1.tgz#/@patternfly-react-styles-5.4.1.tgz
Source1027: https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz#/@types-prop-types-15.7.12.tgz Source1027: https://registry.npmjs.org/@patternfly/react-table/-/react-table-5.4.13.tgz#/@patternfly-react-table-5.4.13.tgz
Source1028: https://registry.npmjs.org/@types/qunit/-/qunit-2.19.10.tgz#/@types-qunit-2.19.10.tgz Source1028: https://registry.npmjs.org/@patternfly/react-tokens/-/react-tokens-5.4.1.tgz#/@patternfly-react-tokens-5.4.1.tgz
Source1029: https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz#/@types-react-18.3.3.tgz Source1029: https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz#/@rtsao-scc-1.1.0.tgz
Source1030: https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz#/@types-react-dom-18.3.0.tgz Source1030: https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz#/@types-json5-0.0.29.tgz
Source1031: https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.0.0.tgz#/@typescript-eslint-eslint-plugin-8.0.0.tgz Source1031: https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz#/@types-prop-types-15.7.14.tgz
Source1032: https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.0.0.tgz#/@typescript-eslint-parser-8.0.0.tgz Source1032: https://registry.npmjs.org/@types/qunit/-/qunit-2.19.12.tgz#/@types-qunit-2.19.12.tgz
Source1033: https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.0.0.tgz#/@typescript-eslint-scope-manager-8.0.0.tgz Source1033: https://registry.npmjs.org/@types/react/-/react-18.3.12.tgz#/@types-react-18.3.12.tgz
Source1034: https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.0.0.tgz#/@typescript-eslint-type-utils-8.0.0.tgz Source1034: https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.1.tgz#/@types-react-dom-18.3.1.tgz
Source1035: https://registry.npmjs.org/@typescript-eslint/types/-/types-8.0.0.tgz#/@typescript-eslint-types-8.0.0.tgz Source1035: https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.19.1.tgz#/@typescript-eslint-eslint-plugin-8.19.1.tgz
Source1036: https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.0.0.tgz#/@typescript-eslint-typescript-estree-8.0.0.tgz Source1036: https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.20.0.tgz#/@typescript-eslint-parser-8.20.0.tgz
Source1037: https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.0.0.tgz#/@typescript-eslint-utils-8.0.0.tgz Source1037: https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.19.1.tgz#/@typescript-eslint-scope-manager-8.19.1.tgz
Source1038: https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.0.0.tgz#/@typescript-eslint-visitor-keys-8.0.0.tgz Source1038: https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.20.0.tgz#/@typescript-eslint-scope-manager-8.20.0.tgz
Source1039: https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#/@ungap-structured-clone-1.2.0.tgz Source1039: https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.19.1.tgz#/@typescript-eslint-type-utils-8.19.1.tgz
Source1040: https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz#/abort-controller-3.0.0.tgz Source1040: https://registry.npmjs.org/@typescript-eslint/types/-/types-8.19.1.tgz#/@typescript-eslint-types-8.19.1.tgz
Source1041: https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz#/acorn-8.12.1.tgz Source1041: https://registry.npmjs.org/@typescript-eslint/types/-/types-8.20.0.tgz#/@typescript-eslint-types-8.20.0.tgz
Source1042: https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz#/acorn-jsx-5.3.2.tgz Source1042: https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.19.1.tgz#/@typescript-eslint-typescript-estree-8.19.1.tgz
Source1043: https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz#/ajv-6.12.6.tgz Source1043: https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.20.0.tgz#/@typescript-eslint-typescript-estree-8.20.0.tgz
Source1044: https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz#/ajv-8.17.1.tgz Source1044: https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.19.1.tgz#/@typescript-eslint-utils-8.19.1.tgz
Source1045: https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.1.tgz#/ansi-escapes-6.2.1.tgz Source1045: https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.19.1.tgz#/@typescript-eslint-visitor-keys-8.19.1.tgz
Source1046: https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz#/ansi-regex-5.0.1.tgz Source1046: https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.20.0.tgz#/@typescript-eslint-visitor-keys-8.20.0.tgz
Source1047: https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz#/ansi-regex-6.0.1.tgz Source1047: https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.1.tgz#/@ungap-structured-clone-1.2.1.tgz
Source1048: https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz#/ansi-styles-3.2.1.tgz Source1048: https://registry.npmjs.org/@xterm/addon-canvas/-/addon-canvas-0.7.0.tgz#/@xterm-addon-canvas-0.7.0.tgz
Source1049: https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz#/ansi-styles-4.3.0.tgz Source1049: https://registry.npmjs.org/@xterm/xterm/-/xterm-5.5.0.tgz#/@xterm-xterm-5.5.0.tgz
Source1050: https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz#/anymatch-3.1.3.tgz Source1050: https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz#/abort-controller-3.0.0.tgz
Source1051: https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz#/argparse-1.0.10.tgz Source1051: https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz#/acorn-8.14.0.tgz
Source1052: https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz#/argparse-2.0.1.tgz Source1052: https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz#/acorn-jsx-5.3.2.tgz
Source1053: https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz#/aria-query-5.1.3.tgz Source1053: https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz#/ajv-6.12.6.tgz
Source1054: https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#/array-buffer-byte-length-1.0.1.tgz Source1054: https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz#/ajv-8.17.1.tgz
Source1055: https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz#/array-includes-3.1.8.tgz Source1055: https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz#/ansi-escapes-7.0.0.tgz
Source1056: https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz#/array-union-2.1.0.tgz Source1056: https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz#/ansi-regex-5.0.1.tgz
Source1057: https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz#/array.prototype.findlast-1.2.5.tgz Source1057: https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz#/ansi-regex-6.1.0.tgz
Source1058: https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz#/array.prototype.findlastindex-1.2.5.tgz Source1058: https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz#/ansi-styles-4.3.0.tgz
Source1059: https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#/array.prototype.flat-1.3.2.tgz Source1059: https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz#/ansi-styles-6.2.1.tgz
Source1060: https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#/array.prototype.flatmap-1.3.2.tgz Source1060: https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz#/anymatch-3.1.3.tgz
Source1061: https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz#/array.prototype.tosorted-1.1.4.tgz Source1061: https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz#/argparse-1.0.10.tgz
Source1062: https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz#/arraybuffer.prototype.slice-1.0.3.tgz Source1062: https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz#/argparse-2.0.1.tgz
Source1063: https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz#/ast-types-flow-0.0.8.tgz Source1063: https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz#/aria-query-5.3.2.tgz
Source1064: https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz#/astral-regex-2.0.0.tgz Source1064: https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz#/array-buffer-byte-length-1.0.2.tgz
Source1065: https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz#/attr-accept-2.2.2.tgz Source1065: https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz#/array-includes-3.1.8.tgz
Source1066: https://registry.npmjs.org/autolinker/-/autolinker-3.16.2.tgz#/autolinker-3.16.2.tgz Source1066: https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz#/array-union-2.1.0.tgz
Source1067: https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#/available-typed-arrays-1.0.7.tgz Source1067: https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz#/array.prototype.findlast-1.2.5.tgz
Source1068: https://registry.npmjs.org/axe-core/-/axe-core-4.10.0.tgz#/axe-core-4.10.0.tgz Source1068: https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz#/array.prototype.findlastindex-1.2.5.tgz
Source1069: https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz#/axobject-query-3.1.1.tgz Source1069: https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz#/array.prototype.flat-1.3.3.tgz
Source1070: https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz#/balanced-match-1.0.2.tgz Source1070: https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz#/array.prototype.flatmap-1.3.3.tgz
Source1071: https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz#/balanced-match-2.0.0.tgz Source1071: https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz#/array.prototype.tosorted-1.1.4.tgz
Source1072: https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz#/base64-js-1.5.1.tgz Source1072: https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz#/arraybuffer.prototype.slice-1.0.4.tgz
Source1073: https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz#/binary-extensions-2.3.0.tgz Source1073: https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz#/ast-types-flow-0.0.8.tgz
Source1074: https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz#/brace-expansion-1.1.11.tgz Source1074: https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz#/astral-regex-2.0.0.tgz
Source1075: https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz#/brace-expansion-2.0.1.tgz Source1075: https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.5.tgz#/attr-accept-2.2.5.tgz
Source1076: https://registry.npmjs.org/braces/-/braces-3.0.3.tgz#/braces-3.0.3.tgz Source1076: https://registry.npmjs.org/autolinker/-/autolinker-3.16.2.tgz#/autolinker-3.16.2.tgz
Source1077: https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz#/buffer-6.0.3.tgz Source1077: https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#/available-typed-arrays-1.0.7.tgz
Source1078: https://registry.npmjs.org/buffer-builder/-/buffer-builder-0.2.0.tgz#/buffer-builder-0.2.0.tgz Source1078: https://registry.npmjs.org/axe-core/-/axe-core-4.10.2.tgz#/axe-core-4.10.2.tgz
Source1079: https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz#/builtin-modules-3.3.0.tgz Source1079: https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz#/axobject-query-4.1.0.tgz
Source1080: https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz#/builtins-5.1.0.tgz Source1080: https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz#/balanced-match-1.0.2.tgz
Source1081: https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz#/call-bind-1.0.7.tgz Source1081: https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz#/balanced-match-2.0.0.tgz
Source1082: https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz#/callsites-3.1.0.tgz Source1082: https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz#/base64-js-1.5.1.tgz
Source1083: https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz#/chalk-2.4.2.tgz Source1083: https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz#/binary-extensions-2.3.0.tgz
Source1084: https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz#/chalk-4.1.2.tgz Source1084: https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz#/brace-expansion-1.1.11.tgz
Source1085: https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz#/chalk-5.3.0.tgz Source1085: https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz#/brace-expansion-2.0.1.tgz
Source1086: https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz#/chokidar-3.6.0.tgz Source1086: https://registry.npmjs.org/braces/-/braces-3.0.3.tgz#/braces-3.0.3.tgz
Source1087: https://registry.npmjs.org/chrome-remote-interface/-/chrome-remote-interface-0.33.0.tgz#/chrome-remote-interface-0.33.0.tgz Source1087: https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz#/buffer-6.0.3.tgz
Source1088: https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz#/color-convert-1.9.3.tgz Source1088: https://registry.npmjs.org/buffer-builder/-/buffer-builder-0.2.0.tgz#/buffer-builder-0.2.0.tgz
Source1089: https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz#/color-convert-2.0.1.tgz Source1089: https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz#/builtin-modules-3.3.0.tgz
Source1090: https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz#/color-name-1.1.3.tgz Source1090: https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz#/builtins-5.1.0.tgz
Source1091: https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz#/color-name-1.1.4.tgz Source1091: https://registry.npmjs.org/cacheable/-/cacheable-1.8.7.tgz#/cacheable-1.8.7.tgz
Source1092: https://registry.npmjs.org/colord/-/colord-2.9.3.tgz#/colord-2.9.3.tgz Source1092: https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz#/call-bind-1.0.8.tgz
Source1093: https://registry.npmjs.org/commander/-/commander-2.11.0.tgz#/commander-2.11.0.tgz Source1093: https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz#/call-bind-apply-helpers-1.0.1.tgz
Source1094: https://registry.npmjs.org/commander/-/commander-7.2.0.tgz#/commander-7.2.0.tgz Source1094: https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz#/call-bound-1.0.3.tgz
Source1095: https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz#/concat-map-0.0.1.tgz Source1095: https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz#/callsites-3.1.0.tgz
Source1096: https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz#/content-type-1.0.5.tgz Source1096: https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz#/chalk-4.1.2.tgz
Source1097: https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz#/cosmiconfig-9.0.0.tgz Source1097: https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz#/chokidar-3.6.0.tgz
Source1098: https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz#/cross-spawn-7.0.3.tgz Source1098: https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz#/chokidar-4.0.3.tgz
Source1099: https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.2.tgz#/css-functions-list-3.2.2.tgz Source1099: https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz#/color-convert-2.0.1.tgz
Source1100: https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz#/css-tree-2.3.1.tgz Source1100: https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz#/color-name-1.1.4.tgz
Source1101: https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz#/cssesc-3.0.0.tgz Source1101: https://registry.npmjs.org/colord/-/colord-2.9.3.tgz#/colord-2.9.3.tgz
Source1102: https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz#/csstype-3.1.3.tgz Source1102: https://registry.npmjs.org/colorjs.io/-/colorjs.io-0.5.2.tgz#/colorjs.io-0.5.2.tgz
Source1103: https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#/damerau-levenshtein-1.0.8.tgz Source1103: https://registry.npmjs.org/commander/-/commander-7.2.0.tgz#/commander-7.2.0.tgz
Source1104: https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz#/data-view-buffer-1.0.1.tgz Source1104: https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz#/concat-map-0.0.1.tgz
Source1105: https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz#/data-view-byte-length-1.0.1.tgz Source1105: https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz#/content-type-1.0.5.tgz
Source1106: https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz#/data-view-byte-offset-1.0.0.tgz Source1106: https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz#/cosmiconfig-9.0.0.tgz
Source1107: https://registry.npmjs.org/debug/-/debug-3.2.7.tgz#/debug-3.2.7.tgz Source1107: https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz#/cross-spawn-7.0.6.tgz
Source1108: https://registry.npmjs.org/debug/-/debug-4.3.6.tgz#/debug-4.3.6.tgz Source1108: https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.3.tgz#/css-functions-list-3.2.3.tgz
Source1109: https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz#/deep-equal-2.2.3.tgz Source1109: https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz#/css-tree-3.1.0.tgz
Source1110: https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz#/deep-is-0.1.4.tgz Source1110: https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz#/cssesc-3.0.0.tgz
Source1111: https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz#/define-data-property-1.1.4.tgz Source1111: https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz#/csstype-3.1.3.tgz
Source1112: https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz#/define-properties-1.2.1.tgz Source1112: https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#/damerau-levenshtein-1.0.8.tgz
Source1113: https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz#/dequal-2.0.3.tgz Source1113: https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz#/data-view-buffer-1.0.2.tgz
Source1114: https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz#/dir-glob-3.0.1.tgz Source1114: https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz#/data-view-byte-length-1.0.2.tgz
Source1115: https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz#/doctrine-2.1.0.tgz Source1115: https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz#/data-view-byte-offset-1.0.1.tgz
Source1116: https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz#/doctrine-3.0.0.tgz Source1116: https://registry.npmjs.org/debug/-/debug-3.2.7.tgz#/debug-3.2.7.tgz
Source1117: https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz#/emoji-regex-10.3.0.tgz Source1117: https://registry.npmjs.org/debug/-/debug-4.4.0.tgz#/debug-4.4.0.tgz
Source1118: https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz#/emoji-regex-8.0.0.tgz Source1118: https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz#/deep-is-0.1.4.tgz
Source1119: https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz#/emoji-regex-9.2.2.tgz Source1119: https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz#/define-data-property-1.1.4.tgz
Source1120: https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz#/encoding-0.1.13.tgz Source1120: https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz#/define-properties-1.2.1.tgz
Source1121: https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz#/env-paths-2.2.1.tgz Source1121: https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz#/dequal-2.0.3.tgz
Source1122: https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz#/error-ex-1.3.2.tgz Source1122: https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz#/detect-libc-1.0.3.tgz
Source1123: https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz#/es-abstract-1.23.3.tgz Source1123: https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz#/dir-glob-3.0.1.tgz
Source1124: https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz#/es-define-property-1.0.0.tgz Source1124: https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz#/doctrine-2.1.0.tgz
Source1125: https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz#/es-errors-1.3.0.tgz Source1125: https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz#/doctrine-3.0.0.tgz
Source1126: https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz#/es-get-iterator-1.1.3.tgz Source1126: https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz#/dunder-proto-1.0.1.tgz
Source1127: https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz#/es-iterator-helpers-1.0.19.tgz Source1127: https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz#/eastasianwidth-0.2.0.tgz
Source1128: https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz#/es-object-atoms-1.0.0.tgz Source1128: https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz#/emoji-regex-10.4.0.tgz
Source1129: https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#/es-set-tostringtag-2.0.3.tgz Source1129: https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz#/emoji-regex-8.0.0.tgz
Source1130: https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#/es-shim-unscopables-1.0.2.tgz Source1130: https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz#/emoji-regex-9.2.2.tgz
Source1131: https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz#/es-to-primitive-1.2.1.tgz Source1131: https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz#/encoding-0.1.13.tgz
Source1132: https://registry.npmjs.org/esbuild/-/esbuild-0.23.0.tgz#/esbuild-0.23.0.tgz Source1132: https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz#/env-paths-2.2.1.tgz
Source1133: https://registry.npmjs.org/esbuild-plugin-copy/-/esbuild-plugin-copy-2.1.1.tgz#/esbuild-plugin-copy-2.1.1.tgz Source1133: https://registry.npmjs.org/environment/-/environment-1.1.0.tgz#/environment-1.1.0.tgz
Source1134: https://registry.npmjs.org/esbuild-plugin-replace/-/esbuild-plugin-replace-1.4.0.tgz#/esbuild-plugin-replace-1.4.0.tgz Source1134: https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz#/error-ex-1.3.2.tgz
Source1135: https://registry.npmjs.org/esbuild-sass-plugin/-/esbuild-sass-plugin-3.3.1.tgz#/esbuild-sass-plugin-3.3.1.tgz Source1135: https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz#/es-abstract-1.23.9.tgz
Source1136: https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.23.0.tgz#/esbuild-wasm-0.23.0.tgz Source1136: https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz#/es-define-property-1.0.1.tgz
Source1137: https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#/escape-string-regexp-1.0.5.tgz Source1137: https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz#/es-errors-1.3.0.tgz
Source1138: https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#/escape-string-regexp-4.0.0.tgz Source1138: https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz#/es-iterator-helpers-1.2.1.tgz
Source1139: https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz#/eslint-8.57.0.tgz Source1139: https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz#/es-object-atoms-1.1.1.tgz
Source1140: https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.1.tgz#/eslint-compat-utils-0.5.1.tgz Source1140: https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#/es-set-tostringtag-2.1.0.tgz
Source1141: https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.1.0.tgz#/eslint-config-standard-17.1.0.tgz Source1141: https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#/es-shim-unscopables-1.0.2.tgz
Source1142: https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-11.0.0.tgz#/eslint-config-standard-jsx-11.0.0.tgz Source1142: https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz#/es-to-primitive-1.3.0.tgz
Source1143: https://registry.npmjs.org/eslint-config-standard-react/-/eslint-config-standard-react-13.0.0.tgz#/eslint-config-standard-react-13.0.0.tgz Source1143: https://registry.npmjs.org/esbuild/-/esbuild-0.24.2.tgz#/esbuild-0.24.2.tgz
Source1144: https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#/eslint-import-resolver-node-0.3.9.tgz Source1144: https://registry.npmjs.org/esbuild-plugin-copy/-/esbuild-plugin-copy-2.1.1.tgz#/esbuild-plugin-copy-2.1.1.tgz
Source1145: https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz#/eslint-module-utils-2.8.1.tgz Source1145: https://registry.npmjs.org/esbuild-plugin-replace/-/esbuild-plugin-replace-1.4.0.tgz#/esbuild-plugin-replace-1.4.0.tgz
Source1146: https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#/eslint-plugin-es-3.0.1.tgz Source1146: https://registry.npmjs.org/esbuild-sass-plugin/-/esbuild-sass-plugin-3.3.1.tgz#/esbuild-sass-plugin-3.3.1.tgz
Source1147: https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz#/eslint-plugin-es-x-7.8.0.tgz Source1147: https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.24.2.tgz#/esbuild-wasm-0.24.2.tgz
Source1148: https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz#/eslint-plugin-import-2.29.1.tgz Source1148: https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#/escape-string-regexp-4.0.0.tgz
Source1149: https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.9.0.tgz#/eslint-plugin-jsx-a11y-6.9.0.tgz Source1149: https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz#/eslint-8.57.1.tgz
Source1150: https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.6.2.tgz#/eslint-plugin-n-16.6.2.tgz Source1150: https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.1.tgz#/eslint-compat-utils-0.5.1.tgz
Source1151: https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#/eslint-plugin-node-11.1.0.tgz Source1151: https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.1.0.tgz#/eslint-config-standard-17.1.0.tgz
Source1152: https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.6.0.tgz#/eslint-plugin-promise-6.6.0.tgz Source1152: https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-11.0.0.tgz#/eslint-config-standard-jsx-11.0.0.tgz
Source1153: https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.35.0.tgz#/eslint-plugin-react-7.35.0.tgz Source1153: https://registry.npmjs.org/eslint-config-standard-react/-/eslint-config-standard-react-13.0.0.tgz#/eslint-config-standard-react-13.0.0.tgz
Source1154: https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz#/eslint-plugin-react-hooks-4.6.2.tgz Source1154: https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#/eslint-import-resolver-node-0.3.9.tgz
Source1155: https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz#/eslint-scope-7.2.2.tgz Source1155: https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz#/eslint-module-utils-2.12.0.tgz
Source1156: https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz#/eslint-utils-2.1.0.tgz Source1156: https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#/eslint-plugin-es-3.0.1.tgz
Source1157: https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#/eslint-visitor-keys-1.3.0.tgz Source1157: https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz#/eslint-plugin-es-x-7.8.0.tgz
Source1158: https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#/eslint-visitor-keys-3.4.3.tgz Source1158: https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz#/eslint-plugin-import-2.31.0.tgz
Source1159: https://registry.npmjs.org/espree/-/espree-9.6.1.tgz#/espree-9.6.1.tgz Source1159: https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz#/eslint-plugin-jsx-a11y-6.10.2.tgz
Source1160: https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz#/esquery-1.6.0.tgz Source1160: https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.6.2.tgz#/eslint-plugin-n-16.6.2.tgz
Source1161: https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz#/esrecurse-4.3.0.tgz Source1161: https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#/eslint-plugin-node-11.1.0.tgz
Source1162: https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz#/estraverse-5.3.0.tgz Source1162: https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.6.0.tgz#/eslint-plugin-promise-6.6.0.tgz
Source1163: https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz#/esutils-2.0.3.tgz Source1163: https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.4.tgz#/eslint-plugin-react-7.37.4.tgz
Source1164: https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz#/event-target-shim-5.0.1.tgz Source1164: https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz#/eslint-plugin-react-hooks-4.6.2.tgz
Source1165: https://registry.npmjs.org/events/-/events-3.3.0.tgz#/events-3.3.0.tgz Source1165: https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz#/eslint-scope-7.2.2.tgz
Source1166: https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#/fast-deep-equal-3.1.3.tgz Source1166: https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz#/eslint-utils-2.1.0.tgz
Source1167: https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz#/fast-glob-3.3.2.tgz Source1167: https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#/eslint-visitor-keys-1.3.0.tgz
Source1168: https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#/fast-json-stable-stringify-2.1.0.tgz Source1168: https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#/eslint-visitor-keys-3.4.3.tgz
Source1169: https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#/fast-levenshtein-2.0.6.tgz Source1169: https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz#/eslint-visitor-keys-4.2.0.tgz
Source1170: https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz#/fast-uri-3.0.1.tgz Source1170: https://registry.npmjs.org/espree/-/espree-9.6.1.tgz#/espree-9.6.1.tgz
Source1171: https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#/fastest-levenshtein-1.0.16.tgz Source1171: https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz#/esquery-1.6.0.tgz
Source1172: https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz#/fastq-1.17.1.tgz Source1172: https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz#/esrecurse-4.3.0.tgz
Source1173: https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz#/file-entry-cache-6.0.1.tgz Source1173: https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz#/estraverse-5.3.0.tgz
Source1174: https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-9.0.0.tgz#/file-entry-cache-9.0.0.tgz Source1174: https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz#/esutils-2.0.3.tgz
Source1175: https://registry.npmjs.org/file-selector/-/file-selector-0.6.0.tgz#/file-selector-0.6.0.tgz Source1175: https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz#/event-target-shim-5.0.1.tgz
Source1176: https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz#/fill-range-7.1.1.tgz Source1176: https://registry.npmjs.org/events/-/events-3.3.0.tgz#/events-3.3.0.tgz
Source1177: https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz#/find-up-5.0.0.tgz Source1177: https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#/fast-deep-equal-3.1.3.tgz
Source1178: https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz#/flat-cache-3.2.0.tgz Source1178: https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz#/fast-glob-3.3.3.tgz
Source1179: https://registry.npmjs.org/flat-cache/-/flat-cache-5.0.0.tgz#/flat-cache-5.0.0.tgz Source1179: https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#/fast-json-stable-stringify-2.1.0.tgz
Source1180: https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz#/flatted-3.3.1.tgz Source1180: https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#/fast-levenshtein-2.0.6.tgz
Source1181: https://registry.npmjs.org/focus-trap/-/focus-trap-7.5.2.tgz#/focus-trap-7.5.2.tgz Source1181: https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.5.tgz#/fast-uri-3.0.5.tgz
Source1182: https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz#/for-each-0.3.3.tgz Source1182: https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#/fastest-levenshtein-1.0.16.tgz
Source1183: https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz#/fs-extra-10.1.0.tgz Source1183: https://registry.npmjs.org/fastq/-/fastq-1.18.0.tgz#/fastq-1.18.0.tgz
Source1184: https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz#/fs.realpath-1.0.0.tgz Source1184: https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-10.0.5.tgz#/file-entry-cache-10.0.5.tgz
Source1185: https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz#/function-bind-1.1.2.tgz Source1185: https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz#/file-entry-cache-6.0.1.tgz
Source1186: https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz#/function.prototype.name-1.1.6.tgz Source1186: https://registry.npmjs.org/file-selector/-/file-selector-2.1.2.tgz#/file-selector-2.1.2.tgz
Source1187: https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz#/functions-have-names-1.2.3.tgz Source1187: https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz#/fill-range-7.1.1.tgz
Source1188: https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz#/get-east-asian-width-1.2.0.tgz Source1188: https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz#/find-up-5.0.0.tgz
Source1189: https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz#/get-intrinsic-1.2.4.tgz Source1189: https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz#/flat-cache-3.2.0.tgz
Source1190: https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz#/get-symbol-description-1.0.2.tgz Source1190: https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.5.tgz#/flat-cache-6.1.5.tgz
Source1191: https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.6.tgz#/get-tsconfig-4.7.6.tgz Source1191: https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz#/flatted-3.3.2.tgz
Source1192: https://registry.npmjs.org/gettext-parser/-/gettext-parser-8.0.0.tgz#/gettext-parser-8.0.0.tgz Source1192: https://registry.npmjs.org/focus-trap/-/focus-trap-7.6.2.tgz#/focus-trap-7.6.2.tgz
Source1193: https://registry.npmjs.org/glob/-/glob-7.2.3.tgz#/glob-7.2.3.tgz Source1193: https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz#/for-each-0.3.3.tgz
Source1194: https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz#/glob-parent-5.1.2.tgz Source1194: https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz#/foreground-child-3.3.0.tgz
Source1195: https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz#/glob-parent-6.0.2.tgz Source1195: https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz#/fs-extra-10.1.0.tgz
Source1196: https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz#/global-modules-2.0.0.tgz Source1196: https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz#/fs.realpath-1.0.0.tgz
Source1197: https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz#/global-prefix-3.0.0.tgz Source1197: https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz#/function-bind-1.1.2.tgz
Source1198: https://registry.npmjs.org/globals/-/globals-13.24.0.tgz#/globals-13.24.0.tgz Source1198: https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz#/function.prototype.name-1.1.8.tgz
Source1199: https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz#/globalthis-1.0.4.tgz Source1199: https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz#/functions-have-names-1.2.3.tgz
Source1200: https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz#/globalyzer-0.1.0.tgz Source1200: https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz#/get-east-asian-width-1.3.0.tgz
Source1201: https://registry.npmjs.org/globby/-/globby-11.1.0.tgz#/globby-11.1.0.tgz Source1201: https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz#/get-intrinsic-1.2.7.tgz
Source1202: https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz#/globjoin-0.1.4.tgz Source1202: https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz#/get-proto-1.0.1.tgz
Source1203: https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz#/globrex-0.1.2.tgz Source1203: https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz#/get-symbol-description-1.1.0.tgz
Source1204: https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz#/gopd-1.0.1.tgz Source1204: https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.8.1.tgz#/get-tsconfig-4.8.1.tgz
Source1205: https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz#/graceful-fs-4.2.11.tgz Source1205: https://registry.npmjs.org/gettext-parser/-/gettext-parser-8.0.0.tgz#/gettext-parser-8.0.0.tgz
Source1206: https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz#/graphemer-1.4.0.tgz Source1206: https://registry.npmjs.org/glob/-/glob-11.0.1.tgz#/glob-11.0.1.tgz
Source1207: https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz#/has-bigints-1.0.2.tgz Source1207: https://registry.npmjs.org/glob/-/glob-7.2.3.tgz#/glob-7.2.3.tgz
Source1208: https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz#/has-flag-3.0.0.tgz Source1208: https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz#/glob-parent-5.1.2.tgz
Source1209: https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz#/has-flag-4.0.0.tgz Source1209: https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz#/glob-parent-6.0.2.tgz
Source1210: https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#/has-property-descriptors-1.0.2.tgz Source1210: https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz#/global-modules-2.0.0.tgz
Source1211: https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz#/has-proto-1.0.3.tgz Source1211: https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz#/global-prefix-3.0.0.tgz
Source1212: https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz#/has-symbols-1.0.3.tgz Source1212: https://registry.npmjs.org/globals/-/globals-13.24.0.tgz#/globals-13.24.0.tgz
Source1213: https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz#/has-tostringtag-1.0.2.tgz Source1213: https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz#/globalthis-1.0.4.tgz
Source1214: https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz#/hasown-2.0.2.tgz Source1214: https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz#/globalyzer-0.1.0.tgz
Source1215: https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz#/html-tags-3.3.1.tgz Source1215: https://registry.npmjs.org/globby/-/globby-11.1.0.tgz#/globby-11.1.0.tgz
Source1216: https://registry.npmjs.org/htmlparser/-/htmlparser-1.7.7.tgz#/htmlparser-1.7.7.tgz Source1216: https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz#/globjoin-0.1.4.tgz
Source1217: https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz#/iconv-lite-0.6.3.tgz Source1217: https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz#/globrex-0.1.2.tgz
Source1218: https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz#/ieee754-1.2.1.tgz Source1218: https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz#/gopd-1.2.0.tgz
Source1219: https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz#/ignore-5.3.1.tgz Source1219: https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz#/graceful-fs-4.2.11.tgz
Source1220: https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz#/immutable-4.3.7.tgz Source1220: https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz#/graphemer-1.4.0.tgz
Source1221: https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz#/import-fresh-3.3.0.tgz Source1221: https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz#/has-bigints-1.1.0.tgz
Source1222: https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz#/imurmurhash-0.1.4.tgz Source1222: https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz#/has-flag-4.0.0.tgz
Source1223: https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz#/inflight-1.0.6.tgz Source1223: https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#/has-property-descriptors-1.0.2.tgz
Source1224: https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz#/inherits-2.0.4.tgz Source1224: https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz#/has-proto-1.2.0.tgz
Source1225: https://registry.npmjs.org/ini/-/ini-1.3.8.tgz#/ini-1.3.8.tgz Source1225: https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz#/has-symbols-1.1.0.tgz
Source1226: https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz#/internal-slot-1.0.7.tgz Source1226: https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz#/has-tostringtag-1.0.2.tgz
Source1227: https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-3.5.0.tgz#/irregular-plurals-3.5.0.tgz Source1227: https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz#/hasown-2.0.2.tgz
Source1228: https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz#/is-arguments-1.1.1.tgz Source1228: https://registry.npmjs.org/hookified/-/hookified-1.7.0.tgz#/hookified-1.7.0.tgz
Source1229: https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz#/is-array-buffer-3.0.4.tgz Source1229: https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz#/html-tags-3.3.1.tgz
Source1230: https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz#/is-arrayish-0.2.1.tgz Source1230: https://registry.npmjs.org/htmlparser/-/htmlparser-1.7.7.tgz#/htmlparser-1.7.7.tgz
Source1231: https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz#/is-async-function-2.0.0.tgz Source1231: https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz#/iconv-lite-0.6.3.tgz
Source1232: https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz#/is-bigint-1.0.4.tgz Source1232: https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz#/ieee754-1.2.1.tgz
Source1233: https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz#/is-binary-path-2.1.0.tgz Source1233: https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz#/ignore-5.3.2.tgz
Source1234: https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz#/is-boolean-object-1.1.2.tgz Source1234: https://registry.npmjs.org/ignore/-/ignore-7.0.3.tgz#/ignore-7.0.3.tgz
Source1235: https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz#/is-builtin-module-3.2.1.tgz Source1235: https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz#/immutable-4.3.7.tgz
Source1236: https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz#/is-callable-1.2.7.tgz Source1236: https://registry.npmjs.org/immutable/-/immutable-5.0.3.tgz#/immutable-5.0.3.tgz
Source1237: https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz#/is-core-module-2.15.0.tgz Source1237: https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz#/import-fresh-3.3.0.tgz
Source1238: https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz#/is-data-view-1.0.1.tgz Source1238: https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz#/imurmurhash-0.1.4.tgz
Source1239: https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz#/is-date-object-1.0.5.tgz Source1239: https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz#/inflight-1.0.6.tgz
Source1240: https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz#/is-extglob-2.1.1.tgz Source1240: https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz#/inherits-2.0.4.tgz
Source1241: https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz#/is-finalizationregistry-1.0.2.tgz Source1241: https://registry.npmjs.org/ini/-/ini-1.3.8.tgz#/ini-1.3.8.tgz
Source1242: https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#/is-fullwidth-code-point-3.0.0.tgz Source1242: https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz#/internal-slot-1.1.0.tgz
Source1243: https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz#/is-generator-function-1.0.10.tgz Source1243: https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-3.5.0.tgz#/irregular-plurals-3.5.0.tgz
Source1244: https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz#/is-glob-4.0.3.tgz Source1244: https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz#/is-array-buffer-3.0.5.tgz
Source1245: https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz#/is-map-2.0.3.tgz Source1245: https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz#/is-arrayish-0.2.1.tgz
Source1246: https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz#/is-negative-zero-2.0.3.tgz Source1246: https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.0.tgz#/is-async-function-2.1.0.tgz
Source1247: https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz#/is-number-7.0.0.tgz Source1247: https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz#/is-bigint-1.1.0.tgz
Source1248: https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz#/is-number-object-1.0.7.tgz Source1248: https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz#/is-binary-path-2.1.0.tgz
Source1249: https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz#/is-path-inside-3.0.3.tgz Source1249: https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.1.tgz#/is-boolean-object-1.2.1.tgz
Source1250: https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz#/is-plain-object-5.0.0.tgz Source1250: https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz#/is-builtin-module-3.2.1.tgz
Source1251: https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz#/is-regex-1.1.4.tgz Source1251: https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz#/is-callable-1.2.7.tgz
Source1252: https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz#/is-set-2.0.3.tgz Source1252: https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz#/is-core-module-2.16.1.tgz
Source1253: https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#/is-shared-array-buffer-1.0.3.tgz Source1253: https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz#/is-data-view-1.0.2.tgz
Source1254: https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz#/is-string-1.0.7.tgz Source1254: https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz#/is-date-object-1.1.0.tgz
Source1255: https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz#/is-symbol-1.0.4.tgz Source1255: https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz#/is-extglob-2.1.1.tgz
Source1256: https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz#/is-typed-array-1.1.13.tgz Source1256: https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz#/is-finalizationregistry-1.1.1.tgz
Source1257: https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz#/is-unicode-supported-1.3.0.tgz Source1257: https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#/is-fullwidth-code-point-3.0.0.tgz
Source1258: https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz#/is-weakmap-2.0.2.tgz Source1258: https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz#/is-generator-function-1.1.0.tgz
Source1259: https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz#/is-weakref-1.0.2.tgz Source1259: https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz#/is-glob-4.0.3.tgz
Source1260: https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz#/is-weakset-2.0.3.tgz Source1260: https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz#/is-map-2.0.3.tgz
Source1261: https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz#/isarray-2.0.5.tgz Source1261: https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz#/is-number-7.0.0.tgz
Source1262: https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz#/isexe-2.0.0.tgz Source1262: https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz#/is-number-object-1.1.1.tgz
Source1263: https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz#/iterator.prototype-1.1.2.tgz Source1263: https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz#/is-path-inside-3.0.3.tgz
Source1264: https://registry.npmjs.org/jed/-/jed-1.1.1.tgz#/jed-1.1.1.tgz Source1264: https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz#/is-plain-object-5.0.0.tgz
Source1265: https://registry.npmjs.org/js-sha1/-/js-sha1-0.7.0.tgz#/js-sha1-0.7.0.tgz Source1265: https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz#/is-regex-1.2.1.tgz
Source1266: https://registry.npmjs.org/js-sha256/-/js-sha256-0.11.0.tgz#/js-sha256-0.11.0.tgz Source1266: https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz#/is-set-2.0.3.tgz
Source1267: https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz#/js-tokens-4.0.0.tgz Source1267: https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz#/is-shared-array-buffer-1.0.4.tgz
Source1268: https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz#/js-yaml-4.1.0.tgz Source1268: https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz#/is-string-1.1.1.tgz
Source1269: https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz#/json-buffer-3.0.1.tgz Source1269: https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz#/is-symbol-1.1.1.tgz
Source1270: https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#/json-parse-even-better-errors-2.3.1.tgz Source1270: https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz#/is-typed-array-1.1.15.tgz
Source1271: https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#/json-schema-traverse-0.4.1.tgz Source1271: https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz#/is-unicode-supported-2.1.0.tgz
Source1272: https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#/json-schema-traverse-1.0.0.tgz Source1272: https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz#/is-weakmap-2.0.2.tgz
Source1273: https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#/json-stable-stringify-without-jsonify-1.0.1.tgz Source1273: https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.0.tgz#/is-weakref-1.1.0.tgz
Source1274: https://registry.npmjs.org/json5/-/json5-1.0.2.tgz#/json5-1.0.2.tgz Source1274: https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz#/is-weakset-2.0.4.tgz
Source1275: https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz#/jsonfile-6.1.0.tgz Source1275: https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz#/isarray-2.0.5.tgz
Source1276: https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#/jsx-ast-utils-3.3.5.tgz Source1276: https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz#/isexe-2.0.0.tgz
Source1277: https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz#/keyv-4.5.4.tgz Source1277: https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz#/iterator.prototype-1.1.5.tgz
Source1278: https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz#/kind-of-6.0.3.tgz Source1278: https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.2.tgz#/jackspeak-4.0.2.tgz
Source1279: https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.34.0.tgz#/known-css-properties-0.34.0.tgz Source1279: https://registry.npmjs.org/jed/-/jed-1.1.1.tgz#/jed-1.1.1.tgz
Source1280: https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz#/language-subtag-registry-0.3.23.tgz Source1280: https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz#/js-tokens-4.0.0.tgz
Source1281: https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz#/language-tags-1.0.9.tgz Source1281: https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz#/js-yaml-4.1.0.tgz
Source1282: https://registry.npmjs.org/levn/-/levn-0.4.1.tgz#/levn-0.4.1.tgz Source1282: https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz#/json-buffer-3.0.1.tgz
Source1283: https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz#/lines-and-columns-1.2.4.tgz Source1283: https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#/json-parse-even-better-errors-2.3.1.tgz
Source1284: https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz#/locate-path-6.0.0.tgz Source1284: https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#/json-schema-traverse-0.4.1.tgz
Source1285: https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz#/lodash-4.17.21.tgz Source1285: https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#/json-schema-traverse-1.0.0.tgz
Source1286: https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz#/lodash.merge-4.6.2.tgz Source1286: https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#/json-stable-stringify-without-jsonify-1.0.1.tgz
Source1287: https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz#/lodash.truncate-4.4.2.tgz Source1287: https://registry.npmjs.org/json5/-/json5-1.0.2.tgz#/json5-1.0.2.tgz
Source1288: https://registry.npmjs.org/log-symbols/-/log-symbols-6.0.0.tgz#/log-symbols-6.0.0.tgz Source1288: https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz#/jsonfile-6.1.0.tgz
Source1289: https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz#/loose-envify-1.4.0.tgz Source1289: https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#/jsx-ast-utils-3.3.5.tgz
Source1290: https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz#/magic-string-0.25.9.tgz Source1290: https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz#/keyv-4.5.4.tgz
Source1291: https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#/mathml-tag-names-2.1.3.tgz Source1291: https://registry.npmjs.org/keyv/-/keyv-5.2.3.tgz#/keyv-5.2.3.tgz
Source1292: https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz#/mdn-data-2.0.30.tgz Source1292: https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz#/kind-of-6.0.3.tgz
Source1293: https://registry.npmjs.org/meow/-/meow-13.2.0.tgz#/meow-13.2.0.tgz Source1293: https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.35.0.tgz#/known-css-properties-0.35.0.tgz
Source1294: https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz#/merge2-1.4.1.tgz Source1294: https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz#/language-subtag-registry-0.3.23.tgz
Source1295: https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz#/micromatch-4.0.7.tgz Source1295: https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz#/language-tags-1.0.9.tgz
Source1296: https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz#/minimatch-3.1.2.tgz Source1296: https://registry.npmjs.org/levn/-/levn-0.4.1.tgz#/levn-0.4.1.tgz
Source1297: https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz#/minimatch-9.0.5.tgz Source1297: https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz#/lines-and-columns-1.2.4.tgz
Source1298: https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz#/minimist-1.2.8.tgz Source1298: https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz#/locate-path-6.0.0.tgz
Source1299: https://registry.npmjs.org/ms/-/ms-2.1.2.tgz#/ms-2.1.2.tgz Source1299: https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz#/lodash-4.17.21.tgz
Source1300: https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz#/nanoid-3.3.7.tgz Source1300: https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz#/lodash.merge-4.6.2.tgz
Source1301: https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz#/natural-compare-1.4.0.tgz Source1301: https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz#/lodash.truncate-4.4.2.tgz
Source1302: https://registry.npmjs.org/node-watch/-/node-watch-0.7.3.tgz#/node-watch-0.7.3.tgz Source1302: https://registry.npmjs.org/log-symbols/-/log-symbols-7.0.0.tgz#/log-symbols-7.0.0.tgz
Source1303: https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz#/normalize-path-3.0.0.tgz Source1303: https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz#/loose-envify-1.4.0.tgz
Source1304: https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz#/object-assign-4.1.1.tgz Source1304: https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.2.tgz#/lru-cache-11.0.2.tgz
Source1305: https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz#/object-inspect-1.13.2.tgz Source1305: https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz#/magic-string-0.25.9.tgz
Source1306: https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz#/object-is-1.1.6.tgz Source1306: https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz#/math-intrinsics-1.1.0.tgz
Source1307: https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz#/object-keys-1.1.1.tgz Source1307: https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#/mathml-tag-names-2.1.3.tgz
Source1308: https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz#/object.assign-4.1.5.tgz Source1308: https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz#/mdn-data-2.12.2.tgz
Source1309: https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz#/object.entries-1.1.8.tgz Source1309: https://registry.npmjs.org/mdn-data/-/mdn-data-2.15.0.tgz#/mdn-data-2.15.0.tgz
Source1310: https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz#/object.fromentries-2.0.8.tgz Source1310: https://registry.npmjs.org/meow/-/meow-13.2.0.tgz#/meow-13.2.0.tgz
Source1311: https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz#/object.groupby-1.0.3.tgz Source1311: https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz#/merge2-1.4.1.tgz
Source1312: https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz#/object.values-1.2.0.tgz Source1312: https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz#/micromatch-4.0.8.tgz
Source1313: https://registry.npmjs.org/once/-/once-1.4.0.tgz#/once-1.4.0.tgz Source1313: https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz#/minimatch-10.0.1.tgz
Source1314: https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz#/optionator-0.9.4.tgz Source1314: https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz#/minimatch-3.1.2.tgz
Source1315: https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz#/p-limit-3.1.0.tgz Source1315: https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz#/minimatch-9.0.5.tgz
Source1316: https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz#/p-locate-5.0.0.tgz Source1316: https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz#/minimist-1.2.8.tgz
Source1317: https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz#/parent-module-1.0.1.tgz Source1317: https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz#/minipass-7.1.2.tgz
Source1318: https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz#/parse-json-5.2.0.tgz Source1318: https://registry.npmjs.org/ms/-/ms-2.1.3.tgz#/ms-2.1.3.tgz
Source1319: https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz#/path-exists-4.0.0.tgz Source1319: https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz#/nanoid-3.3.8.tgz
Source1320: https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz#/path-is-absolute-1.0.1.tgz Source1320: https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz#/natural-compare-1.4.0.tgz
Source1321: https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz#/path-key-3.1.1.tgz Source1321: https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz#/node-addon-api-7.1.1.tgz
Source1322: https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz#/path-parse-1.0.7.tgz Source1322: https://registry.npmjs.org/node-watch/-/node-watch-0.7.3.tgz#/node-watch-0.7.3.tgz
Source1323: https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz#/path-type-4.0.0.tgz Source1323: https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz#/normalize-path-3.0.0.tgz
Source1324: https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz#/picocolors-1.0.1.tgz Source1324: https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz#/object-assign-4.1.1.tgz
Source1325: https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz#/picomatch-2.3.1.tgz Source1325: https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz#/object-inspect-1.13.3.tgz
Source1326: https://registry.npmjs.org/plur/-/plur-5.1.0.tgz#/plur-5.1.0.tgz Source1326: https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz#/object-keys-1.1.1.tgz
Source1327: https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#/possible-typed-array-names-1.0.0.tgz Source1327: https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz#/object.assign-4.1.7.tgz
Source1328: https://registry.npmjs.org/postcss/-/postcss-8.4.40.tgz#/postcss-8.4.40.tgz Source1328: https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz#/object.entries-1.1.8.tgz
Source1329: https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#/postcss-media-query-parser-0.2.3.tgz Source1329: https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz#/object.fromentries-2.0.8.tgz
Source1330: https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.4.tgz#/postcss-resolve-nested-selector-0.1.4.tgz Source1330: https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz#/object.groupby-1.0.3.tgz
Source1331: https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.0.tgz#/postcss-safe-parser-7.0.0.tgz Source1331: https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz#/object.values-1.2.1.tgz
Source1332: https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz#/postcss-scss-4.0.9.tgz Source1332: https://registry.npmjs.org/once/-/once-1.4.0.tgz#/once-1.4.0.tgz
Source1333: https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz#/postcss-selector-parser-6.1.1.tgz Source1333: https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz#/optionator-0.9.4.tgz
Source1334: https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#/postcss-value-parser-4.2.0.tgz Source1334: https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz#/own-keys-1.0.1.tgz
Source1335: https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz#/prelude-ls-1.2.1.tgz Source1335: https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz#/p-limit-3.1.0.tgz
Source1336: https://registry.npmjs.org/process/-/process-0.11.10.tgz#/process-0.11.10.tgz Source1336: https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz#/p-locate-5.0.0.tgz
Source1337: https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz#/prop-types-15.8.1.tgz Source1337: https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#/package-json-from-dist-1.0.1.tgz
Source1338: https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz#/punycode-2.3.1.tgz Source1338: https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz#/parent-module-1.0.1.tgz
Source1339: https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz#/queue-microtask-1.2.3.tgz Source1339: https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz#/parse-json-5.2.0.tgz
Source1340: https://registry.npmjs.org/qunit/-/qunit-2.21.0.tgz#/qunit-2.21.0.tgz Source1340: https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz#/path-exists-4.0.0.tgz
Source1341: https://registry.npmjs.org/qunit-tap/-/qunit-tap-1.5.1.tgz#/qunit-tap-1.5.1.tgz Source1341: https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz#/path-is-absolute-1.0.1.tgz
Source1342: https://registry.npmjs.org/react/-/react-18.3.1.tgz#/react-18.3.1.tgz Source1342: https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz#/path-key-3.1.1.tgz
Source1343: https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz#/react-dom-18.3.1.tgz Source1343: https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz#/path-parse-1.0.7.tgz
Source1344: https://registry.npmjs.org/react-dropzone/-/react-dropzone-14.2.3.tgz#/react-dropzone-14.2.3.tgz Source1344: https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz#/path-scurry-2.0.0.tgz
Source1345: https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz#/react-is-16.13.1.tgz Source1345: https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz#/path-type-4.0.0.tgz
Source1346: https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz#/readable-stream-4.5.2.tgz Source1346: https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz#/picocolors-1.1.1.tgz
Source1347: https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz#/readdirp-3.6.0.tgz Source1347: https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz#/picomatch-2.3.1.tgz
Source1348: https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz#/reflect.getprototypeof-1.0.6.tgz Source1348: https://registry.npmjs.org/plur/-/plur-5.1.0.tgz#/plur-5.1.0.tgz
Source1349: https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#/regexp.prototype.flags-1.5.2.tgz Source1349: https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#/possible-typed-array-names-1.0.0.tgz
Source1350: https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz#/regexpp-3.2.0.tgz Source1350: https://registry.npmjs.org/postcss/-/postcss-8.5.1.tgz#/postcss-8.5.1.tgz
Source1351: https://registry.npmjs.org/remarkable/-/remarkable-2.0.1.tgz#/remarkable-2.0.1.tgz Source1351: https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#/postcss-media-query-parser-0.2.3.tgz
Source1352: https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz#/require-from-string-2.0.2.tgz Source1352: https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.6.tgz#/postcss-resolve-nested-selector-0.1.6.tgz
Source1353: https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz#/resolve-1.22.8.tgz Source1353: https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz#/postcss-safe-parser-7.0.1.tgz
Source1354: https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz#/resolve-2.0.0-next.5.tgz Source1354: https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz#/postcss-scss-4.0.9.tgz
Source1355: https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz#/resolve-from-4.0.0.tgz Source1355: https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz#/postcss-selector-parser-7.0.0.tgz
Source1356: https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz#/resolve-from-5.0.0.tgz Source1356: https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#/postcss-value-parser-4.2.0.tgz
Source1357: https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#/resolve-pkg-maps-1.0.0.tgz Source1357: https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz#/prelude-ls-1.2.1.tgz
Source1358: https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz#/reusify-1.0.4.tgz Source1358: https://registry.npmjs.org/process/-/process-0.11.10.tgz#/process-0.11.10.tgz
Source1359: https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz#/rimraf-3.0.2.tgz Source1359: https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz#/prop-types-15.8.1.tgz
Source1360: https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz#/run-parallel-1.2.0.tgz Source1360: https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz#/punycode-2.3.1.tgz
Source1361: https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz#/rxjs-7.8.1.tgz Source1361: https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz#/queue-microtask-1.2.3.tgz
Source1362: https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz#/safe-array-concat-1.1.2.tgz Source1362: https://registry.npmjs.org/qunit/-/qunit-2.23.1.tgz#/qunit-2.23.1.tgz
Source1363: https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz#/safe-buffer-5.2.1.tgz Source1363: https://registry.npmjs.org/qunit-tap/-/qunit-tap-1.5.1.tgz#/qunit-tap-1.5.1.tgz
Source1364: https://registry.npmjs.org/safe-identifier/-/safe-identifier-0.4.2.tgz#/safe-identifier-0.4.2.tgz Source1364: https://registry.npmjs.org/react/-/react-18.3.1.tgz#/react-18.3.1.tgz
Source1365: https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz#/safe-regex-test-1.0.3.tgz Source1365: https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz#/react-dom-18.3.1.tgz
Source1366: https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz#/safer-buffer-2.1.2.tgz Source1366: https://registry.npmjs.org/react-dropzone/-/react-dropzone-14.3.5.tgz#/react-dropzone-14.3.5.tgz
Source1367: https://registry.npmjs.org/sass/-/sass-1.77.8.tgz#/sass-1.77.8.tgz Source1367: https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz#/react-is-16.13.1.tgz
Source1368: https://registry.npmjs.org/sass-embedded/-/sass-embedded-1.77.8.tgz#/sass-embedded-1.77.8.tgz Source1368: https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz#/readable-stream-4.7.0.tgz
Source1369: https://registry.npmjs.org/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.77.8.tgz#/sass-embedded-linux-musl-x64-1.77.8.tgz Source1369: https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz#/readdirp-3.6.0.tgz
Source1370: https://registry.npmjs.org/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.77.8.tgz#/sass-embedded-linux-x64-1.77.8.tgz Source1370: https://registry.npmjs.org/readdirp/-/readdirp-4.1.1.tgz#/readdirp-4.1.1.tgz
Source1371: https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz#/scheduler-0.23.2.tgz Source1371: https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz#/reflect.getprototypeof-1.0.10.tgz
Source1372: https://registry.npmjs.org/semver/-/semver-6.3.1.tgz#/semver-6.3.1.tgz Source1372: https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz#/regexp.prototype.flags-1.5.4.tgz
Source1373: https://registry.npmjs.org/semver/-/semver-7.6.3.tgz#/semver-7.6.3.tgz Source1373: https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz#/regexpp-3.2.0.tgz
Source1374: https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz#/set-function-length-1.2.2.tgz Source1374: https://registry.npmjs.org/remarkable/-/remarkable-2.0.1.tgz#/remarkable-2.0.1.tgz
Source1375: https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz#/set-function-name-2.0.2.tgz Source1375: https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz#/require-from-string-2.0.2.tgz
Source1376: https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz#/shebang-command-2.0.0.tgz Source1376: https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz#/resolve-1.22.10.tgz
Source1377: https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz#/shebang-regex-3.0.0.tgz Source1377: https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz#/resolve-2.0.0-next.5.tgz
Source1378: https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz#/side-channel-1.0.6.tgz Source1378: https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz#/resolve-from-4.0.0.tgz
Source1379: https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz#/signal-exit-4.1.0.tgz Source1379: https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz#/resolve-from-5.0.0.tgz
Source1380: https://registry.npmjs.org/sizzle/-/sizzle-2.3.10.tgz#/sizzle-2.3.10.tgz Source1380: https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#/resolve-pkg-maps-1.0.0.tgz
Source1381: https://registry.npmjs.org/slash/-/slash-3.0.0.tgz#/slash-3.0.0.tgz Source1381: https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz#/reusify-1.0.4.tgz
Source1382: https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz#/slice-ansi-4.0.0.tgz Source1382: https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz#/rimraf-3.0.2.tgz
Source1383: https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz#/source-map-js-1.2.0.tgz Source1383: https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz#/run-parallel-1.2.0.tgz
Source1384: https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#/sourcemap-codec-1.4.8.tgz Source1384: https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz#/rxjs-7.8.1.tgz
Source1385: https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz#/sprintf-js-1.0.3.tgz Source1385: https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz#/safe-array-concat-1.1.3.tgz
Source1386: https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#/stop-iteration-iterator-1.0.0.tgz Source1386: https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz#/safe-buffer-5.2.1.tgz
Source1387: https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz#/string-width-4.2.3.tgz Source1387: https://registry.npmjs.org/safe-identifier/-/safe-identifier-0.4.2.tgz#/safe-identifier-0.4.2.tgz
Source1388: https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz#/string-width-7.2.0.tgz Source1388: https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz#/safe-push-apply-1.0.0.tgz
Source1389: https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.0.tgz#/string.prototype.includes-2.0.0.tgz Source1389: https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz#/safe-regex-test-1.1.0.tgz
Source1390: https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz#/string.prototype.matchall-4.0.11.tgz Source1390: https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz#/safer-buffer-2.1.2.tgz
Source1391: https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz#/string.prototype.repeat-1.0.0.tgz Source1391: https://registry.npmjs.org/sass/-/sass-1.79.6.tgz#/sass-1.79.6.tgz
Source1392: https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz#/string.prototype.trim-1.2.9.tgz Source1392: https://registry.npmjs.org/sass-embedded/-/sass-embedded-1.83.4.tgz#/sass-embedded-1.83.4.tgz
Source1393: https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz#/string.prototype.trimend-1.0.8.tgz Source1393: https://registry.npmjs.org/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.83.4.tgz#/sass-embedded-linux-musl-x64-1.83.4.tgz
Source1394: https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#/string.prototype.trimstart-1.0.8.tgz Source1394: https://registry.npmjs.org/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.83.4.tgz#/sass-embedded-linux-x64-1.83.4.tgz
Source1395: https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz#/string_decoder-1.3.0.tgz Source1395: https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz#/scheduler-0.23.2.tgz
Source1396: https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz#/strip-ansi-6.0.1.tgz Source1396: https://registry.npmjs.org/semver/-/semver-6.3.1.tgz#/semver-6.3.1.tgz
Source1397: https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz#/strip-ansi-7.1.0.tgz Source1397: https://registry.npmjs.org/semver/-/semver-7.6.3.tgz#/semver-7.6.3.tgz
Source1398: https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz#/strip-bom-3.0.0.tgz Source1398: https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz#/set-function-length-1.2.2.tgz
Source1399: https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz#/strip-json-comments-3.1.1.tgz Source1399: https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz#/set-function-name-2.0.2.tgz
Source1400: https://registry.npmjs.org/stylelint/-/stylelint-16.8.1.tgz#/stylelint-16.8.1.tgz Source1400: https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz#/set-proto-1.0.0.tgz
Source1401: https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-14.0.1.tgz#/stylelint-config-recommended-14.0.1.tgz Source1401: https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz#/shebang-command-2.0.0.tgz
Source1402: https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-14.0.0.tgz#/stylelint-config-recommended-scss-14.0.0.tgz Source1402: https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz#/shebang-regex-3.0.0.tgz
Source1403: https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-36.0.1.tgz#/stylelint-config-standard-36.0.1.tgz Source1403: https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz#/side-channel-1.1.0.tgz
Source1404: https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-13.1.0.tgz#/stylelint-config-standard-scss-13.1.0.tgz Source1404: https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz#/side-channel-list-1.0.0.tgz
Source1405: https://registry.npmjs.org/stylelint-formatter-pretty/-/stylelint-formatter-pretty-4.0.0.tgz#/stylelint-formatter-pretty-4.0.0.tgz Source1405: https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz#/side-channel-map-1.0.1.tgz
Source1406: https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.4.1.tgz#/stylelint-scss-6.4.1.tgz Source1406: https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#/side-channel-weakmap-1.0.2.tgz
Source1407: https://registry.npmjs.org/stylelint-use-logical-spec/-/stylelint-use-logical-spec-5.0.1.tgz#/stylelint-use-logical-spec-5.0.1.tgz Source1407: https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz#/signal-exit-4.1.0.tgz
Source1408: https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz#/supports-color-5.5.0.tgz Source1408: https://registry.npmjs.org/sizzle/-/sizzle-2.3.10.tgz#/sizzle-2.3.10.tgz
Source1409: https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz#/supports-color-7.2.0.tgz Source1409: https://registry.npmjs.org/slash/-/slash-3.0.0.tgz#/slash-3.0.0.tgz
Source1410: https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz#/supports-color-8.1.1.tgz Source1410: https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz#/slice-ansi-4.0.0.tgz
Source1411: https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz#/supports-hyperlinks-3.0.0.tgz Source1411: https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz#/source-map-js-1.2.1.tgz
Source1412: https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#/supports-preserve-symlinks-flag-1.0.0.tgz Source1412: https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#/sourcemap-codec-1.4.8.tgz
Source1413: https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz#/svg-tags-1.0.0.tgz Source1413: https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz#/sprintf-js-1.0.3.tgz
Source1414: https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz#/tabbable-6.2.0.tgz Source1414: https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz#/string-width-4.2.3.tgz
Source1415: https://registry.npmjs.org/table/-/table-6.8.2.tgz#/table-6.8.2.tgz Source1415: https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz#/string-width-5.1.2.tgz
Source1416: https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz#/text-table-0.2.0.tgz Source1416: https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz#/string-width-7.2.0.tgz
Source1417: https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-5.0.2.tgz#/throttle-debounce-5.0.2.tgz Source1417: https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz#/string.prototype.includes-2.0.1.tgz
Source1418: https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz#/tiny-glob-0.2.9.tgz Source1418: https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz#/string.prototype.matchall-4.0.12.tgz
Source1419: https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz#/to-regex-range-5.0.1.tgz Source1419: https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz#/string.prototype.repeat-1.0.0.tgz
Source1420: https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz#/ts-api-utils-1.3.0.tgz Source1420: https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz#/string.prototype.trim-1.2.10.tgz
Source1421: https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#/tsconfig-paths-3.15.0.tgz Source1421: https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz#/string.prototype.trimend-1.0.9.tgz
Source1422: https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz#/tslib-2.6.3.tgz Source1422: https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#/string.prototype.trimstart-1.0.8.tgz
Source1423: https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz#/type-check-0.4.0.tgz Source1423: https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz#/string_decoder-1.3.0.tgz
Source1424: https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz#/type-fest-0.20.2.tgz Source1424: https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz#/strip-ansi-6.0.1.tgz
Source1425: https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#/typed-array-buffer-1.0.2.tgz Source1425: https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz#/strip-ansi-7.1.0.tgz
Source1426: https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz#/typed-array-byte-length-1.0.1.tgz Source1426: https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz#/strip-bom-3.0.0.tgz
Source1427: https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz#/typed-array-byte-offset-1.0.2.tgz Source1427: https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz#/strip-json-comments-3.1.1.tgz
Source1428: https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz#/typed-array-length-1.0.6.tgz Source1428: https://registry.npmjs.org/stylelint/-/stylelint-16.13.2.tgz#/stylelint-16.13.2.tgz
Source1429: https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz#/typescript-5.5.4.tgz Source1429: https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-14.0.1.tgz#/stylelint-config-recommended-14.0.1.tgz
Source1430: https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz#/unbox-primitive-1.0.2.tgz Source1430: https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-15.0.0.tgz#/stylelint-config-recommended-15.0.0.tgz
Source1431: https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz#/universalify-2.0.1.tgz Source1431: https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-14.0.0.tgz#/stylelint-config-recommended-scss-14.0.0.tgz
Source1432: https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz#/uri-js-4.4.1.tgz Source1432: https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-14.1.0.tgz#/stylelint-config-recommended-scss-14.1.0.tgz
Source1433: https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz#/util-deprecate-1.0.2.tgz Source1433: https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-36.0.1.tgz#/stylelint-config-standard-36.0.1.tgz
Source1434: https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz#/uuid-9.0.1.tgz Source1434: https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-37.0.0.tgz#/stylelint-config-standard-37.0.0.tgz
Source1435: https://registry.npmjs.org/varint/-/varint-6.0.0.tgz#/varint-6.0.0.tgz Source1435: https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-14.0.0.tgz#/stylelint-config-standard-scss-14.0.0.tgz
Source1436: https://registry.npmjs.org/which/-/which-1.3.1.tgz#/which-1.3.1.tgz Source1436: https://registry.npmjs.org/stylelint-formatter-pretty/-/stylelint-formatter-pretty-4.0.1.tgz#/stylelint-formatter-pretty-4.0.1.tgz
Source1437: https://registry.npmjs.org/which/-/which-2.0.2.tgz#/which-2.0.2.tgz Source1437: https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.10.1.tgz#/stylelint-scss-6.10.1.tgz
Source1438: https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#/which-boxed-primitive-1.0.2.tgz Source1438: https://registry.npmjs.org/stylelint-use-logical-spec/-/stylelint-use-logical-spec-5.0.1.tgz#/stylelint-use-logical-spec-5.0.1.tgz
Source1439: https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz#/which-builtin-type-1.1.4.tgz Source1439: https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz#/supports-color-7.2.0.tgz
Source1440: https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz#/which-collection-1.0.2.tgz Source1440: https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz#/supports-color-8.1.1.tgz
Source1441: https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz#/which-typed-array-1.1.15.tgz Source1441: https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.1.0.tgz#/supports-hyperlinks-3.1.0.tgz
Source1442: https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz#/word-wrap-1.2.5.tgz Source1442: https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#/supports-preserve-symlinks-flag-1.0.0.tgz
Source1443: https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz#/wrappy-1.0.2.tgz Source1443: https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz#/svg-tags-1.0.0.tgz
Source1444: https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz#/write-file-atomic-5.0.1.tgz Source1444: https://registry.npmjs.org/sync-child-process/-/sync-child-process-1.0.2.tgz#/sync-child-process-1.0.2.tgz
Source1445: https://registry.npmjs.org/ws/-/ws-7.5.10.tgz#/ws-7.5.10.tgz Source1445: https://registry.npmjs.org/sync-message-port/-/sync-message-port-1.1.3.tgz#/sync-message-port-1.1.3.tgz
Source1446: https://registry.npmjs.org/xterm/-/xterm-5.3.0.tgz#/xterm-5.3.0.tgz Source1446: https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz#/tabbable-6.2.0.tgz
Source1447: https://registry.npmjs.org/xterm-addon-canvas/-/xterm-addon-canvas-0.5.0.tgz#/xterm-addon-canvas-0.5.0.tgz Source1447: https://registry.npmjs.org/table/-/table-6.9.0.tgz#/table-6.9.0.tgz
Source1448: https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz#/yocto-queue-0.1.0.tgz Source1448: https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz#/text-table-0.2.0.tgz
Source1449: https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-5.0.2.tgz#/throttle-debounce-5.0.2.tgz
Source1450: https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz#/tiny-glob-0.2.9.tgz
Source1451: https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz#/to-regex-range-5.0.1.tgz
Source1452: https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.0.tgz#/ts-api-utils-2.0.0.tgz
Source1453: https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#/tsconfig-paths-3.15.0.tgz
Source1454: https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz#/tslib-2.8.1.tgz
Source1455: https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz#/type-check-0.4.0.tgz
Source1456: https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz#/type-fest-0.20.2.tgz
Source1457: https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz#/typed-array-buffer-1.0.3.tgz
Source1458: https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz#/typed-array-byte-length-1.0.3.tgz
Source1459: https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz#/typed-array-byte-offset-1.0.4.tgz
Source1460: https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz#/typed-array-length-1.0.7.tgz
Source1461: https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz#/typescript-5.7.3.tgz
Source1462: https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz#/unbox-primitive-1.1.0.tgz
Source1463: https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz#/universalify-2.0.1.tgz
Source1464: https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz#/uri-js-4.4.1.tgz
Source1465: https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz#/util-deprecate-1.0.2.tgz
Source1466: https://registry.npmjs.org/uuid/-/uuid-11.0.5.tgz#/uuid-11.0.5.tgz
Source1467: https://registry.npmjs.org/varint/-/varint-6.0.0.tgz#/varint-6.0.0.tgz
Source1468: https://registry.npmjs.org/which/-/which-1.3.1.tgz#/which-1.3.1.tgz
Source1469: https://registry.npmjs.org/which/-/which-2.0.2.tgz#/which-2.0.2.tgz
Source1470: https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz#/which-boxed-primitive-1.1.1.tgz
Source1471: https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz#/which-builtin-type-1.2.1.tgz
Source1472: https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz#/which-collection-1.0.2.tgz
Source1473: https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.18.tgz#/which-typed-array-1.1.18.tgz
Source1474: https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz#/word-wrap-1.2.5.tgz
Source1475: https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz#/wrap-ansi-7.0.0.tgz
Source1476: https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz#/wrap-ansi-8.1.0.tgz
Source1477: https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz#/wrappy-1.0.2.tgz
Source1478: https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz#/write-file-atomic-5.0.1.tgz
Source1479: https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz#/yocto-queue-0.1.0.tgz
Source1480: https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.1.tgz#/yoctocolors-2.1.1.tgz

3325
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,372 @@
From 291aba8127cb3e44e82b164e75d1063f3ae7fe9c Mon Sep 17 00:00:00 2001
From: Miika Alikirri <miika.alikirri@suse.com>
Date: Wed, 29 Jan 2025 14:04:39 +0200
Subject: pkg/pacagekit: Update individual packages
Ability to select individual packages allows more control for updates.
The exact behavior is distrobution specific. For example, on tumbleweed
packagekit backend will ignore the list of packages and run "zypper dup"
instead.
The selection of individual packages is implemented by using a context
provider and a reducer to make the UI updates snappy. A more naive
approach that requires rendering the whole list of packages will freeze
up the UI for multiple seconds when there's hundreds of packages. And
tens of seconds when there are thousands of packages.
---
pkg/packagekit/updates.jsx | 239 ++++++++++++++++++++++++++++++++----
pkg/packagekit/updates.scss | 6 +-
2 files changed, 219 insertions(+), 26 deletions(-)
diff --git a/pkg/packagekit/updates.jsx b/pkg/packagekit/updates.jsx
index 1feb57a0f..4fb68847f 100644
--- a/pkg/packagekit/updates.jsx
+++ b/pkg/packagekit/updates.jsx
@@ -77,6 +77,7 @@ import * as python from "python.js";
import callTracerScript from './callTracer.py';
import "./updates.scss";
+import { Checkbox } from '@patternfly/react-core';
const _ = cockpit.gettext;
@@ -90,6 +91,7 @@ const UPDATES = {
ALL: 0,
SECURITY: 1,
KPATCHES: 2,
+ SELECTED: 3,
};
function init() {
@@ -114,6 +116,196 @@ function init() {
PK_STATUS_LOG_STRINGS[PK.Enum.STATUS_SIGCHECK] = _("Verified");
}
+/**
+ * @typedef SelecetedState
+ * @type {object}
+ * @property {boolean} allSelected - Are all items selected
+ * @property {Object.<string, boolean>} selected - (Un)selected items.
+ * If allSelected is set, this refers to unselecetd
+ */
+
+/**
+ * @typedef SelecetedAction
+ * @type {object}
+ * @property {"ADD" | "REMOVE" | "ALL" | "NONE"} type - Type of reducer action
+ * @property {string=} id - Added removed item, only used by "ADD" and "REMOVE"
+ */
+
+const SelectedContext = React.createContext({selected: {}, allSelected: true});
+
+const SelectedStore = props => {
+
+ /**
+ * @argument {SelecetedState} state
+ * @argument {SelecetedAction} action
+ */
+ const reducer = (state, action) => {
+ switch (action.type) {
+ case "ADD":
+ if (action.id) {
+ if (state.allSelected)
+ delete state.selected[action.id];
+ else
+ state.selected[action.id] = true;
+ }
+ break;
+ case "REMOVE":
+ if (action.id) {
+ if (state.allSelected)
+ state.selected[action.id] = true;
+ else
+ delete state.selected[action.id];
+ }
+ break;
+ case "ALL":
+ state.allSelected = true;
+ state.selected = {};
+ break;
+ case "NONE":
+ state.allSelected = false;
+ state.selected = {};
+ break;
+ default:
+ break;
+ }
+
+ return {...state};
+ }
+
+ const [state, dispatch] = React.useReducer(reducer, {selected: {}, allSelected: true});
+
+ return <SelectedContext.Provider value={{ state, dispatch }} {...props} />;
+};
+
+/**
+ * @returns {{state: SelecetedState, dispatch: (arg: SelecetedAction) => void}}
+ */
+export const useSelected = () => React.useContext(SelectedContext);
+
+/**
+ * @param {{
+ * onClick: (state: SelecetedState) => void
+ * updates: string[],
+ * num_updates: number
+ * }} props;
+ */
+const SelectedButton = (props) => {
+ const { state, dispatch } = useSelected();
+ const {
+ onClick,
+ updates,
+ num_updates,
+ } = props;
+
+
+ const buttonText = () => {
+ if (state.allSelected && Object.keys(state.selected).length == 0 ||
+ !state.allSelected && Object.keys(state.selected).length == num_updates)
+ return _("Install all updates");
+
+ const selectLen = calculateSelected(updates, state).length;
+ return `${_("Install selected updates")} (${selectLen})`;
+ }
+
+ return (
+ <Button isDisabled={calculateSelected(updates, state).length === 0} id="install-all" variant="primary" onClick={ () => {onClick(state); dispatch({type: "ALL"})} }>
+ {buttonText()}
+ </Button>
+ );
+}
+
+const SelectedAllButton = (props) => {
+ const { state, dispatch } = useSelected();
+
+ const dispatchSelect = () => {
+ if (state.allSelected) {
+ dispatch({type: "NONE"});
+ } else {
+ dispatch({type: "ALL"});
+ }
+ }
+
+ return (
+ <Button id="install-selected" variant="secondary" onClick={ () => dispatchSelect() }>
+ {state.allSelected ? _("Unselect all") : _("Select all") }
+ </Button>
+ );
+}
+
+const SelectedSwitch = (props) => {
+ const { state, dispatch } = useSelected();
+
+ const dispatchChecked = checked => {
+ if (checked) {
+ dispatch({type: "ADD", id: props.id});
+ } else {
+ dispatch({type: "REMOVE", id: props.id});
+ }
+ }
+
+ const isChecked = () => {
+ if (state.allSelected) {
+ return !!!state.selected[props.id];
+ } else {
+ return !!state.selected[props.id];
+ }
+ }
+
+ return (
+ <Checkbox aria-label="select-update-checkbox" isChecked={isChecked()} id={`selectable-${props.id}`} onChange={(_event, checked) => dispatchChecked(checked)} />
+ );
+}
+
+/**
+ * @param {{
+* updates: string[],
+* }} props;
+*/
+const WebConsoleRestartWarn = (props) => {
+ const { state } = useSelected();
+
+ if (calculateSelected(props.updates, state).findIndex((value) => value.includes("cockpit-ws")) === -1)
+ return null;
+
+ return (
+ <Flex flex={{ default: 'inlineFlex' }} className="cockpit-update-warning">
+ <FlexItem>
+ <ExclamationTriangleIcon className="ct-icon-exclamation-triangle cockpit-update-warning-icon" />
+ <strong className="cockpit-update-warning-text">
+ <span className="pf-screen-reader">{_("Danger alert:")}</span>
+ {_("Web Console will restart")}
+ </strong>
+ </FlexItem>
+ <FlexItem>
+ <Popover aria-label="More information popover"
+ bodyContent={_("When the Web Console is restarted, you will no longer see progress information. However, the update process will continue in the background. Reconnect to continue watching the update process.")}>
+ <Button variant="link" isInline>{_("More info...")}</Button>
+ </Popover>
+ </FlexItem>
+ </Flex>
+ );
+}
+
+/**
+ * @param {string[]} allIds
+ * @param {SelecetedState} state
+ * @returns {string[]}
+ */
+function calculateSelected(allIds, state) {
+ const selected = Object.keys(state.selected);
+
+ if (!state.allSelected) {
+ return selected;
+ }
+
+ if (selected.length === 0) {
+ return allIds;
+ }
+
+ return allIds.filter((id) => !!!state.selected[id]);
+}
+
+
// parse CVEs from an arbitrary text (changelog) and return URL array
function parseCVEs(text) {
if (!text)
@@ -398,6 +590,7 @@ function updateItem(remarkable, info, pkgNames, key) {
{ title: <TableText wrapModifier="truncate">{info.version}</TableText>, props: { className: "version" } },
{ title: <TableText wrapModifier="nowrap">{type}</TableText>, props: { className: "type" } },
{ title: descriptionFirstLine, props: { className: "changelog" } },
+ { title: <SelectedSwitch id={ key }/>, props: { className: "select-update" } },
],
props: {
key,
@@ -448,6 +641,7 @@ const UpdatesList = ({ updates }) => {
{ title: _("Version"), transforms: [cellWidth(15)] },
{ title: _("Severity"), transforms: [cellWidth(15)] },
{ title: _("Details"), transforms: [cellWidth(30)] },
+ { title: _("Select update") },
]}
rows={update_ids.map(id => updateItem(remarkable, updates[id], packageNames[id].sort((a, b) => a.name > b.name), id))} />
);
@@ -933,25 +1127,12 @@ class CardsPage extends React.Component {
id: "available-updates",
title: _("Available updates"),
actions: (<div className="pk-updates--header--actions">
- {this.props.cockpitUpdate &&
- <Flex flex={{ default: 'inlineFlex' }} className="cockpit-update-warning">
- <FlexItem>
- <ExclamationTriangleIcon className="ct-icon-exclamation-triangle cockpit-update-warning-icon" />
- <strong className="cockpit-update-warning-text">
- <span className="pf-screen-reader">{_("Danger alert:")}</span>
- {_("Web Console will restart")}
- </strong>
- </FlexItem>
- <FlexItem>
- <Popover aria-label="More information popover"
- bodyContent={_("When the Web Console is restarted, you will no longer see progress information. However, the update process will continue in the background. Reconnect to continue watching the update process.")}>
- <Button variant="link" isInline>{_("More info...")}</Button>
- </Popover>
- </FlexItem>
- </Flex>}
+ <WebConsoleRestartWarn updates={Object.keys(this.props.updates)} />
{this.props.applyKpatches}
{this.props.applySecurity}
{this.props.applyAll}
+ {this.props.applySelected}
+ {this.props.applySelectAll}
</div>),
containsList: true,
body: <UpdatesList updates={this.props.updates} />
@@ -1325,13 +1506,19 @@ class OsUpdates extends React.Component {
});
}
- applyUpdates(type) {
+ /**
+ * @param {SelecetedState=} selected
+ */
+ applyUpdates(type, selected) {
let ids = Object.keys(this.state.updates);
if (type === UPDATES.SECURITY)
ids = ids.filter(id => this.state.updates[id].severity === PK.Enum.INFO_SECURITY);
if (type === UPDATES.KPATCHES) {
ids = ids.filter(id => isKpatchPackage(this.state.updates[id].name));
}
+ if (type === UPDATES.SELECTED && selected) {
+ ids = calculateSelected(ids, selected);
+ }
PK.transaction()
.then(transactionPath => {
@@ -1354,7 +1541,7 @@ class OsUpdates extends React.Component {
}
renderContent() {
- let applySecurity, applyKpatches, applyAll;
+ let applySecurity, applyKpatches, applyAll, applySelected, applySelectAll;
/* On unregistered RHEL systems we need some heuristics: If the "main" OS repos (which provide coreutils) require
* a subscription, then point this out and don't show available updates, even if there are some auxiliary
@@ -1409,12 +1596,8 @@ class OsUpdates extends React.Component {
const num_kpatches = count_kpatch_updates(this.state.updates);
const highest_severity = find_highest_severity(this.state.updates);
- applyAll = (
- <Button id={num_updates == num_security_updates ? "install-security" : "install-all"} variant="primary" onClick={ () => this.applyUpdates(UPDATES.ALL) }>
- { num_updates == num_security_updates
- ? _("Install security updates")
- : _("Install all updates") }
- </Button>);
+ applySelected = <SelectedButton updates={Object.keys(this.state.updates)} num_updates={num_updates} onClick={ (items) => this.applyUpdates(UPDATES.SELECTED, items) }/>;
+ applySelectAll = <SelectedAllButton />;
if (num_security_updates > 0 && num_updates > num_security_updates) {
applySecurity = (
@@ -1455,6 +1638,8 @@ class OsUpdates extends React.Component {
<CardsPage handleRefresh={this.handleRefresh}
applySecurity={applySecurity}
applyAll={applyAll}
+ applySelected={applySelected}
+ applySelectAll={applySelectAll}
applyKpatches={applyKpatches}
highestSeverity={highest_severity}
onValueChanged={this.onValueChanged}
@@ -1645,5 +1830,9 @@ document.addEventListener("DOMContentLoaded", () => {
document.title = cockpit.gettext(document.title);
init();
const root = createRoot(document.getElementById('app'));
- root.render(<OsUpdates />);
+ root.render(
+ <SelectedStore>
+ <OsUpdates />
+ </SelectedStore>
+ );
});
diff --git a/pkg/packagekit/updates.scss b/pkg/packagekit/updates.scss
index 00718eff2..12bc5de2b 100644
--- a/pkg/packagekit/updates.scss
+++ b/pkg/packagekit/updates.scss
@@ -72,7 +72,7 @@
}
&, p {
- max-inline-size: 60vw;
+ max-inline-size: 54vw;
margin-block-end: 0; // counter-act <Markdown>
overflow: hidden;
text-overflow: ellipsis;
@@ -273,3 +273,7 @@ table.header-buttons {
.ct-info-circle {
color: var(--pf-v5-global--info-color--100);
}
+
+td.select-update {
+ min-width: 8vw;
+}
--
2.48.1

108
remove_rh_links.patch Normal file
View File

@ -0,0 +1,108 @@
diff --git a/pkg/networkmanager/bond.jsx b/pkg/networkmanager/bond.jsx
index 80956bd7b..de8e667aa 100644
--- a/pkg/networkmanager/bond.jsx
+++ b/pkg/networkmanager/bond.jsx
@@ -142,16 +142,6 @@ export const BondDialog = ({ connection, dev, settings }) => {
{_("A network bond combines multiple network interfaces into one logical interface with higher throughput or redundancy.")}
</div>
}
- footerContent={
- <Button component='a'
- rel="noopener noreferrer" target="_blank"
- variant='link'
- isInline
- icon={<ExternalLinkSquareAltIcon />} iconPosition="right"
- href="https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/configuring_and_managing_networking/configuring-network-bonding_configuring-and-managing-networking#proc_configuring-a-network-bond-by-using-the-rhel-web-console_configuring-network-bonding">
- {_("Learn more")}
- </Button>
- }
>
<Button id="bond-help-popup-button" variant="plain" aria-label="Help">
<HelpIcon />
diff --git a/pkg/systemd/hwinfo.jsx b/pkg/systemd/hwinfo.jsx
index 30196f0dc..d53948374 100644
--- a/pkg/systemd/hwinfo.jsx
+++ b/pkg/systemd/hwinfo.jsx
@@ -201,11 +201,6 @@ const CPUSecurityMitigationsDialog = () => {
<DataListCell key="primary content">
<span>
<div className='nosmt-heading'>{ _("Disable simultaneous multithreading") } (nosmt)</div>
- <small className='nosmt-read-more-link'>
- <a href="https://access.redhat.com/security/vulnerabilities/L1TF" target="_blank" rel="noopener noreferrer">
- <ExternalLinkAltIcon /> { _("Read more...") }
- </a>
- </small>
</span>
</DataListCell>,
]}
diff --git a/pkg/systemd/overview-cards/cryptoPolicies.jsx b/pkg/systemd/overview-cards/cryptoPolicies.jsx
index dc8b996ec..2f6fc8ac4 100644
--- a/pkg/systemd/overview-cards/cryptoPolicies.jsx
+++ b/pkg/systemd/overview-cards/cryptoPolicies.jsx
@@ -115,7 +115,7 @@ const CryptoPolicyDialog = ({
variant='link'
isInline
icon={<ExternalLinkSquareAltIcon />} iconPosition="right"
- href="https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/8/html/security_hardening/switching-rhel-to-fips-mode_security-hardening">
+ href="https://documentation.suse.com/sle-micro/6.0/html/Micro-selinux/selinux-article.html">
{_("Learn more")}
</Button>
</Flex>),
@@ -154,16 +154,6 @@ const CryptoPolicyDialog = ({
{_("Cryptographic Policies is a system component that configures the core cryptographic subsystems, covering the TLS, IPSec, SSH, DNSSec, and Kerberos protocols.")}
</div>
}
- footerContent={
- <Button component='a'
- rel="noopener noreferrer" target="_blank"
- variant='link'
- isInline
- icon={<ExternalLinkSquareAltIcon />} iconPosition="right"
- href="https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/security_hardening/using-the-system-wide-cryptographic-policies_security-hardening">
- {_("Learn more")}
- </Button>
- }
>
<Button variant="plain" aria-label={_("Help")}>
<HelpIcon />
diff --git a/pkg/systemd/overview-cards/tuned-dialog.jsx b/pkg/systemd/overview-cards/tuned-dialog.jsx
index 258f42640..3ec591cb7 100644
--- a/pkg/systemd/overview-cards/tuned-dialog.jsx
+++ b/pkg/systemd/overview-cards/tuned-dialog.jsx
@@ -275,36 +275,10 @@ const TunedDialog = ({
};
}, [tunedService]);
- const help = (
- <Popover
- id="tuned-help"
- bodyContent={
- <div>
- {_("Tuned is a service that monitors your system and optimizes the performance under certain workloads. The core of Tuned are profiles, which tune your system for different use cases.")}
- </div>
- }
- footerContent={
- <Button component='a'
- rel="noopener noreferrer" target="_blank"
- variant='link'
- isInline
- icon={<ExternalLinkSquareAltIcon />} iconPosition="right"
- href="https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/monitoring_and_managing_system_status_and_performance/index">
- {_("Learn more")}
- </Button>
- }
- >
- <Button variant="plain" aria-label={_("Help")}>
- <HelpIcon />
- </Button>
- </Popover>
- );
-
return (
<Modal position="top" variant="medium"
className="ct-m-stretch-body"
isOpen
- help={help}
onClose={() => dialogResult.resolve()}
title={_("Change performance profile")}
footer={

View File

@ -1,6 +1,8 @@
--- selinux_bak/cockpit.fc 2024-02-28 13:34:16.748028079 +0100 diff --git a/selinux/cockpit.fc b/selinux/cockpit.fc
+++ selinux/cockpit.fc 2024-02-28 13:35:10.425549063 +0100 index 9fd56a0..17f420f 100644
@@ -2,11 +2,24 @@ --- a/selinux/cockpit.fc
+++ b/selinux/cockpit.fc
@@ -2,10 +2,21 @@
/etc/systemd/system/cockpit.* -- gen_context(system_u:object_r:cockpit_unit_file_t,s0) /etc/systemd/system/cockpit.* -- gen_context(system_u:object_r:cockpit_unit_file_t,s0)
/usr/libexec/cockpit-ws -- gen_context(system_u:object_r:cockpit_ws_exec_t,s0) /usr/libexec/cockpit-ws -- gen_context(system_u:object_r:cockpit_ws_exec_t,s0)
@ -16,12 +18,9 @@
+/usr/lib/cockpit-certificate-helper -- gen_context(system_u:object_r:bin_t,s0) +/usr/lib/cockpit-certificate-helper -- gen_context(system_u:object_r:bin_t,s0)
+/usr/lib/cockpit-client -- gen_context(system_u:object_r:bin_t,s0) +/usr/lib/cockpit-client -- gen_context(system_u:object_r:bin_t,s0)
+/usr/lib/cockpit-desktop -- gen_context(system_u:object_r:bin_t,s0) +/usr/lib/cockpit-desktop -- gen_context(system_u:object_r:bin_t,s0)
+/usr/lib/cockpit-pcp -- gen_context(system_u:object_r:bin_t,s0)
/usr/libexec/cockpit-session -- gen_context(system_u:object_r:cockpit_session_exec_t,s0) /usr/libexec/cockpit-session -- gen_context(system_u:object_r:cockpit_session_exec_t,s0)
+/usr/lib/cockpit-session -- gen_context(system_u:object_r:cockpit_session_exec_t,s0) +/usr/lib/cockpit-session -- gen_context(system_u:object_r:cockpit_session_exec_t,s0)
/usr/libexec/cockpit-ssh -- gen_context(system_u:object_r:cockpit_session_exec_t,s0)
+/usr/lib/cockpit-ssh -- gen_context(system_u:object_r:cockpit_session_exec_t,s0)
/usr/share/cockpit/motd/update-motd -- gen_context(system_u:object_r:cockpit_ws_exec_t,s0) /usr/share/cockpit/issue/update-issue -- gen_context(system_u:object_r:shell_exec_t,s0)

View File

@ -1,40 +1,38 @@
From b95f55365f3b221be032b1008bb8032856e31a12 Mon Sep 17 00:00:00 2001 From ecfe5445feb2bdf4ad092b340b72a6b1f78d29e6 Mon Sep 17 00:00:00 2001
From: Jacek Tomasiak <jacek.tomasiak@gmail.com> From: Jacek Tomasiak <jacek.tomasiak@gmail.com>
Date: Tue, 15 Mar 2022 23:57:12 +0100 Date: Wed, 20 Nov 2024 12:28:39 +0530
Subject: [PATCH] Add branding for SLE Micro Subject: [PATCH] Add branding for SLE Micro
This change requires distribution-logos-SLE and wallpaper-branding-SLE
to be available during build and installed on the target system to work
properly.
--- ---
Makefile.am | 1 + Makefile.am | 1 +
src/branding/sle-micro/Makefile.am | 11 ++++ src/branding/suse/Makefile.am | 11 +++++
src/branding/sle-micro/branding.css | 87 ++++++++++++++++++++++++++ src/branding/suse/branding.css | 87 ++++++++++++++++++++++++++++++++++
3 files changed, 99 insertions(+) 3 files changed, 99 insertions(+)
create mode 100644 src/branding/sle-micro/Makefile.am create mode 100644 src/branding/suse/Makefile.am
create mode 100644 src/branding/sle-micro/branding.css create mode 100644 src/branding/suse/branding.css
Index: cockpit-309/Makefile.am diff --git a/Makefile.am b/Makefile.am
=================================================================== index 22fa06617..6dee293ae 100644
--- cockpit-309.orig/Makefile.am --- a/Makefile.am
+++ cockpit-309/Makefile.am +++ b/Makefile.am
@@ -175,6 +175,7 @@ include src/branding/default/Makefile.am @@ -166,6 +166,7 @@ include src/branding/debian/Makefile.am
include src/branding/default/Makefile.am
include src/branding/fedora/Makefile.am include src/branding/fedora/Makefile.am
include src/branding/kubernetes/Makefile.am
include src/branding/opensuse/Makefile.am include src/branding/opensuse/Makefile.am
+include src/branding/sle-micro/Makefile.am +include src/branding/suse/Makefile.am
include src/branding/registry/Makefile.am
include src/branding/rhel/Makefile.am include src/branding/rhel/Makefile.am
include src/branding/scientific/Makefile.am include src/branding/scientific/Makefile.am
Index: cockpit-309/src/branding/sle-micro/Makefile.am include src/branding/ubuntu/Makefile.am
=================================================================== diff --git a/src/branding/suse/Makefile.am b/src/branding/suse/Makefile.am
new file mode 100644
index 000000000..4a1e7ab72
--- /dev/null --- /dev/null
+++ cockpit-309/src/branding/sle-micro/Makefile.am +++ b/src/branding/suse/Makefile.am
@@ -0,0 +1,11 @@ @@ -0,0 +1,11 @@
+slemicrobrandingdir = $(datadir)/cockpit/branding/sle-micro +slemicrobrandingdir = $(datadir)/cockpit/branding/suse
+ +
+dist_slemicrobranding_DATA = \ +dist_slemicrobranding_DATA = \
+ src/branding/sle-micro/branding.css \ + src/branding/suse/branding.css \
+ $(NULL) + $(NULL)
+ +
+install-data-hook:: +install-data-hook::
@ -42,10 +40,12 @@ Index: cockpit-309/src/branding/sle-micro/Makefile.am
+ ln -sf /usr/share/pixmaps/distribution-logos/square-hicolor.svg $(DESTDIR)$(slemicrobrandingdir)/square-hicolor.svg + ln -sf /usr/share/pixmaps/distribution-logos/square-hicolor.svg $(DESTDIR)$(slemicrobrandingdir)/square-hicolor.svg
+ ln -sf /usr/share/pixmaps/distribution-logos/favicon.ico $(DESTDIR)$(slemicrobrandingdir)/favicon.ico + ln -sf /usr/share/pixmaps/distribution-logos/favicon.ico $(DESTDIR)$(slemicrobrandingdir)/favicon.ico
+ ln -sf /usr/share/pixmaps/distribution-logos/apple-touch-icon.png $(DESTDIR)$(slemicrobrandingdir)/apple-touch-icon.png + ln -sf /usr/share/pixmaps/distribution-logos/apple-touch-icon.png $(DESTDIR)$(slemicrobrandingdir)/apple-touch-icon.png
Index: cockpit-309/src/branding/sle-micro/branding.css \ No newline at end of file
=================================================================== diff --git a/src/branding/suse/branding.css b/src/branding/suse/branding.css
new file mode 100644
index 000000000..baea6f560
--- /dev/null --- /dev/null
+++ cockpit-309/src/branding/sle-micro/branding.css +++ b/src/branding/suse/branding.css
@@ -0,0 +1,87 @@ @@ -0,0 +1,87 @@
+/* Extra overrides */ +/* Extra overrides */
+:root { +:root {
@ -100,6 +100,7 @@ Index: cockpit-309/src/branding/sle-micro/branding.css
+ background-size: cover; + background-size: cover;
+ } + }
+} +}
+
+/* Hide badge on desktops (already included in background) */ +/* Hide badge on desktops (already included in background) */
+@media(max-width: 1023px) { +@media(max-width: 1023px) {
+ #badge { + #badge {
@ -118,6 +119,7 @@ Index: cockpit-309/src/branding/sle-micro/branding.css
+ font-size: 2em; + font-size: 2em;
+ white-space: nowrap; + white-space: nowrap;
+} +}
+
+/* Switch to small font faster to not clip long name */ +/* Switch to small font faster to not clip long name */
+@media(max-width: 560px) { +@media(max-width: 560px) {
+ #brand { + #brand {
@ -132,5 +134,7 @@ Index: cockpit-309/src/branding/sle-micro/branding.css
+#index-brand:before { +#index-brand:before {
+ content: "${PRETTY_NAME}"; + content: "${PRETTY_NAME}";
+} +}
+ \ No newline at end of file
+ --
2.47.0

View File

@ -1,19 +1,20 @@
From a051a54e7a522e1a6f20a56d3cae5f3eacdeeff9 Mon Sep 17 00:00:00 2001 From 3b062b0dcab55b3ab224ab8873dfdcfe79d68f49 Mon Sep 17 00:00:00 2001
From: Luna <luna.dragon@suse.com> From: Luna D Dragon <luna.dragon@suse.com>
Date: Fri, 16 Aug 2024 11:10:19 +0530 Date: Mon, 25 Nov 2024 11:22:03 +0530
Subject: [PATCH] replace with suse docs and move docs without eqiv to docs-rh Subject: [PATCH] replace with suse docs and move docs without eqiv to docs-rh
--- ---
pkg/kdump/manifest.json | 2 +- pkg/kdump/manifest.json | 2 +-
pkg/networkmanager/manifest.json | 12 ++++-------- pkg/networkmanager/manifest.json | 19 +++++++++++--------
pkg/packagekit/manifest.json | 2 +-
pkg/shell/manifest.json | 2 +- pkg/shell/manifest.json | 2 +-
pkg/storaged/manifest.json | 12 +++++++----- pkg/storaged/manifest.json | 10 ++++++----
pkg/systemd/manifest.json | 6 +++--- pkg/systemd/manifest.json | 6 +++---
pkg/users/manifest.json | 4 ++-- pkg/users/manifest.json | 2 +-
6 files changed, 18 insertions(+), 20 deletions(-) 7 files changed, 24 insertions(+), 19 deletions(-)
diff --git a/pkg/kdump/manifest.json b/pkg/kdump/manifest.json diff --git a/pkg/kdump/manifest.json b/pkg/kdump/manifest.json
index 65a03d10f..ac0ee34b9 100644 index 323d6ebc9..7d625b1f7 100644
--- a/pkg/kdump/manifest.json --- a/pkg/kdump/manifest.json
+++ b/pkg/kdump/manifest.json +++ b/pkg/kdump/manifest.json
@@ -5,7 +5,7 @@ @@ -5,7 +5,7 @@
@ -24,41 +25,63 @@ index 65a03d10f..ac0ee34b9 100644
+ "docs-rh": [ + "docs-rh": [
{ {
"label": "Configuring kdump", "label": "Configuring kdump",
"url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/configuring-kdump-in-the-web-console_system-management-using-the-rhel-9-web-console" "url": "https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/managing_monitoring_and_updating_the_kernel/configuring-kdump-in-the-web-console_managing-monitoring-and-updating-the-kernel"
diff --git a/pkg/networkmanager/manifest.json b/pkg/networkmanager/manifest.json diff --git a/pkg/networkmanager/manifest.json b/pkg/networkmanager/manifest.json
index c7b2cc6a0..f37aa1565 100644 index fa9b2799c..cfa237c2b 100644
--- a/pkg/networkmanager/manifest.json --- a/pkg/networkmanager/manifest.json
+++ b/pkg/networkmanager/manifest.json +++ b/pkg/networkmanager/manifest.json
@@ -10,23 +10,19 @@ @@ -10,25 +10,28 @@
"docs": [ "docs": [
{ {
"label": "Managing networking bonds", "label": "Managing networking bonds",
- "url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/configuring-network-bonds-using-the-web-console_system-management-using-the-rhel-9-web-console" - "url": "https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/configuring_and_managing_networking/configuring-network-bonding_configuring-and-managing-networking#proc_configuring-a-network-bond-by-using-the-rhel-web-console_configuring-network-bonding"
- }, - },
- { - {
- "label": "Managing networking teams", - "label": "Managing networking teams",
- "url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/configuring-network-teams-using-the-web-console_system-management-using-the-rhel-9-web-console" - "url": "https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/configuring_and_managing_networking/configuring-network-teaming_configuring-and-managing-networking#proc_configuring-a-network-team-by-using-the-rhel-web-console_configuring-network-teaming"
+ "url": "https://documentation.suse.com/smart/systems-management/html/cockpit-slemicro/index.html#cockpit-managing-bonds" + "url": "https://documentation.suse.com/sle-micro/6.0/html/Micro-6.0-cockpit/index.html#cockpit-managing-bonds"
}, },
+
{ {
"label": "Managing networking bridges", "label": "Managing networking bridges",
- "url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/configuring-network-bridges-in-the-web-console_system-management-using-the-rhel-9-web-console" - "url": "https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/configuring_and_managing_networking/configuring-a-network-bridge_configuring-and-managing-networking#proc_configuring-a-network-bridge-by-using-the-rhel-web-console_configuring-a-network-bridge"
+ "url": "https://documentation.suse.com/smart/systems-management/html/cockpit-slemicro/index.html#task-managing-bridges" + "url": "https://documentation.suse.com/sle-micro/6.0/html/Micro-6.0-cockpit/index.html#task-managing-bridges"
}, },
{ {
"label": "Managing VLANs", "label": "Managing VLANs",
- "url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/configuring-vlans-in-the-web-console_system-management-using-the-rhel-9-web-console" - "url": "https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/configuring_and_managing_networking/configuring-vlan-tagging_configuring-and-managing-networking#proc_configuring-vlan-tagging-by-using-the-rhel-web-console_configuring-vlan-tagging"
+ "url": "https://documentation.suse.com/smart/systems-management/html/cockpit-slemicro/index.html#task-managing-vlans" + "url": "https://documentation.suse.com/sle-micro/6.0/html/Micro-6.0-cockpit/index.html#task-managing-vlans"
}, },
{ {
"label": "Managing firewall", "label": "Managing firewall",
- "url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/managing_firewall_using_the_web_console" - "url": "https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/configuring_firewalls_and_packet_filters/using-and-configuring-firewalld_firewall-packet-filters#enabling-services-on-firewall-using-the-web-console_controlling-network-traffic-using-firewalld"
+ "url": "https://documentation.suse.com/smart/systems-management/html/cockpit-slemicro/index.html#task-managing-firewall-cockpit" + "url": "https://documentation.suse.com/sle-micro/6.0/html/Micro-6.0-cockpit/index.html#task-managing-firewall-cockpit"
} }
], ],
+ "docs-rh": [
+ {
+ "label": "Managing networking teams",
+ "url": "https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/configuring_and_managing_networking/configuring-network-teaming_configuring-and-managing-networking#proc_configuring-a-network-team-by-using-the-rhel-web-console_configuring-network-teaming"
+ }
+ ],
"keywords": [ "keywords": [
{
"matches": ["network", "interface", "bridge", "vlan", "bond", "team", "port", "mac", "ipv4", "ipv6"]
diff --git a/pkg/packagekit/manifest.json b/pkg/packagekit/manifest.json
index 911380a8a..1a2de58cc 100644
--- a/pkg/packagekit/manifest.json
+++ b/pkg/packagekit/manifest.json
@@ -9,7 +9,7 @@
"tools": {
"index": {
"label": "Software updates",
- "docs": [
+ "docs-rh": [
{
"label": "Managing software updates",
"url": "https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/managing-software-updates-in-the-web-console_system-management-using-the-rhel-9-web-console"
diff --git a/pkg/shell/manifest.json b/pkg/shell/manifest.json diff --git a/pkg/shell/manifest.json b/pkg/shell/manifest.json
index a252e76d9..83be922c7 100644 index 9160c2773..29082412d 100644
--- a/pkg/shell/manifest.json --- a/pkg/shell/manifest.json
+++ b/pkg/shell/manifest.json +++ b/pkg/shell/manifest.json
@@ -26,7 +26,7 @@ @@ -26,7 +26,7 @@
@ -69,49 +92,49 @@ index a252e76d9..83be922c7 100644
+ "docs-rh": [ + "docs-rh": [
{ {
"label": "Web Console", "label": "Web Console",
"url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/index" "url": "https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/index"
diff --git a/pkg/storaged/manifest.json b/pkg/storaged/manifest.json diff --git a/pkg/storaged/manifest.json b/pkg/storaged/manifest.json
index 8ee17324b..319204a22 100644 index fac446117..27977253d 100644
--- a/pkg/storaged/manifest.json --- a/pkg/storaged/manifest.json
+++ b/pkg/storaged/manifest.json +++ b/pkg/storaged/manifest.json
@@ -14,20 +14,22 @@ @@ -14,20 +14,22 @@
"docs": [ "docs": [
{ {
"label": "Managing partitions", "label": "Managing partitions",
- "url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/managing-partitions-using-the-web-console_system-management-using-the-rhel-9-web-console" - "url": "https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/managing_file_systems/managing-partitions-using-the-web-console_managing-file-systems"
+ "url": "https://documentation.suse.com/smart/systems-management/html/cockpit-slemicro/index.html#glue-cockpit-managing-filesystems" + "url": "https://documentation.suse.com/sle-micro/6.0/html/Micro-6.0-cockpit/index.html#glue-cockpit-managing-filesystems"
}, },
{ {
"label": "Managing NFS mounts", "label": "Managing NFS mounts",
- "url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/managing-nfs-mounts-in-the-web-console_system-management-using-the-rhel-9-web-console" - "url": "https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/managing_file_systems/mounting-nfs-shares_managing-file-systems#connecting-nfs-mounts-in-the-web-console_mounting-nfs-shares"
+ "url": "https://documentation.suse.com/smart/systems-management/html/cockpit-slemicro/index.html#task-managing-NFS-mounts" + "url": "https://documentation.suse.com/sle-micro/6.0/html/Micro-6.0-cockpit/index.html#task-managing-NFS-mounts"
}, },
{ {
"label": "Managing RAIDs", "label": "Managing RAIDs",
- "url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/managing-redundant-arrays-of-independent-disks-in-the-web-console_system-management-using-the-rhel-9-web-console" - "url": "https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/managing_storage_devices/managing-raid_managing-storage-devices#creating-raid-in-the-web-console_managing-raid"
+ "url": "https://documentation.suse.com/smart/systems-management/html/cockpit-slemicro/index.html#id-1.7.6" + "url": "https://documentation.suse.com/sle-micro/6.0/html/Micro-6.0-cockpit/index.html#id-1.7.6"
}, },
{ {
"label": "Managing LVMs", "label": "Managing LVMs",
- "url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/using-the-web-console-for-configuring-lvm-logical-volumes_system-management-using-the-rhel-8-web-console" - "url": "https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/configuring_and_managing_logical_volumes/index"
- }, - },
+ "url": "https://documentation.suse.com/smart/systems-management/html/cockpit-slemicro/index.html#id-1.7.7" + "url": "https://documentation.suse.com/sle-micro/6.0/html/Micro-6.0-cockpit/index.html#id-1.7.7"
+ } + }
+ ], + ],
+ "docs-rh": [ + "docs-rh": [
{ {
"label": "Managing physical drives", "label": "Managing physical drives",
"url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/using-the-web-console-for-changing-physical-drives-in-volume-groups_system-management-using-the-rhel-8-web-console" "url": "https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/managing_storage_devices/index"
diff --git a/pkg/systemd/manifest.json b/pkg/systemd/manifest.json diff --git a/pkg/systemd/manifest.json b/pkg/systemd/manifest.json
index bd62a4cb3..5daf0a499 100644 index d4b59ab0d..4bcf70e65 100644
--- a/pkg/systemd/manifest.json --- a/pkg/systemd/manifest.json
+++ b/pkg/systemd/manifest.json +++ b/pkg/systemd/manifest.json
@@ -12,7 +12,7 @@ @@ -12,7 +12,7 @@
"docs": [ "docs": [
{ {
"label": "Configuring system settings", "label": "Configuring system settings",
- "url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/getting-started-with-the-rhel-9-web-console_system-management-using-the-rhel-9-web-console" - "url": "https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/index"
+ "url": "https://documentation.suse.com/smart/systems-management/html/cockpit-slemicro/index.html#cockpit-configuring-servers" + "url": "https://documentation.suse.com/sle-micro/6.0/html/Micro-6.0-cockpit/index.html#cockpit-configuring-servers"
} }
], ],
"keywords": [ "keywords": [
@ -119,8 +142,8 @@ index bd62a4cb3..5daf0a499 100644
"docs": [ "docs": [
{ {
"label": "Managing services", "label": "Managing services",
- "url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/managing-services-in-the-web-console_system-management-using-the-rhel-9-web-console" - "url": "https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/index"
+ "url": "https://documentation.suse.com/smart/systems-management/html/cockpit-slemicro/index.html#glue-services-management" + "url": "https://documentation.suse.com/sle-micro/6.0/html/Micro-6.0-cockpit/index.html#glue-services-management"
} }
], ],
"keywords": [ "keywords": [
@ -128,28 +151,24 @@ index bd62a4cb3..5daf0a499 100644
"docs": [ "docs": [
{ {
"label": "Reviewing logs", "label": "Reviewing logs",
- "url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/reviewing-logs_system-management-using-the-rhel-9-web-console" - "url": "https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/configuring_basic_system_settings/assembly_troubleshooting-problems-using-log-files_configuring-basic-system-settings#reviewing-logs-in-the-web-console_reviewing-logs"
+ "url": "https://documentation.suse.com/smart/systems-management/html/cockpit-slemicro/index.html#cockpit-filtering-logs" + "url": "https://documentation.suse.com/sle-micro/6.0/html/Micro-6.0-cockpit/index.html#cockpit-filtering-logs"
} }
], ],
"keywords": [ "keywords": [
diff --git a/pkg/users/manifest.json b/pkg/users/manifest.json diff --git a/pkg/users/manifest.json b/pkg/users/manifest.json
index 04295b6a4..2609d0b2c 100644 index 1f181afc5..b176b14d0 100644
--- a/pkg/users/manifest.json --- a/pkg/users/manifest.json
+++ b/pkg/users/manifest.json +++ b/pkg/users/manifest.json
@@ -3,10 +3,10 @@ @@ -6,7 +6,7 @@
"index": { "docs": [
"label": "Accounts",
"order": 70,
- "docs": [
+ "docs-rh": [
{ {
"label": "Managing user accounts", "label": "Managing user accounts",
- "url": "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_systems_using_the_rhel_9_web_console/managing-user-accounts-in-the-web-console_system-management-using-the-rhel-9-web-console" - "url": "https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/configuring_basic_system_settings/managing-users-and-groups_configuring-basic-system-settings#managing-user-accounts-in-the-web-console_managing-users-and-groups"
+ "url": "https://documentation.suse.com/sle-micro/6.0/html/Micro-6.0-cockpit/index.html#glue-managing-users" + "url": "https://documentation.suse.com/sle-micro/6.0/html/Micro-6.0-cockpit/index.html#glue-managing-users"
} }
], ],
"keywords": [ "keywords": [
-- --
2.46.0 2.47.0