From fc8b26b8a257117f54795c712bf4fbb8db7b7588 Mon Sep 17 00:00:00 2001 From: Brandon Marlowe Date: Sun, 10 Nov 2024 19:34:55 -0500 Subject: [PATCH 01/10] update depedencies for devbox --- devbox.json | 12 +- devbox.lock | 276 +++++++++++++++++++++++++++++++++++++------- mmpm/__version__.py | 2 +- pyproject.toml | 2 +- ui/bun.lockb | Bin 420647 -> 420591 bytes 5 files changed, 243 insertions(+), 49 deletions(-) diff --git a/devbox.json b/devbox.json index 4a63e24..c47fe98 100644 --- a/devbox.json +++ b/devbox.json @@ -1,11 +1,11 @@ { "packages": [ - "bun@1.0.30", - "nodejs@20.11.0", - "pdm@2.12.3", - "pm2@5.3.1", - "python-full@3.10.13", - "gcc13Stdenv.cc.cc.lib" + "gcc13Stdenv.cc.cc.lib", + "pm2@5.4.2", + "bun@1.1.31", + "nodejs@22.10.0", + "python-full@3.12.6", + "pdm@2.18.2" ], "env": { "VENV_DIR": "$PWD/.venv", diff --git a/devbox.lock b/devbox.lock index f4a396c..4b7eecf 100644 --- a/devbox.lock +++ b/devbox.lock @@ -1,106 +1,300 @@ { "lockfile_version": "1", "packages": { - "bun@1.0.30": { - "last_modified": "2024-03-12T14:03:31Z", - "resolved": "github:NixOS/nixpkgs/7eeacecff44e05a9fd61b9e03836b66ecde8a525#bun", + "bun@1.1.31": { + "last_modified": "2024-11-03T14:18:04Z", + "resolved": "github:NixOS/nixpkgs/4ae2e647537bcdbb82265469442713d066675275#bun", "source": "devbox-search", - "version": "1.0.30", + "version": "1.1.31", "systems": { "aarch64-darwin": { - "store_path": "/nix/store/90dmwb6gh4qxbgibbpvbyl1drpllc11k-bun-1.0.30" + "outputs": [ + { + "name": "out", + "path": "/nix/store/gmvlpnhc673pjwai7q0ydvikif8r1gg5-bun-1.1.31", + "default": true + } + ], + "store_path": "/nix/store/gmvlpnhc673pjwai7q0ydvikif8r1gg5-bun-1.1.31" }, "aarch64-linux": { - "store_path": "/nix/store/pspan4bw8mw04dpzbawf0ca9by7hn90y-bun-1.0.30" + "outputs": [ + { + "name": "out", + "path": "/nix/store/4xbdp3yb549g0c50qjb2majdg3b484i1-bun-1.1.31", + "default": true + } + ], + "store_path": "/nix/store/4xbdp3yb549g0c50qjb2majdg3b484i1-bun-1.1.31" + }, + "x86_64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/rvf4znnp3zy53f6wc8wkccrz3n59l552-bun-1.1.31", + "default": true + } + ], + "store_path": "/nix/store/rvf4znnp3zy53f6wc8wkccrz3n59l552-bun-1.1.31" }, "x86_64-linux": { - "store_path": "/nix/store/zrmhfs5758g3fl6hd4c8wd0z22lay330-bun-1.0.30" + "outputs": [ + { + "name": "out", + "path": "/nix/store/gimbmhysr6l7fbzk25alznv0mphiy97a-bun-1.1.31", + "default": true + } + ], + "store_path": "/nix/store/gimbmhysr6l7fbzk25alznv0mphiy97a-bun-1.1.31" } } }, "gcc13Stdenv.cc.cc.lib": { "resolved": "github:NixOS/nixpkgs/75a52265bda7fd25e06e3a67dee3f0354e73243c#gcc13Stdenv.cc.cc.lib", - "source": "nixpkg" + "source": "nixpkg", + "systems": { + "x86_64-linux": { + "outputs": [ + { + "name": "lib", + "path": "/nix/store/a2wqdxzjd68qaki5gx2a28f9p8pny6fh-gcc-13.2.0-lib", + "default": true + } + ] + } + } }, - "nodejs@20.11.0": { - "last_modified": "2024-01-27T14:55:31Z", + "nodejs@22.10.0": { + "last_modified": "2024-11-03T14:18:04Z", "plugin_version": "0.0.2", - "resolved": "github:NixOS/nixpkgs/160b762eda6d139ac10ae081f8f78d640dd523eb#nodejs_20", + "resolved": "github:NixOS/nixpkgs/4ae2e647537bcdbb82265469442713d066675275#nodejs_22", "source": "devbox-search", - "version": "20.11.0", + "version": "22.10.0", "systems": { "aarch64-darwin": { - "store_path": "/nix/store/kwwq75mfw7xch7vx40sdn5sbxp5ibmgd-nodejs-20.11.0" + "outputs": [ + { + "name": "out", + "path": "/nix/store/m1dlz5sk0l77a2c4mwcppldxxmsmifs2-nodejs-22.10.0", + "default": true + }, + { + "name": "libv8", + "path": "/nix/store/9zyi8gcg1flm378pxpfi9d7wdvhnckrh-nodejs-22.10.0-libv8" + } + ], + "store_path": "/nix/store/m1dlz5sk0l77a2c4mwcppldxxmsmifs2-nodejs-22.10.0" }, "aarch64-linux": { - "store_path": "/nix/store/9w2340q4fl45sfmllsgicbv2n2xhzjsw-nodejs-20.11.0" + "outputs": [ + { + "name": "out", + "path": "/nix/store/xpj9k6pk9bgmmc3zkfkq1f7938sczpgd-nodejs-22.10.0", + "default": true + }, + { + "name": "libv8", + "path": "/nix/store/grqr5f4cg0d86rqh9g08pp216937f6vy-nodejs-22.10.0-libv8" + } + ], + "store_path": "/nix/store/xpj9k6pk9bgmmc3zkfkq1f7938sczpgd-nodejs-22.10.0" }, "x86_64-darwin": { - "store_path": "/nix/store/zgmy5yc85d3mkz6zdmazv799c45f2gkh-nodejs-20.11.0" + "outputs": [ + { + "name": "out", + "path": "/nix/store/3c9ggwrv1ssbrpki607908mvlvarhrbq-nodejs-22.10.0", + "default": true + }, + { + "name": "libv8", + "path": "/nix/store/gfr37bc0y98sl5q4lxclsv83gpr8i6va-nodejs-22.10.0-libv8" + } + ], + "store_path": "/nix/store/3c9ggwrv1ssbrpki607908mvlvarhrbq-nodejs-22.10.0" }, "x86_64-linux": { - "store_path": "/nix/store/d6lkbndr98lcn8spbqxfq52f2ldvqhks-nodejs-20.11.0" + "outputs": [ + { + "name": "out", + "path": "/nix/store/2p8ilfl32xmhz49qghsayprxc001n2yv-nodejs-22.10.0", + "default": true + }, + { + "name": "libv8", + "path": "/nix/store/agfb25wm92v5hpw831fy1w7z7q870sfp-nodejs-22.10.0-libv8" + } + ], + "store_path": "/nix/store/2p8ilfl32xmhz49qghsayprxc001n2yv-nodejs-22.10.0" } } }, - "pdm@2.12.3": { - "last_modified": "2024-02-05T02:15:44Z", - "resolved": "github:NixOS/nixpkgs/0a254180b4cad6be45aa46dce896bdb8db5d2930#pdm", + "pdm@2.18.2": { + "last_modified": "2024-09-29T13:45:20Z", + "resolved": "github:NixOS/nixpkgs/7eee17a8a5868ecf596bbb8c8beb527253ea8f4d#pdm", "source": "devbox-search", - "version": "2.12.3", + "version": "2.18.2", "systems": { "aarch64-darwin": { - "store_path": "/nix/store/4v4prvipjljdzq86qj9sx2kg3a2m5sv1-pdm-2.12.3" + "outputs": [ + { + "name": "out", + "path": "/nix/store/zkm4nxf0qm0zlszg8as3c4828fryf32r-pdm-2.18.2", + "default": true + }, + { + "name": "dist", + "path": "/nix/store/cnxv85c3qs3w7p4qcv36yp4mpmysvn83-pdm-2.18.2-dist" + } + ], + "store_path": "/nix/store/zkm4nxf0qm0zlszg8as3c4828fryf32r-pdm-2.18.2" }, "aarch64-linux": { - "store_path": "/nix/store/2hw0rnd6sapaz30qll7crlwlgp49k76k-pdm-2.12.3" + "outputs": [ + { + "name": "out", + "path": "/nix/store/cdsi576pkgpvcbd5ksqphq1axgg3gkvi-pdm-2.18.2", + "default": true + }, + { + "name": "dist", + "path": "/nix/store/706cijccllz3wr132l4siph8nirp2qsg-pdm-2.18.2-dist" + } + ], + "store_path": "/nix/store/cdsi576pkgpvcbd5ksqphq1axgg3gkvi-pdm-2.18.2" }, "x86_64-darwin": { - "store_path": "/nix/store/d2r2ggxivcxba4417g2kghg76qpiq1h2-pdm-2.12.3" + "outputs": [ + { + "name": "out", + "path": "/nix/store/wf3wpprjxdxqwq9kn65asc3skzn0v7pj-pdm-2.18.2", + "default": true + }, + { + "name": "dist", + "path": "/nix/store/jybjz97pig3grnl6ci6qsawl5ipmivvq-pdm-2.18.2-dist" + } + ], + "store_path": "/nix/store/wf3wpprjxdxqwq9kn65asc3skzn0v7pj-pdm-2.18.2" }, "x86_64-linux": { - "store_path": "/nix/store/brmayzcr4c2rwl9gp69cxr697ay19bd4-pdm-2.12.3" + "outputs": [ + { + "name": "out", + "path": "/nix/store/jjsyzf1vkp8caapssqnpxmg6z030j7k0-pdm-2.18.2", + "default": true + }, + { + "name": "dist", + "path": "/nix/store/02lv35cq28if46578kaixx9fd2rn9g4s-pdm-2.18.2-dist" + } + ], + "store_path": "/nix/store/jjsyzf1vkp8caapssqnpxmg6z030j7k0-pdm-2.18.2" } } }, - "pm2@5.3.1": { - "last_modified": "2024-01-29T00:15:04Z", - "resolved": "github:NixOS/nixpkgs/90f456026d284c22b3e3497be980b2e47d0b28ac#pm2", + "pm2@5.4.2": { + "last_modified": "2024-11-03T14:18:04Z", + "resolved": "github:NixOS/nixpkgs/4ae2e647537bcdbb82265469442713d066675275#pm2", "source": "devbox-search", - "version": "5.3.1", + "version": "5.4.2", "systems": { "aarch64-darwin": { - "store_path": "/nix/store/2njk5s0lp9alg8bpmzjlam5r8myr5zn6-pm2-5.3.1" + "outputs": [ + { + "name": "out", + "path": "/nix/store/d75542ilqrrqpvx7l982192kyazjfbm3-pm2-5.4.2", + "default": true + } + ], + "store_path": "/nix/store/d75542ilqrrqpvx7l982192kyazjfbm3-pm2-5.4.2" }, "aarch64-linux": { - "store_path": "/nix/store/fiafxwppa8w442qnjhf4bjcc5vmmx17k-pm2-5.3.1" + "outputs": [ + { + "name": "out", + "path": "/nix/store/4sl9vb9nc42g0825a94dpr7qf5yigcnf-pm2-5.4.2", + "default": true + } + ], + "store_path": "/nix/store/4sl9vb9nc42g0825a94dpr7qf5yigcnf-pm2-5.4.2" }, "x86_64-darwin": { - "store_path": "/nix/store/3ldyvwfb05dg75qg5yihdffj7vpvgrfg-pm2-5.3.1" + "outputs": [ + { + "name": "out", + "path": "/nix/store/llw5lxafpkz9miqpnz4fqfhs93c9c8xl-pm2-5.4.2", + "default": true + } + ], + "store_path": "/nix/store/llw5lxafpkz9miqpnz4fqfhs93c9c8xl-pm2-5.4.2" }, "x86_64-linux": { - "store_path": "/nix/store/dkc1mwlp8kkpagdzvn2xcsy7qx34j8zv-pm2-5.3.1" + "outputs": [ + { + "name": "out", + "path": "/nix/store/c27cdxvk4zmyj246xjyjg3dqgy3il3y7-pm2-5.4.2", + "default": true + } + ], + "store_path": "/nix/store/c27cdxvk4zmyj246xjyjg3dqgy3il3y7-pm2-5.4.2" } } }, - "python-full@3.10.13": { - "last_modified": "2024-03-08T13:51:52Z", - "plugin_version": "0.0.3", - "resolved": "github:NixOS/nixpkgs/a343533bccc62400e8a9560423486a3b6c11a23b#python310Full", + "python-full@3.12.6": { + "last_modified": "2024-10-13T23:44:06Z", + "plugin_version": "0.0.4", + "resolved": "github:NixOS/nixpkgs/d4f247e89f6e10120f911e2e2d2254a050d0f732#python312Full", "source": "devbox-search", - "version": "3.10.13", + "version": "3.12.6", "systems": { "aarch64-darwin": { - "store_path": "/nix/store/ii4aimvkacf4lb9hs1d8n0ahm69dvsis-python3-3.10.13" + "outputs": [ + { + "name": "out", + "path": "/nix/store/rncwh0fv7ysn7mpahsr4w98zy10dhzwp-python3-3.12.6", + "default": true + } + ], + "store_path": "/nix/store/rncwh0fv7ysn7mpahsr4w98zy10dhzwp-python3-3.12.6" }, "aarch64-linux": { - "store_path": "/nix/store/h25gdf09jgln9n4b6x74j8a4ks6y9pj8-python3-3.10.13" + "outputs": [ + { + "name": "out", + "path": "/nix/store/sq20341kg2yz6rjr4lnq1p5v2x9ry1lm-python3-3.12.6", + "default": true + }, + { + "name": "debug", + "path": "/nix/store/ly98bkiksw80d9mn0mgv458mbwxz62zx-python3-3.12.6-debug" + } + ], + "store_path": "/nix/store/sq20341kg2yz6rjr4lnq1p5v2x9ry1lm-python3-3.12.6" }, "x86_64-darwin": { - "store_path": "/nix/store/qy60zmhpldkiz6f5sqlwvknx49rqg439-python3-3.10.13" + "outputs": [ + { + "name": "out", + "path": "/nix/store/ibgkv0sx9b09j0p1wlv26hb5wspcyvn8-python3-3.12.6", + "default": true + } + ], + "store_path": "/nix/store/ibgkv0sx9b09j0p1wlv26hb5wspcyvn8-python3-3.12.6" }, "x86_64-linux": { - "store_path": "/nix/store/0g0938c29rzyav6xriy9s0wah02d3vni-python3-3.10.13" + "outputs": [ + { + "name": "out", + "path": "/nix/store/bsnx84gmxkvvbsabki10bm9fc8gkwixw-python3-3.12.6", + "default": true + }, + { + "name": "debug", + "path": "/nix/store/qs3l0fdf8kisxn46valnndw8g69s7cji-python3-3.12.6-debug" + } + ], + "store_path": "/nix/store/bsnx84gmxkvvbsabki10bm9fc8gkwixw-python3-3.12.6" } } } diff --git a/mmpm/__version__.py b/mmpm/__version__.py index 480ae65..2edfaf8 100644 --- a/mmpm/__version__.py +++ b/mmpm/__version__.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 major = 4 minor = 1 -patch = 4 +patch = 3 version = f"{major}.{minor}.{patch}" diff --git a/pyproject.toml b/pyproject.toml index ef5d2e6..e425a55 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "mmpm" -version = "4.1.4" +version = "4.1.3" description = "MMPM, the MagicMirror Package Manager CLI simplifies the installation, removal, and general maintenance of MagicMirror packages" authors = [ { name = "Brandon Marlowe", email = "bpmarlowe-software@protonmail.com" }, diff --git a/ui/bun.lockb b/ui/bun.lockb index b8eb2c0779f74d1c52ef2e99ff36739c4c4710ad..379ba324eb741a3cbe065765919b864486845bc8 100755 GIT binary patch delta 10421 zcmYM$3H+N=zQ^(Y+kazPBUA~U8KG#b6Jro&Xs8m55v?J$1{bl%o*9=3wWQWiG*4}@ z2ZK;cY7Mo-9#c!~v0Q=~H@J7iI&pvJ`#G=IeO~|5_jx|&>G@}Q(&pyQlrLVJa&dZO z|GB%~x9do4?#M_mm^(7ZNS`5UFoevRiggH`rL!zFAbhrB4w?`tDdwRC(RqpmXhZBA z#UgYdey(B(x{x?eu?#&(p08MeKBO*Ctik}&7b@0Z2$`~C9YPoBEDH??U#yseCPd~d z=Ai}AOB4&xhS;TwMd(2MGQ|>fA+bQQ3_VCz6f4k&RG?Ue0i+iy)?f&k%N6Soxfs|RTYcSf%r9wCFnxpTE#N-AbFi)1^SS>Ua<-TNZ+7X zgCS&YRIEejCY@!W0pXfr4w?|TSuqbSh~A=DfHuT#RV+dW;(t>tK^GFYDVCuJ$=ekx z(1+9=id7gux~^D*A!P1UtV8H7on@f`;YEr$XhP&}#XPhidXHiO+7P=}u?QWA-=|oD zE+iU?W#~b2v0?@Kkh)*73Ij+#pjd+;WFAzkL+Bx$WuXD#hZS?sgvcX`d1yhjsaSwE z#2!^FLI>iHDVCrMi6x3<=t1&v#R~Kx^@L&-29SPIu?9oPJf&ENP)lc7Xh8UB#T+yt z@{D30S`d9!u>fs|J*QZN4#b~VEI}6%FDRCw2gw%|E6|5jTd@iQNWY|5gCS)8u2_fA zQk`X?0pXVwbI^pyD~fq&LG)F{0<+CPY3{%tH&J|4=MI8)E-dEJ6q3 zpDUK23yJ?$EJF{HeZ>m&A@zk~6$X(0Qn3a@$b6+(htU7%EDH??|F2>Wnh^PyVjfx$ z{aUdAZHNsNi_n4iH;N_bLgHJ+GV~z%oni(0kosP+3Ij<0pjd+;WPVhvL+IZ+%R&Rf zL&Y34A@Y-A9$I2SbgX?3Tu{)TZTDvo8xck5KzyuX3A&INr&xv_Bu5o1(1+A`#VQOS z9a5~p5Hias)*^H6$X%=q*#L?WL8wHLuj(jve1C=N{TsXLS$vdJhUJhQ7k|kVyh??p#$+% z6-&^C#1zFc^dR{Q#R~Kx^-IMn3?Th0#TpDDvzlTZLb|3_VCrQ>;KAQZdCU3?RLZVhx6nSy!@U6Y@}F*9wdLGSb;vIHdd^{0Mfrzticd6 zn<&;Hw5iUr(17q}iaBUPB%zpx7DP8!EI=D#TPPNx1M%M}mY@rX-z%1(2gxlJE6|73 zR*F>^Kzh1j4Tg|OD%K&iwa&88fbceoIcP#;hGHIC5ZzX>0BwlPR4hUV;@c^fpbLrZ z70b|rWJ<9DeMs$~ScL(kcT}vw5HdR{)*8P^`iL(kCj`U)3z2Th3lMKKR8h@PxifHuVbQ?Upgh@YZZ zf-WRZRV+gfl7CgKKp#>?#VQOSeVSqohLAa3u@0fRI?F->!e=Pvpb3#P74y)7=vj&d zXhZC5#UgYdUQ#SU7ZURn%g}@5If@nNL+V_`Dhwcfo?;D#kU3wm4xtNlmW2j{FI3Dy z6C!2BJhUKskzxVb5W85h2px#eS1dsn5|=2Jp$ExJ6)Vt()MbiQ7(jY~Vhx6nsVLSV z6zD7q4G1q(%s~?(mn-I>1<@-M3($txm5N2^K>RAj5_BPPwPG21kgO_Jpbx2Q6ss_R z^tFmL7((Vc#X5wp*I5=C5WYb%2Th3FsF;TqL~l|oKpSE;#UgYdezRf;x{$acb?@}y48)AzTi_n4i z-HIjXLgF69GV~yMuVMxIkh)K?3Ij+t6l*Yq%woklgznc_78($KKrshRh&-s6hZaO1 zQY=6lVh<}8p#$+p6id*BL{qU0JxD&PSb;vI9#gEs0MbhoYcPb& zVh)-Rc}g)4Er_-h3($tx(~3ptK>QiS5_BQ)tYR5@kbF+D0)0q5uULfvq+d|1!4NVp zD%K&?)>#%B5PnH92Th3lT`>0Q@-@W@^dZ$z ztik}&uPfGI2$?q&>kxWVXIW@K_$|d8G$Hb~Vjfx$eMhkXZHT?AScDG5yNV^~LgGEe zGV~z%zG4OXkorKe3Ij-g=;Gofp>cGUoq}dBF$YjGH|D9Lx5jG10G{?=Ky-^W}WIz_;;szPxW21{;5CTU_jy zma#m;{T(~z`}Q-NZ|mD7*6e4@1RFd0wjh}6wy5~am$jwc{8HfC&#mq5+d|*mquRr_ z%Y&tEi!1z+dvJUCr7L|~!P@@5UFF*(Ye)HZbujfi+oI~1Cfm|6e(4(DRE&br%^n0zjzqW>ri+pSN>!w;;V9h!oxc*tKj&E`kjaL2>JBDcjOerX*`)BJC2`YqPA z7W3^ff8Bc4Hnic6CBeuKw#DOqX#-1#x_ilvC;S%f(!+gw%3t?uYe)Ik3TC@4p7Bc? z+0q=p^sH~cv9_mg&-u2owUyniY{&D#b#99n{L&_to(ySa%!}6C%ekqImNj?hzU13x zHow!FyGxe_U%4$__FHUj>0Fz;;}zewu=$0)y=uB`e`llYTPK+DqiylJzkEwu`rf_t zcD&)+RyO~}n!9t~^liG$>-LViJNK<%zT4t$TXMT^ZR37_C%)_3Hr7_KE!<80p5J1I z%~$ll>iysYx5bCHWItnO+E~LceQd#PyPXa9X1e1O)4jjj+i)+p`#^jeZ2WKA;xoUr zgQXwc-?QT%zU^r9QJcHtpT6y6^8@^Kp9gc@7GLmFaMJ*jo6a=xc%tc z?l%9#UVt^sq2FQ;n}6(**@ipD z1xwr(A-}YbrJ5GTj9JE-d#wA~xY@S}{<{6_JYm1neJm#ilYX)-mh(&dTiVY*z_4!z zSj$>l-(23BJ(n>D+BnUc`&h0R9O$-~>@Ppa(r^7oY9-$ewziFLEBkhcwQ0UZf<xnQ>Ku$I627+Y!j9oF{kSZj~k+7WF_>Ylv*0@0 zVO@Xq30BUsm2J)Sd^^$R^R2mKecw*9`2ycISn!qY5cey8wv|0?Wv022HTxO!7aP0! zt2go2oosDIn{Q`s8q9Dn#Abf!6iY|jGj$)Kgm0(Xd^z{*?Qs7cx#?eR-0Gf>9lsCe zyDi-RUiKD`In74hFKy-9>DKP_ZMtuBt=;8YGWfu4v9(`1)0V#WOWRm;)3a=R~o&B~K+B|0u$9))f36{DoX8Fr6vUH#=9bnG(?P8n1Z}(8n zbYETE1DbE+HEZrp-aVK)&bDyhR@`&E)W%GI%Vm7K%v#E~Ile8hHruy7gX7#5?pux9 zBCxTce*^dSZK1Wc&D}k^k8hXTyx{MZeS;-#i~ao4mA15%U&{J+l{I&(yTg51a=+?o z8!Owda`(&u!K6{!BIlQ`vGj;N*`j%zHg7%d|!J+_n8;?_Kf@Qz>XhR9bNo2#z3 delta 10480 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 VmpW^l^_=skj!#-Jbv)Fb@qb`IdGY`N From 24e860ab21743fa7a70dbd73ff6a5d6eb6cbfcb2 Mon Sep 17 00:00:00 2001 From: Brandon Marlowe Date: Fri, 15 Nov 2024 18:24:07 -0500 Subject: [PATCH 02/10] update lock files --- devbox.lock | 2 +- ui/package-lock.json | 23 ----------------------- 2 files changed, 1 insertion(+), 24 deletions(-) diff --git a/devbox.lock b/devbox.lock index 4b7eecf..ce3515d 100644 --- a/devbox.lock +++ b/devbox.lock @@ -243,7 +243,7 @@ }, "python-full@3.12.6": { "last_modified": "2024-10-13T23:44:06Z", - "plugin_version": "0.0.4", + "plugin_version": "0.0.3", "resolved": "github:NixOS/nixpkgs/d4f247e89f6e10120f911e2e2d2254a050d0f732#python312Full", "source": "devbox-search", "version": "3.12.6", diff --git a/ui/package-lock.json b/ui/package-lock.json index d7aaa50..65aca63 100644 --- a/ui/package-lock.json +++ b/ui/package-lock.json @@ -2679,16 +2679,6 @@ "@fortawesome/fontawesome-svg-core": "~1.2.27 || ~1.3.0-beta2 || ^6.1.0" } }, - "node_modules/@fortawesome/fontawesome-common-types": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.5.1.tgz", - "integrity": "sha512-GkWzv+L6d2bI5f/Vk6ikJ9xtl7dfXtoRu3YGE6nq0p/FFqA1ebMOAWg3XgRyb0I6LYyYkiAo+3/KrwuBp8xG7A==", - "hasInstallScript": true, - "peer": true, - "engines": { - "node": ">=6" - } - }, "node_modules/@fortawesome/fontawesome-free": { "version": "6.5.1", "hasInstallScript": true, @@ -2697,19 +2687,6 @@ "node": ">=6" } }, - "node_modules/@fortawesome/fontawesome-svg-core": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.5.1.tgz", - "integrity": "sha512-MfRCYlQPXoLlpem+egxjfkEuP9UQswTrlCOsknus/NcMoblTH2g0jPrapbcIb04KGA7E2GZxbAccGZfWoYgsrQ==", - "hasInstallScript": true, - "peer": true, - "dependencies": { - "@fortawesome/fontawesome-common-types": "6.5.1" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/@gar/promisify": { "version": "1.1.3", "dev": true, From b304803c673792bc26d8d28eed3d46f06fe4a331 Mon Sep 17 00:00:00 2001 From: Brandon Marlowe Date: Fri, 15 Nov 2024 18:28:39 -0500 Subject: [PATCH 03/10] update lock files --- mmpm/ui.py | 11 +- pdm.lock | 21 +- pyproject.toml | 4 +- ui/bun.lockb | Bin 420591 -> 430097 bytes ui/package-lock.json | 933 +++++++++++++++++++++++++++++++++---------- ui/package.json | 32 +- 6 files changed, 752 insertions(+), 249 deletions(-) diff --git a/mmpm/ui.py b/mmpm/ui.py index e08113b..c265320 100644 --- a/mmpm/ui.py +++ b/mmpm/ui.py @@ -1,18 +1,13 @@ #!/usr/bin/env python3 -import sys - -if sys.version_info < (3, 9): - import importlib_resources as pkg_resources -else: - import importlib.resources as pkg_resources - +import importlib.resources as pkg_resources import json import os +import sys from shutil import rmtree, which from sys import executable from mmpm.__version__ import version -from mmpm.constants import urls, paths +from mmpm.constants import paths, urls from mmpm.log.factory import MMPMLogFactory from mmpm.singleton import Singleton from mmpm.utils import run_cmd diff --git a/pdm.lock b/pdm.lock index e6be17f..2c30e98 100644 --- a/pdm.lock +++ b/pdm.lock @@ -4,8 +4,11 @@ [metadata] groups = ["default", "dev"] strategy = ["cross_platform", "inherit_metadata"] -lock_version = "4.4.2" -content_hash = "sha256:9a0d53f058a4f879297e9a910f5f134f897ca187ff353a67993de091ab72f717" +lock_version = "4.5.0" +content_hash = "sha256:c7e31d27af3cccacf97e9d8ed992e7c280b1fc8a9cf7379fa4b3536d708a5d66" + +[[metadata.targets]] +requires_python = ">=3.9" [[package]] name = "anyio" @@ -305,6 +308,7 @@ summary = "Composable command line interface toolkit" groups = ["default", "dev"] dependencies = [ "colorama; platform_system == \"Windows\"", + "importlib-metadata; python_version < \"3.8\"", ] files = [ {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, @@ -644,6 +648,7 @@ summary = "GitPython is a Python library used to interact with Git repositories" groups = ["default"] dependencies = [ "gitdb<5,>=4.0.1", + "typing-extensions>=3.7.4.3; python_version < \"3.8\"", ] files = [ {file = "GitPython-3.1.43-py3-none-any.whl", hash = "sha256:eec7ec56b92aad751f9912a73404bc02ba212a23adb2c7098ee668417051a1ff"}, @@ -715,6 +720,7 @@ requires_python = ">=3.7" summary = "WSGI HTTP Server for UNIX" groups = ["default"] dependencies = [ + "importlib-metadata; python_version < \"3.8\"", "packaging", ] files = [ @@ -728,6 +734,9 @@ version = "0.14.0" requires_python = ">=3.7" summary = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" groups = ["default", "dev"] +dependencies = [ + "typing-extensions; python_version < \"3.8\"", +] files = [ {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, @@ -816,6 +825,7 @@ summary = "Read metadata from Python packages" groups = ["default", "dev"] marker = "python_version < \"3.10\"" dependencies = [ + "typing-extensions>=3.6.4; python_version < \"3.8\"", "zipp>=0.5", ] files = [ @@ -828,8 +838,7 @@ name = "importlib-resources" version = "6.4.5" requires_python = ">=3.8" summary = "Read resources from Python packages" -groups = ["default", "dev"] -marker = "python_version < \"3.9\"" +groups = ["default"] dependencies = [ "zipp>=3.1.0; python_version < \"3.10\"", ] @@ -1610,6 +1619,7 @@ groups = ["dev"] dependencies = [ "distlib<1,>=0.3.7", "filelock<4,>=3.12.2", + "importlib-metadata>=6.6; python_version < \"3.8\"", "platformdirs<5,>=3.9.1", ] files = [ @@ -1622,6 +1632,9 @@ name = "wcwidth" version = "0.2.12" summary = "Measures the displayed width of unicode strings in a terminal" groups = ["default"] +dependencies = [ + "backports-functools-lru-cache>=1.2.1; python_version < \"3.2\"", +] files = [ {file = "wcwidth-0.2.12-py2.py3-none-any.whl", hash = "sha256:f26ec43d96c8cbfed76a5075dac87680124fa84e0855195a6184da9c187f133c"}, {file = "wcwidth-0.2.12.tar.gz", hash = "sha256:f01c104efdf57971bcb756f054dd58ddec5204dd15fa31d6503ea57947d97c02"}, diff --git a/pyproject.toml b/pyproject.toml index e425a55..c28f25e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,9 +23,9 @@ dependencies = [ "gitpython>=3.1.40", "gevent-websocket>=0.10.1", "prompt-toolkit>=3.0.43", - "importlib_resources; python_version<'3.9'", + "importlib_resources", ] -requires-python = ">=3.8" +requires-python = ">=3.9" readme = "README.md" license = { text = "MIT" } keywords = [ diff --git a/ui/bun.lockb b/ui/bun.lockb index 379ba324eb741a3cbe065765919b864486845bc8..c60ea952f63765ead46d764c2e2015e11ee13714 100755 GIT binary patch delta 90602 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 diff --git a/ui/package-lock.json b/ui/package-lock.json index 65aca63..65ee2a0 100644 --- a/ui/package-lock.json +++ b/ui/package-lock.json @@ -16,39 +16,39 @@ "@angular/platform-browser": "^16.2.12", "@angular/platform-browser-dynamic": "^16.2.12", "@angular/router": "^16.2.12", - "@fortawesome/angular-fontawesome": "^0.14.0", - "@fortawesome/fontawesome-free": "^6.5.1", + "@fortawesome/angular-fontawesome": "^0.14.1", + "@fortawesome/fontawesome-free": "^6.6.0", "monaco-editor": "^0.44.0", "ngx-monaco-editor-v2": "^17.0.1", - "prettier": "^3.1.1", + "prettier": "^3.3.3", "primeicons": "^6.0.1", - "primeng": "16", + "primeng": "^16.9.1", "rxjs": "~7.8.1", - "socket.io-client": "^4.7.2", - "tslib": "^2.3.0", + "socket.io-client": "^4.8.1", + "tslib": "^2.8.1", "typescript-cookie": "^1.0.6", "zone.js": "~0.13.3" }, "devDependencies": { - "@angular-devkit/build-angular": "^16.2.10", + "@angular-devkit/build-angular": "^16.2.16", "@angular-eslint/builder": "16.3.1", "@angular-eslint/eslint-plugin": "16.3.1", "@angular-eslint/eslint-plugin-template": "16.3.1", "@angular-eslint/schematics": "16.3.1", "@angular-eslint/template-parser": "16.3.1", - "@angular/cli": "^16.2.10", + "@angular/cli": "^16.2.16", "@angular/compiler-cli": "^16.2.12", - "@types/jasmine": "~3.10.0", + "@types/jasmine": "~3.10.18", "@types/node": "20.11.28", "@typescript-eslint/eslint-plugin": "5.62.0", "@typescript-eslint/parser": "5.62.0", - "ajv": "^8.12.0", - "eslint": "^8.51.0", - "jasmine-core": "~4.0.0", - "karma": "~6.3.0", - "karma-chrome-launcher": "~3.1.0", - "karma-coverage": "~2.1.0", - "karma-jasmine": "~4.0.0", + "ajv": "^8.17.1", + "eslint": "^8.57.1", + "jasmine-core": "~4.0.1", + "karma": "~6.3.20", + "karma-chrome-launcher": "~3.1.1", + "karma-coverage": "~2.1.1", + "karma-jasmine": "~4.0.2", "karma-jasmine-html-reporter": "~1.7.0", "typescript": "~4.9.5" } @@ -74,11 +74,13 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.1602.12", + "version": "0.1602.16", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1602.16.tgz", + "integrity": "sha512-aWEeGU4UlbrSKpcAZsldVNxNXAWEeu9hM2BPk77GftbRC8PBMWpgYyrJWTz2ryn8aSmGKT3T8OyBH4gZA/667w==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "16.2.12", + "@angular-devkit/core": "16.2.16", "rxjs": "7.8.1" }, "engines": { @@ -88,14 +90,16 @@ } }, "node_modules/@angular-devkit/build-angular": { - "version": "16.2.12", + "version": "16.2.16", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-16.2.16.tgz", + "integrity": "sha512-gEni21kza41xaRnVWP1sMuiWHS/rdoym5FEEGDo9PG60LwRC4lekIgT09GpTlmMu007UEfo0ccQnGroD6+MqWg==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "2.2.1", - "@angular-devkit/architect": "0.1602.12", - "@angular-devkit/build-webpack": "0.1602.12", - "@angular-devkit/core": "16.2.12", + "@angular-devkit/architect": "0.1602.16", + "@angular-devkit/build-webpack": "0.1602.16", + "@angular-devkit/core": "16.2.16", "@babel/core": "7.22.9", "@babel/generator": "7.22.9", "@babel/helper-annotate-as-pure": "7.22.5", @@ -107,7 +111,7 @@ "@babel/runtime": "7.22.6", "@babel/template": "7.22.5", "@discoveryjs/json-ext": "0.5.7", - "@ngtools/webpack": "16.2.12", + "@ngtools/webpack": "16.2.16", "@vitejs/plugin-basic-ssl": "1.0.1", "ansi-colors": "4.1.3", "autoprefixer": "10.4.14", @@ -150,9 +154,9 @@ "text-table": "0.2.0", "tree-kill": "1.2.2", "tslib": "2.6.1", - "vite": "4.5.2", - "webpack": "5.88.2", - "webpack-dev-middleware": "6.1.1", + "vite": "4.5.5", + "webpack": "5.94.0", + "webpack-dev-middleware": "6.1.2", "webpack-dev-server": "4.15.1", "webpack-merge": "5.9.0", "webpack-subresource-integrity": "5.1.0" @@ -214,11 +218,13 @@ "license": "0BSD" }, "node_modules/@angular-devkit/build-webpack": { - "version": "0.1602.12", + "version": "0.1602.16", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1602.16.tgz", + "integrity": "sha512-b99Sj0btI0C2GIfzoyP8epDMIOLqSTqXOxw6klGtBLaGZfM5KAxqFzekXh8cAnHxWCj20WdNhezS1eUTLOkaIA==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.1602.12", + "@angular-devkit/architect": "0.1602.16", "rxjs": "7.8.1" }, "engines": { @@ -232,7 +238,9 @@ } }, "node_modules/@angular-devkit/core": { - "version": "16.2.12", + "version": "16.2.16", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.2.16.tgz", + "integrity": "sha512-5xHs9JFmp78sydrOAg0UGErxfMVv5c2f3RXoikS7eBOOXTWEi5pmnOkOvSJ3loQFGVs3Y7i+u02G3VrF5ZxOrA==", "dev": true, "license": "MIT", "dependencies": { @@ -257,8 +265,27 @@ } } }, + "node_modules/@angular-devkit/core/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, "node_modules/@angular-devkit/core/node_modules/source-map": { "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -266,11 +293,13 @@ } }, "node_modules/@angular-devkit/schematics": { - "version": "16.2.12", + "version": "16.2.16", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-16.2.16.tgz", + "integrity": "sha512-pF6fdtJh6yLmgA7Gs45JIdxPl2MsTAhYcZIMrX1a6ID64dfwtF0MP8fDE6vrWInV1zXbzzf7l7PeKuqVtTSzKg==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "16.2.12", + "@angular-devkit/core": "16.2.16", "jsonc-parser": "3.2.0", "magic-string": "0.30.1", "ora": "5.4.1", @@ -387,14 +416,16 @@ } }, "node_modules/@angular/cli": { - "version": "16.2.12", + "version": "16.2.16", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-16.2.16.tgz", + "integrity": "sha512-aqfNYZ45ndrf36i+7AhQ9R8BCm025j7TtYaUmvvjT4LwiUg6f6KtlZPB/ivBlXmd1g9oXqW4advL0AIi8A/Ozg==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.1602.12", - "@angular-devkit/core": "16.2.12", - "@angular-devkit/schematics": "16.2.12", - "@schematics/angular": "16.2.12", + "@angular-devkit/architect": "0.1602.16", + "@angular-devkit/core": "16.2.16", + "@angular-devkit/schematics": "16.2.16", + "@schematics/angular": "16.2.16", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.3", "ini": "4.1.1", @@ -2581,8 +2612,265 @@ "node": ">=10.0.0" } }, + "node_modules/@esbuild/android-arm": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.17.tgz", + "integrity": "sha512-wHsmJG/dnL3OkpAcwbgoBTTMHVi4Uyou3F5mf58ZtmUyIKfcdA7TROav/6tCzET4A3QW2Q2FC+eFneMU+iyOxg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.17.tgz", + "integrity": "sha512-9np+YYdNDed5+Jgr1TdWBsozZ85U1Oa3xW0c7TWqH0y2aGghXtZsuT8nYRbzOMcl0bXZXjOGbksoTtVOlWrRZg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.17.tgz", + "integrity": "sha512-O+FeWB/+xya0aLg23hHEM2E3hbfwZzjqumKMSIqcHbNvDa+dza2D0yLuymRBQQnC34CWrsJUXyH2MG5VnLd6uw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.17.tgz", + "integrity": "sha512-M9uJ9VSB1oli2BE/dJs3zVr9kcCBBsE883prage1NWz6pBS++1oNn/7soPNS3+1DGj0FrkSvnED4Bmlu1VAE9g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.17.tgz", + "integrity": "sha512-XDre+J5YeIJDMfp3n0279DFNrGCXlxOuGsWIkRb1NThMZ0BsrWXoTg23Jer7fEXQ9Ye5QjrvXpxnhzl3bHtk0g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.17.tgz", + "integrity": "sha512-cjTzGa3QlNfERa0+ptykyxs5A6FEUQQF0MuilYXYBGdBxD3vxJcKnzDlhDCa1VAJCmAxed6mYhA2KaJIbtiNuQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.17.tgz", + "integrity": "sha512-sOxEvR8d7V7Kw8QqzxWc7bFfnWnGdaFBut1dRUYtu+EIRXefBc/eIsiUiShnW0hM3FmQ5Zf27suDuHsKgZ5QrA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.17.tgz", + "integrity": "sha512-2d3Lw6wkwgSLC2fIvXKoMNGVaeY8qdN0IC3rfuVxJp89CRfA3e3VqWifGDfuakPmp90+ZirmTfye1n4ncjv2lg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.17.tgz", + "integrity": "sha512-c9w3tE7qA3CYWjT+M3BMbwMt+0JYOp3vCMKgVBrCl1nwjAlOMYzEo+gG7QaZ9AtqZFj5MbUc885wuBBmu6aADQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.17.tgz", + "integrity": "sha512-1DS9F966pn5pPnqXYz16dQqWIB0dmDfAQZd6jSSpiT9eX1NzKh07J6VKR3AoXXXEk6CqZMojiVDSZi1SlmKVdg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.17.tgz", + "integrity": "sha512-EvLsxCk6ZF0fpCB6w6eOI2Fc8KW5N6sHlIovNe8uOFObL2O+Mr0bflPHyHwLT6rwMg9r77WOAWb2FqCQrVnwFg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.17.tgz", + "integrity": "sha512-e0bIdHA5p6l+lwqTE36NAW5hHtw2tNRmHlGBygZC14QObsA3bD4C6sXLJjvnDIjSKhW1/0S3eDy+QmX/uZWEYQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.17.tgz", + "integrity": "sha512-BAAilJ0M5O2uMxHYGjFKn4nJKF6fNCdP1E0o5t5fvMYYzeIqy2JdAP88Az5LHt9qBoUa4tDaRpfWt21ep5/WqQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.17.tgz", + "integrity": "sha512-Wh/HW2MPnC3b8BqRSIme/9Zhab36PPH+3zam5pqGRH4pE+4xTrVLx2+XdGp6fVS3L2x+DrsIcsbMleex8fbE6g==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.17.tgz", + "integrity": "sha512-j/34jAl3ul3PNcK3pfI0NSlBANduT2UO5kZ7FCaK33XFv3chDhICLY8wJJWIhiQ+YNdQ9dxqQctRg2bvrMlYgg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@esbuild/linux-x64": { "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.17.tgz", + "integrity": "sha512-QM50vJ/y+8I60qEmFxMoxIx4de03pGo2HwxdBeFd4nMh364X6TIBZ6VQ5UQmPbQWUVWHWws5MmJXlHAXvJEmpQ==", "cpu": [ "x64" ], @@ -2596,6 +2884,108 @@ "node": ">=12" } }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.17.tgz", + "integrity": "sha512-/jGlhWR7Sj9JPZHzXyyMZ1RFMkNPjC6QIAan0sDOtIo2TYk3tZn5UDrkE0XgsTQCxWTTOcMPf9p6Rh2hXtl5TQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.17.tgz", + "integrity": "sha512-rSEeYaGgyGGf4qZM2NonMhMOP/5EHp4u9ehFiBrg7stH6BYEEjlkVREuDEcQ0LfIl53OXLxNbfuIj7mr5m29TA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.17.tgz", + "integrity": "sha512-Y7ZBbkLqlSgn4+zot4KUNYst0bFoO68tRgI6mY2FIM+b7ZbyNVtNbDP5y8qlu4/knZZ73fgJDlXID+ohY5zt5g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.17.tgz", + "integrity": "sha512-bwPmTJsEQcbZk26oYpc4c/8PvTY3J5/QK8jM19DVlEsAB41M39aWovWoHtNm78sd6ip6prilxeHosPADXtEJFw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.17.tgz", + "integrity": "sha512-H/XaPtPKli2MhW+3CQueo6Ni3Avggi6hP/YvgkEe1aSaxw+AeO8MFjq8DlgfTd9Iz4Yih3QCZI6YLMoyccnPRg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.17.tgz", + "integrity": "sha512-fGEb8f2BSA3CW7riJVurug65ACLuQAzKq0SSqkY2b2yHHH0MzDfbLyKIGzHwOI/gkHcxM/leuSW6D5w/LMNitA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "dev": true, @@ -2661,7 +3051,9 @@ "license": "MIT" }, "node_modules/@eslint/js": { - "version": "8.57.0", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", "dev": true, "license": "MIT", "engines": { @@ -2680,8 +3072,9 @@ } }, "node_modules/@fortawesome/fontawesome-free": { - "version": "6.5.1", - "hasInstallScript": true, + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.6.0.tgz", + "integrity": "sha512-60G28ke/sXdtS9KZCpZSHHkCbdsOGEhIUGlwq6yhY74UpTiToIh8np7A8yphhM4BWsvNFtIvLpi4co+h9Mr9Ow==", "license": "(CC-BY-4.0 AND OFL-1.1 AND MIT)", "engines": { "node": ">=6" @@ -2693,11 +3086,14 @@ "license": "MIT" }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", "dev": true, "license": "Apache-2.0", "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", + "@humanwhocodes/object-schema": "^2.0.3", "debug": "^4.3.1", "minimatch": "^3.0.5" }, @@ -2718,7 +3114,10 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.2", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", "dev": true, "license": "BSD-3-Clause" }, @@ -3038,7 +3437,9 @@ "license": "MIT" }, "node_modules/@ngtools/webpack": { - "version": "16.2.12", + "version": "16.2.16", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-16.2.16.tgz", + "integrity": "sha512-4gm2allK0Pjy/Lxb9IGRnhEZNEOJSOTWwy09VOdHouV2ODRK7Tto2LgteaFJUUSLkuvWRsI7pfuA6yrz8KDfHw==", "dev": true, "license": "MIT", "engines": { @@ -3380,12 +3781,14 @@ } }, "node_modules/@schematics/angular": { - "version": "16.2.12", + "version": "16.2.16", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-16.2.16.tgz", + "integrity": "sha512-V4cE4R5MbusKaNW9DWsisiSRUoQzbAaBIeJh42yCkg5H/lUdf18hUB7DG6Pl7yH6/tjzzz4SqIVD7N64uCDC2A==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "16.2.12", - "@angular-devkit/schematics": "16.2.12", + "@angular-devkit/core": "16.2.16", + "@angular-devkit/schematics": "16.2.16", "jsonc-parser": "3.2.0" }, "engines": { @@ -3539,26 +3942,10 @@ "@types/node": "*" } }, - "node_modules/@types/eslint": { - "version": "8.56.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, "node_modules/@types/estree": { - "version": "1.0.5", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", "dev": true, "license": "MIT" }, @@ -4008,57 +4395,73 @@ } }, "node_modules/@webassemblyjs/ast": { - "version": "1.12.1", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", "dev": true, "license": "MIT", "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" } }, "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", "dev": true, "license": "MIT" }, "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", "dev": true, "license": "MIT" }, "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.12.1", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", "dev": true, "license": "MIT" }, "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", "dev": true, "license": "MIT", "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", "dev": true, "license": "MIT" }, "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.12.1", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", "dev": true, "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.12.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" } }, "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", "dev": true, "license": "MIT", "dependencies": { @@ -4066,7 +4469,9 @@ } }, "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -4074,67 +4479,79 @@ } }, "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", "dev": true, "license": "MIT" }, "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.12.1", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", "dev": true, "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-opt": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1", - "@webassemblyjs/wast-printer": "1.12.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" } }, "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.12.1", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", "dev": true, "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" } }, "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.12.1", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", "dev": true, "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" } }, "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.12.1", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", "dev": true, "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" } }, "node_modules/@webassemblyjs/wast-printer": { - "version": "1.12.1", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", "dev": true, "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/ast": "1.14.1", "@xtuc/long": "4.2.2" } }, @@ -4161,11 +4578,15 @@ }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", "dev": true, "license": "BSD-3-Clause" }, "node_modules/@xtuc/long": { "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true, "license": "Apache-2.0" }, @@ -4270,8 +4691,10 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", "dev": true, "license": "MIT", "peerDependencies": { @@ -4354,14 +4777,16 @@ } }, "node_modules/ajv": { - "version": "8.12.0", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -5206,7 +5631,9 @@ } }, "node_modules/chrome-trace-event": { - "version": "1.0.3", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", "dev": true, "license": "MIT", "engines": { @@ -6096,33 +6523,16 @@ } }, "node_modules/engine.io-client": { - "version": "6.5.3", + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.6.2.tgz", + "integrity": "sha512-TAr+NKeoVTjEVW8P3iHguO1LO6RlUz9O5Y8o7EY0fU+gY1NYqas7NN3slpFtbXEsLMHk0h90fJMfKjRkQ0qUIw==", "license": "MIT", "dependencies": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.3.1", "engine.io-parser": "~5.2.1", - "ws": "~8.11.0", - "xmlhttprequest-ssl": "~2.0.0" - } - }, - "node_modules/engine.io-client/node_modules/ws": { - "version": "8.11.0", - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "ws": "~8.17.1", + "xmlhttprequest-ssl": "~2.1.1" } }, "node_modules/engine.io-parser": { @@ -6161,7 +6571,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.16.0", + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", "dev": true, "license": "MIT", "dependencies": { @@ -6252,12 +6664,16 @@ } }, "node_modules/es-module-lexer": { - "version": "1.4.1", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", "dev": true, "license": "MIT" }, "node_modules/esbuild": { "version": "0.18.17", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.17.tgz", + "integrity": "sha512-1GJtYnUxsJreHYA0Y+iQz2UEykonY66HNWOb0yXYZi9/kNrORUEHVg87eQsCtqh59PEJ5YVZJO98JHznMJSWjg==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -6348,15 +6764,18 @@ } }, "node_modules/eslint": { - "version": "8.57.0", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", @@ -6533,6 +6952,8 @@ }, "node_modules/events": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true, "license": "MIT", "engines": { @@ -6738,6 +7159,13 @@ "dev": true, "license": "MIT" }, + "node_modules/fast-uri": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.3.tgz", + "integrity": "sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==", + "dev": true, + "license": "BSD-3-Clause" + }, "node_modules/fastq": { "version": "1.17.1", "dev": true, @@ -7066,6 +7494,21 @@ "dev": true, "license": "ISC" }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/function-bind": { "version": "1.1.2", "dev": true, @@ -7177,6 +7620,8 @@ }, "node_modules/glob-to-regexp": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", "dev": true, "license": "BSD-2-Clause" }, @@ -8164,6 +8609,8 @@ }, "node_modules/jest-worker": { "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, "license": "MIT", "dependencies": { @@ -8177,6 +8624,8 @@ }, "node_modules/jest-worker/node_modules/supports-color": { "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "license": "MIT", "dependencies": { @@ -8651,6 +9100,8 @@ }, "node_modules/loader-runner": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", "dev": true, "license": "MIT", "engines": { @@ -10549,7 +11000,9 @@ } }, "node_modules/prettier": { - "version": "3.2.5", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", + "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", "license": "MIT", "bin": { "prettier": "bin/prettier.cjs" @@ -11090,7 +11543,9 @@ } }, "node_modules/rollup": { - "version": "3.29.4", + "version": "3.29.5", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.5.tgz", + "integrity": "sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==", "dev": true, "license": "MIT", "bin": { @@ -11618,12 +12073,14 @@ } }, "node_modules/socket.io-client": { - "version": "4.7.5", + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.8.1.tgz", + "integrity": "sha512-hJVXfu3E28NmzGk8o1sHhN3om52tRvwYeidbj7xKy2eIIse5IoKX3USlS6Tqt3BHAtflLIkCQBkzVrEEfWUyYQ==", "license": "MIT", "dependencies": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.3.2", - "engine.io-client": "~6.5.2", + "engine.io-client": "~6.6.1", "socket.io-parser": "~4.2.4" }, "engines": { @@ -11983,6 +12440,8 @@ }, "node_modules/tapable": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true, "license": "MIT", "engines": { @@ -12072,6 +12531,8 @@ }, "node_modules/terser-webpack-plugin": { "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", "dev": true, "license": "MIT", "dependencies": { @@ -12103,25 +12564,10 @@ } } }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils/node_modules/ajv": { + "node_modules/terser-webpack-plugin/node_modules/ajv": { "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "license": "MIT", "dependencies": { @@ -12135,21 +12581,46 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils/node_modules/ajv-keywords": { + "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": { "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true, "license": "MIT", "peerDependencies": { "ajv": "^6.9.1" } }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils/node_modules/ajv/node_modules/json-schema-traverse": { + "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true, "license": "MIT" }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/terser-webpack-plugin/node_modules/terser": { - "version": "5.29.2", + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.36.0.tgz", + "integrity": "sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -12286,7 +12757,9 @@ } }, "node_modules/tslib": { - "version": "2.6.2", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "license": "0BSD" }, "node_modules/tsutils": { @@ -12581,7 +13054,9 @@ } }, "node_modules/vite": { - "version": "4.5.2", + "version": "4.5.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.5.tgz", + "integrity": "sha512-ifW3Lb2sMdX+WU91s3R0FyQlAyLxOzCSCP37ujw0+r5POeHPwe6udWVIElKQq8gk3t7b8rkmvqC6IHBpCff4GQ==", "dev": true, "license": "MIT", "dependencies": { @@ -12662,7 +13137,9 @@ } }, "node_modules/watchpack": { - "version": "2.4.1", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", "dev": true, "license": "MIT", "dependencies": { @@ -12698,33 +13175,34 @@ } }, "node_modules/webpack": { - "version": "5.88.2", + "version": "5.94.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", + "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", "dev": true, "license": "MIT", "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", + "enhanced-resolve": "^5.17.1", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", + "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", "schema-utils": "^3.2.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" }, "bin": { @@ -12744,7 +13222,9 @@ } }, "node_modules/webpack-dev-middleware": { - "version": "6.1.1", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.1.2.tgz", + "integrity": "sha512-Wu+EHmX326YPYUpQLKmKbTyZZJIB8/n6R09pTmB03kJmnMsVPTo9COzHZFr01txwaCAuZvfBJE4ZCHRcKs5JaQ==", "dev": true, "license": "MIT", "dependencies": { @@ -12925,8 +13405,37 @@ } } }, + "node_modules/webpack/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, "node_modules/webpack/node_modules/eslint-scope": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -12937,16 +13446,27 @@ "node": ">=8.0.0" } }, - "node_modules/webpack/node_modules/eslint-scope/node_modules/estraverse": { + "node_modules/webpack/node_modules/estraverse": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, + "node_modules/webpack/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, "node_modules/webpack/node_modules/schema-utils": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, "license": "MIT", "dependencies": { @@ -12962,34 +13482,6 @@ "url": "https://opencollective.com/webpack" } }, - "node_modules/webpack/node_modules/schema-utils/node_modules/ajv": { - "version": "6.12.6", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/webpack/node_modules/schema-utils/node_modules/ajv-keywords": { - "version": "3.5.2", - "dev": true, - "license": "MIT", - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/webpack/node_modules/schema-utils/node_modules/ajv/node_modules/json-schema-traverse": { - "version": "0.4.1", - "dev": true, - "license": "MIT" - }, "node_modules/websocket-driver": { "version": "0.7.4", "dev": true, @@ -13113,8 +13605,9 @@ "license": "ISC" }, "node_modules/ws": { - "version": "8.16.0", - "dev": true, + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", "license": "MIT", "engines": { "node": ">=10.0.0" @@ -13143,7 +13636,9 @@ "license": "MIT" }, "node_modules/xmlhttprequest-ssl": { - "version": "2.0.0", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.2.tgz", + "integrity": "sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ==", "engines": { "node": ">=0.4.0" } diff --git a/ui/package.json b/ui/package.json index 44d554e..25f3566 100644 --- a/ui/package.json +++ b/ui/package.json @@ -22,39 +22,39 @@ "@angular/platform-browser": "^16.2.12", "@angular/platform-browser-dynamic": "^16.2.12", "@angular/router": "^16.2.12", - "@fortawesome/angular-fontawesome": "^0.14.0", - "@fortawesome/fontawesome-free": "^6.5.1", + "@fortawesome/angular-fontawesome": "^0.14.1", + "@fortawesome/fontawesome-free": "^6.6.0", "monaco-editor": "^0.44.0", "ngx-monaco-editor-v2": "^17.0.1", - "prettier": "^3.1.1", + "prettier": "^3.3.3", "primeicons": "^6.0.1", - "primeng": "16", + "primeng": "^16.9.1", "rxjs": "~7.8.1", - "socket.io-client": "^4.7.2", - "tslib": "^2.3.0", + "socket.io-client": "^4.8.1", + "tslib": "^2.8.1", "typescript-cookie": "^1.0.6", "zone.js": "~0.13.3" }, "devDependencies": { - "@angular-devkit/build-angular": "^16.2.10", + "@angular-devkit/build-angular": "^16.2.16", "@angular-eslint/builder": "16.3.1", "@angular-eslint/eslint-plugin": "16.3.1", "@angular-eslint/eslint-plugin-template": "16.3.1", "@angular-eslint/schematics": "16.3.1", "@angular-eslint/template-parser": "16.3.1", - "@angular/cli": "^16.2.10", + "@angular/cli": "^16.2.16", "@angular/compiler-cli": "^16.2.12", - "@types/jasmine": "~3.10.0", + "@types/jasmine": "~3.10.18", "@types/node": "20.11.28", "@typescript-eslint/eslint-plugin": "5.62.0", "@typescript-eslint/parser": "5.62.0", - "ajv": "^8.12.0", - "eslint": "^8.51.0", - "jasmine-core": "~4.0.0", - "karma": "~6.3.0", - "karma-chrome-launcher": "~3.1.0", - "karma-coverage": "~2.1.0", - "karma-jasmine": "~4.0.0", + "ajv": "^8.17.1", + "eslint": "^8.57.1", + "jasmine-core": "~4.0.1", + "karma": "~6.3.20", + "karma-chrome-launcher": "~3.1.1", + "karma-coverage": "~2.1.1", + "karma-jasmine": "~4.0.2", "karma-jasmine-html-reporter": "~1.7.0", "typescript": "~4.9.5" } From 7c7c4c4dae0eb5debeeb388b192ef7ae277b2bda Mon Sep 17 00:00:00 2001 From: Brandon Marlowe Date: Fri, 15 Nov 2024 18:36:46 -0500 Subject: [PATCH 04/10] update lock --- ui/bun.lockb | Bin 430097 -> 430097 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ui/bun.lockb b/ui/bun.lockb index c60ea952f63765ead46d764c2e2015e11ee13714..d210a1e172c357832d62ec85b62e3295042be388 100755 GIT binary patch delta 255 zcmbQZKx*OwsfHHD7N!>FEi9Y?jAqlh0$64Psbv8yMofkl({BZ^q%fQ78BTW$WDz$9 zG8mK@85npN7#a#hx|S}G^?A?1SZAVV0F+?JPAtkzWME*3OF5cz+~nL;pp2QGv7V8^ z^!`8=2~(g77oc7~px&c8mp(kKJ}CiIVWejW(i;Sn;RVVZD@#jA5IY|QHPvYQoj?{j zMkzxEYbFK;S)hUwM<1SCp74W}i80Ph&rHu?x=1jKH?y&x@${r%7CrVjLo+=~pmPt- iU=g0aDwsu<*#gLG*ux?YVzfUAW&vW>?N5T)bZr3GJx4eI delta 247 zcmbQZKx*OwsfHHD7N!>FEi9Y?j0V%W0$64Psbv8yMob0_({BZ^q%a%l8BBK!WDz$v z)H7gEW@KRCVPI$|5b0XFK-T9y2V`sH<5vXAui=;&T*4-Q-LyOdd5JR z>HUE$5~e^EEeRy(t!Vgv^#yB%QQ$54!BEc-)%!WWlQZS1itDzat0n Date: Fri, 15 Nov 2024 18:38:02 -0500 Subject: [PATCH 05/10] remove python3.8 from workflow; not supporting it anymore --- .github/workflows/workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index af5c5a7..2c01462 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] steps: - uses: actions/checkout@v4 with: From 007207b8a454a01d60b8d66e214715ece165124d Mon Sep 17 00:00:00 2001 From: Brandon Marlowe Date: Fri, 15 Nov 2024 18:41:06 -0500 Subject: [PATCH 06/10] fixed test failure --- mmpm/magicmirror/package.py | 3 +-- mmpm/ui.py | 1 - 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/mmpm/magicmirror/package.py b/mmpm/magicmirror/package.py index 04f1755..f3d4ffa 100644 --- a/mmpm/magicmirror/package.py +++ b/mmpm/magicmirror/package.py @@ -11,7 +11,6 @@ import requests from bs4 import NavigableString, Tag - from mmpm.constants import color from mmpm.env import MMPMEnv from mmpm.log.factory import MMPMLogFactory @@ -546,7 +545,7 @@ def health(cls): reset: int = github_api["rate"]["reset"] remaining: int = github_api["rate"]["remaining"] - reset_time = datetime.datetime.utcfromtimestamp(reset).strftime("%Y-%m-%d %H:%M:%S") + reset_time = datetime.datetime.fromtimestamp(reset, datetime.UTC).strftime("%Y-%m-%d %H:%M:%S") if not remaining: health["github"][ diff --git a/mmpm/ui.py b/mmpm/ui.py index c265320..78ad269 100644 --- a/mmpm/ui.py +++ b/mmpm/ui.py @@ -2,7 +2,6 @@ import importlib.resources as pkg_resources import json import os -import sys from shutil import rmtree, which from sys import executable From a624a0c9d1cb3185ae677d31f2bf1a54e89d8592 Mon Sep 17 00:00:00 2001 From: Brandon Marlowe Date: Fri, 15 Nov 2024 18:45:55 -0500 Subject: [PATCH 07/10] wat --- mmpm/magicmirror/package.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mmpm/magicmirror/package.py b/mmpm/magicmirror/package.py index f3d4ffa..4ed66ce 100644 --- a/mmpm/magicmirror/package.py +++ b/mmpm/magicmirror/package.py @@ -3,6 +3,7 @@ import json import os import sys +from datetime import UTC from multiprocessing import cpu_count from pathlib import Path, PosixPath from re import sub @@ -545,7 +546,7 @@ def health(cls): reset: int = github_api["rate"]["reset"] remaining: int = github_api["rate"]["remaining"] - reset_time = datetime.datetime.fromtimestamp(reset, datetime.UTC).strftime("%Y-%m-%d %H:%M:%S") + reset_time = datetime.datetime.fromtimestamp(reset, UTC).strftime("%Y-%m-%d %H:%M:%S") if not remaining: health["github"][ From 160ba9a2bc2fd31642a42111b0f778f8a5d5af33 Mon Sep 17 00:00:00 2001 From: Brandon Marlowe Date: Fri, 15 Nov 2024 18:51:40 -0500 Subject: [PATCH 08/10] remove UTC import --- mmpm/magicmirror/package.py | 5 ++--- pdm.lock | 12 +++++++++++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/mmpm/magicmirror/package.py b/mmpm/magicmirror/package.py index 4ed66ce..4e419dc 100644 --- a/mmpm/magicmirror/package.py +++ b/mmpm/magicmirror/package.py @@ -1,9 +1,8 @@ #!/usr/bin/env python3 -import datetime import json import os import sys -from datetime import UTC +from datetime import datetime from multiprocessing import cpu_count from pathlib import Path, PosixPath from re import sub @@ -546,7 +545,7 @@ def health(cls): reset: int = github_api["rate"]["reset"] remaining: int = github_api["rate"]["remaining"] - reset_time = datetime.datetime.fromtimestamp(reset, UTC).strftime("%Y-%m-%d %H:%M:%S") + reset_time = datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S") if not remaining: health["github"][ diff --git a/pdm.lock b/pdm.lock index 2c30e98..6db1705 100644 --- a/pdm.lock +++ b/pdm.lock @@ -5,7 +5,7 @@ groups = ["default", "dev"] strategy = ["cross_platform", "inherit_metadata"] lock_version = "4.5.0" -content_hash = "sha256:c7e31d27af3cccacf97e9d8ed992e7c280b1fc8a9cf7379fa4b3536d708a5d66" +content_hash = "sha256:8a561a2fa06b9caa8902bd0007d405754788a81f065acd59b1989f48f067fc13" [[metadata.targets]] requires_python = ">=3.9" @@ -1379,6 +1379,16 @@ files = [ {file = "python_socketio-5.11.4.tar.gz", hash = "sha256:8b0b8ff2964b2957c865835e936310190639c00310a47d77321a594d1665355e"}, ] +[[package]] +name = "pytz" +version = "2024.2" +summary = "World timezone definitions, modern and historical" +groups = ["default"] +files = [ + {file = "pytz-2024.2-py2.py3-none-any.whl", hash = "sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725"}, + {file = "pytz-2024.2.tar.gz", hash = "sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a"}, +] + [[package]] name = "requests" version = "2.32.3" From dbdd4f9e2540a515e6e8e8f7b40c107ae1309e89 Mon Sep 17 00:00:00 2001 From: Brandon Marlowe Date: Fri, 15 Nov 2024 18:54:52 -0500 Subject: [PATCH 09/10] going back to the original regardless of deprecation warning --- mmpm/magicmirror/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mmpm/magicmirror/package.py b/mmpm/magicmirror/package.py index 4e419dc..f3abb0f 100644 --- a/mmpm/magicmirror/package.py +++ b/mmpm/magicmirror/package.py @@ -545,7 +545,7 @@ def health(cls): reset: int = github_api["rate"]["reset"] remaining: int = github_api["rate"]["remaining"] - reset_time = datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S") + reset_time = datetime.datetime.utcfromtimestamp(reset).strftime("%Y-%m-%d %H:%M:%S") if not remaining: health["github"][ From b4f615677bd36f84e19a7dc6b51c311c6130ec85 Mon Sep 17 00:00:00 2001 From: Brandon Marlowe Date: Fri, 15 Nov 2024 18:56:55 -0500 Subject: [PATCH 10/10] im an idiot --- mmpm/magicmirror/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mmpm/magicmirror/package.py b/mmpm/magicmirror/package.py index f3abb0f..f2f8fdd 100644 --- a/mmpm/magicmirror/package.py +++ b/mmpm/magicmirror/package.py @@ -545,7 +545,7 @@ def health(cls): reset: int = github_api["rate"]["reset"] remaining: int = github_api["rate"]["remaining"] - reset_time = datetime.datetime.utcfromtimestamp(reset).strftime("%Y-%m-%d %H:%M:%S") + reset_time = datetime.utcfromtimestamp(reset).strftime("%Y-%m-%d %H:%M:%S") if not remaining: health["github"][