aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmd/xesite/main.go4
-rw-r--r--internal/lume/lume.go63
-rw-r--r--internal/lume/zip.go68
-rw-r--r--lume/deno.lock878
-rw-r--r--lume/src/_components/BlockQuote.jsx2
-rw-r--r--lume/src/_components/XeblogConv.tsx2
-rw-r--r--lume/src/_includes/base.njk10
-rw-r--r--lume/src/blog/templeos-1-installation-and-basic-use-2019-05-20.md2
-rw-r--r--lume/src/static/favicon/apple-icon-114x114.pngbin10504 -> 0 bytes
-rw-r--r--lume/src/static/favicon/apple-icon-120x120.pngbin11213 -> 0 bytes
-rw-r--r--lume/src/static/favicon/apple-icon-144x144.pngbin13978 -> 0 bytes
-rw-r--r--lume/src/static/favicon/apple-icon-152x152.pngbin14834 -> 0 bytes
-rw-r--r--lume/src/static/favicon/apple-icon-57x57.pngbin4905 -> 0 bytes
-rw-r--r--lume/src/static/favicon/apple-icon-60x60.pngbin5164 -> 0 bytes
-rw-r--r--lume/src/static/favicon/apple-icon-72x72.pngbin6252 -> 0 bytes
-rw-r--r--lume/src/static/favicon/apple-icon-76x76.pngbin6653 -> 0 bytes
-rw-r--r--lume/src/static/site.webmanifest (renamed from lume/src/static/manifest.json)0
-rw-r--r--lume/src/static/talks/irc-why-it-failed.pdfbin807223 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain.pdfbin2507881 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/001.d.avifbin8872 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/001.d.pngbin21709 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/001.d.webpbin22476 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/002.d.avifbin11664 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/002.d.pngbin25248 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/002.d.webpbin27032 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/003.d.avifbin8406 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/003.d.pngbin20100 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/003.d.webpbin20204 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/004.d.avifbin10328 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/004.d.pngbin27710 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/004.d.webpbin26434 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/005.d.avifbin6407 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/005.d.pngbin16577 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/005.d.webpbin14760 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/006.d.avifbin11291 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/006.d.pngbin31098 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/006.d.webpbin28826 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/007.d.avifbin4205 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/007.d.pngbin14006 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/007.d.webpbin10050 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/008.d.avifbin14297 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/008.d.pngbin56198 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/008.d.webpbin40940 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/009.d.avifbin3225 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/009.d.pngbin7959 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/009.d.webpbin6650 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/010.d.avifbin5929 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/010.d.pngbin21023 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/010.d.webpbin13142 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/011.d.avifbin5204 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/011.d.pngbin13267 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/011.d.webpbin11370 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/012.d.avifbin3826 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/012.d.pngbin21781 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/012.d.webpbin10538 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/013.d.avifbin6551 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/013.d.pngbin16795 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/013.d.webpbin14890 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/014.d.avifbin2514 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/014.d.pngbin6488 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/014.d.webpbin5030 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/015.d.avifbin3910 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/015.d.pngbin10134 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/015.d.webpbin8434 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/016.d.avifbin5260 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/016.d.pngbin9503 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/016.d.webpbin14190 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/017.d.avifbin5466 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/017.d.pngbin14433 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/017.d.webpbin12152 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/018.d.avifbin5260 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/018.d.pngbin9503 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/018.d.webpbin14190 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/019.d.avifbin4924 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/019.d.pngbin12635 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/019.d.webpbin10888 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/020.d.avifbin2613 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/020.d.pngbin6448 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/020.d.webpbin5148 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/021.d.avifbin2322 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/021.d.pngbin5822 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/021.d.webpbin4430 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/022.d.avifbin7490 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/022.d.pngbin17270 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/022.d.webpbin16400 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/023.d.avifbin4916 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/023.d.pngbin12591 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/023.d.webpbin10928 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/024.d.avifbin4184 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/024.d.pngbin11775 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/024.d.webpbin11002 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/025.d.avifbin5822 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/025.d.pngbin15218 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/025.d.webpbin13146 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/026.d.avifbin2101 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/026.d.pngbin5077 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/026.d.webpbin4072 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/027.d.avifbin2781 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/027.d.pngbin7118 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/027.d.webpbin5840 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/028.d.avifbin6141 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/028.d.pngbin13031 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/028.d.webpbin15100 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/029.d.avifbin9617 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/029.d.pngbin38382 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/029.d.webpbin24300 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/030.d.avifbin3403 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/030.d.pngbin6065 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/030.d.webpbin6968 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/031.d.avifbin5828 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/031.d.pngbin14815 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/031.d.webpbin13462 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/032.d.avifbin5484 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/032.d.pngbin14491 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/032.d.webpbin13042 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/033.d.avifbin8520 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/033.d.pngbin20847 -> 0 bytes
-rw-r--r--lume/src/static/talks/nixos-pain/033.d.webpbin25564 -> 0 bytes
-rw-r--r--lume/src/static/talks/pwa-conversion.pdfbin564181 -> 0 bytes
-rw-r--r--lume/src/static/talks/surreal-horror-pam.pdfbin2946997 -> 0 bytes
-rwxr-xr-xlume/src/static/talks/surreal-horror-pam/001.jpegbin103741 -> 0 bytes
-rwxr-xr-xlume/src/static/talks/surreal-horror-pam/002.jpegbin143961 -> 0 bytes
-rwxr-xr-xlume/src/static/talks/surreal-horror-pam/003.jpegbin134749 -> 0 bytes
-rwxr-xr-xlume/src/static/talks/surreal-horror-pam/004.jpegbin169796 -> 0 bytes
-rwxr-xr-xlume/src/static/talks/surreal-horror-pam/005.jpegbin34231 -> 0 bytes
-rwxr-xr-xlume/src/static/talks/surreal-horror-pam/006.jpegbin221437 -> 0 bytes
-rwxr-xr-xlume/src/static/talks/surreal-horror-pam/007.jpegbin133000 -> 0 bytes
-rwxr-xr-xlume/src/static/talks/surreal-horror-pam/008.jpegbin171709 -> 0 bytes
-rwxr-xr-xlume/src/static/talks/surreal-horror-pam/009.jpegbin142490 -> 0 bytes
-rwxr-xr-xlume/src/static/talks/surreal-horror-pam/010.jpegbin85083 -> 0 bytes
-rwxr-xr-xlume/src/static/talks/surreal-horror-pam/011.jpegbin148487 -> 0 bytes
-rwxr-xr-xlume/src/static/talks/surreal-horror-pam/012.jpegbin99204 -> 0 bytes
-rwxr-xr-xlume/src/static/talks/surreal-horror-pam/013.jpegbin162381 -> 0 bytes
-rwxr-xr-xlume/src/static/talks/surreal-horror-pam/014.jpegbin58225 -> 0 bytes
-rwxr-xr-xlume/src/static/talks/surreal-horror-pam/015.jpegbin133489 -> 0 bytes
-rwxr-xr-xlume/src/static/talks/surreal-horror-pam/016.jpegbin89392 -> 0 bytes
-rwxr-xr-xlume/src/static/talks/surreal-horror-pam/017.jpegbin82103 -> 0 bytes
-rwxr-xr-xlume/src/static/talks/surreal-horror-pam/018.jpegbin91810 -> 0 bytes
-rwxr-xr-xlume/src/static/talks/surreal-horror-pam/019.jpegbin147315 -> 0 bytes
-rw-r--r--lume/src/static/talks/thinking-different.pdfbin1096651 -> 0 bytes
-rw-r--r--lume/src/static/talks/wasm-on-the-server-system-calls.pdfbin7270409 -> 0 bytes
-rw-r--r--lume/src/static/tos/TOS_Distro.ISObin17346560 -> 0 bytes
-rw-r--r--lume/src/talks/irc-why-it-failed-2018-05-17.md2
-rw-r--r--lume/src/talks/nixos-pain-2021-11-10.md98
-rw-r--r--lume/src/talks/progressive-webapp-conversion-in-5-minutes-2019-01-28.md2
-rw-r--r--lume/src/talks/surreal-horror-pam-2021-11-09.md40
-rw-r--r--lume/src/talks/thinking-different-2018-11-03.md2
-rw-r--r--lume/src/talks/webassembly-on-the-server-system-calls-2019-05-31.md2
148 files changed, 357 insertions, 818 deletions
diff --git a/cmd/xesite/main.go b/cmd/xesite/main.go
index ff4c92e..daf831e 100644
--- a/cmd/xesite/main.go
+++ b/cmd/xesite/main.go
@@ -109,6 +109,10 @@ func main() {
http.Redirect(w, r, "/blog/xn--ts9h/", http.StatusMovedPermanently)
})
+ mux.HandleFunc("/static/manifest.json", func(w http.ResponseWriter, r *http.Request) {
+ http.Redirect(w, r, "/static/site.webmanifest", http.StatusMovedPermanently)
+ })
+
if *devel {
mux.HandleFunc("/.within/hook/github", func(w http.ResponseWriter, r *http.Request) {
if err := fs.Update(r.Context()); err != nil {
diff --git a/internal/lume/lume.go b/internal/lume/lume.go
index f4fc20b..8188488 100644
--- a/internal/lume/lume.go
+++ b/internal/lume/lume.go
@@ -1,11 +1,13 @@
package lume
import (
+ "archive/zip"
"context"
"encoding/json"
"expvar"
"fmt"
"html/template"
+ "io"
"io/fs"
"log"
"log/slog"
@@ -28,13 +30,9 @@ var (
typstLocation string
dhallToJSONLocation string
- _ fs.FS = (*FS)(nil)
- _ fs.ReadFileFS = (*FS)(nil)
- _ fs.ReadDirFS = (*FS)(nil)
+ _ fs.FS = (*FS)(nil)
opens = metrics.LabelMap{Label: "name"}
- readFiles = metrics.LabelMap{Label: "name"}
- readDirs = metrics.LabelMap{Label: "name"}
builds = expvar.NewInt("gauge_xesite_builds")
updates = expvar.NewInt("gauge_xesite_updates")
updateErrors = expvar.NewInt("gauge_xesite_update_errors")
@@ -59,8 +57,6 @@ func init() {
}
expvar.Publish("gauge_xesite_opens", &opens)
- expvar.Publish("gauge_xesite_read_files", &readFiles)
- expvar.Publish("gauge_xesite_read_dirs", &readDirs)
}
type FS struct {
@@ -72,13 +68,17 @@ type FS struct {
miClient *mi.Client
fs fs.FS
- lock sync.RWMutex
+ lock sync.Mutex
}
func (f *FS) Close() error {
f.lock.Lock()
defer f.lock.Unlock()
+ if cl, ok := f.fs.(io.Closer); ok {
+ cl.Close()
+ }
+
if f.repo != nil {
os.RemoveAll(f.repoDir)
}
@@ -87,34 +87,11 @@ func (f *FS) Close() error {
}
func (f *FS) Open(name string) (fs.File, error) {
- f.lock.RLock()
- defer f.lock.RUnlock()
-
opens.Add(name, 1)
return f.fs.Open(name)
}
-func (f *FS) ReadDir(name string) ([]fs.DirEntry, error) {
- f.lock.RLock()
- defer f.lock.RUnlock()
-
- readDirs.Add(name, 1)
-
- rdfs := f.fs.(fs.ReadDirFS)
- return rdfs.ReadDir(name)
-}
-
-func (f *FS) ReadFile(name string) ([]byte, error) {
- f.lock.RLock()
- defer f.lock.RUnlock()
-
- readFiles.Add(name, 1)
-
- rfs := f.fs.(fs.ReadFileFS)
- return rfs.ReadFile(name)
-}
-
type Options struct {
Development bool
Branch string
@@ -270,12 +247,30 @@ func (f *FS) build(ctx context.Context) error {
return err
}
- f.fs = os.DirFS(destDir)
dur := time.Since(begin)
lastBuildTime.Set(dur.Milliseconds())
slog.Info("built site", "dir", destDir, "time", dur.String())
+ zipLoc := filepath.Join(f.opt.DataDir, "site.zip")
+
+ if err := ZipFolder(filepath.Join(cmd.Dir, "_site"), zipLoc); err != nil {
+ return fmt.Errorf("lume: can't compress site folder: %w", err)
+ }
+
+ if cl, ok := f.fs.(io.Closer); f.fs != nil && ok {
+ if err := cl.Close(); err != nil {
+ slog.Error("failed to close old fs", "err", err)
+ }
+ }
+
+ fs, err := zip.OpenReader(zipLoc)
+ if err != nil {
+ return fmt.Errorf("lume: can't open zip with site content: %w", err)
+ }
+
+ f.fs = fs
+
return nil
}
@@ -348,8 +343,8 @@ func (f *FS) writeConfig() error {
}
func (f *FS) Clacks() []string {
- f.lock.RLock()
- defer f.lock.RUnlock()
+ f.lock.Lock()
+ defer f.lock.Unlock()
return f.conf.ClackSet
}
diff --git a/internal/lume/zip.go b/internal/lume/zip.go
new file mode 100644
index 0000000..b3b331f
--- /dev/null
+++ b/internal/lume/zip.go
@@ -0,0 +1,68 @@
+package lume
+
+import (
+ "archive/zip"
+ "io"
+ "os"
+ "path/filepath"
+)
+
+// ZipFolder takes a source folder and a target zip file name
+// and compresses the folder contents into the zip file
+func ZipFolder(source, target string) error {
+ // Create a zip file
+ fout, err := os.Create(target)
+ if err != nil {
+ return err
+ }
+ defer fout.Close()
+
+ // Create a zip writer
+ w := zip.NewWriter(fout)
+ defer w.Close()
+
+ // Walk through the source folder
+ return filepath.Walk(source, func(path string, info os.FileInfo, err error) error {
+ // Handle errors
+ if err != nil {
+ return err
+ }
+
+ // Skip directories
+ if info.IsDir() {
+ return nil
+ }
+
+ // Open the file
+ file, err := os.Open(path)
+ if err != nil {
+ return err
+ }
+ defer file.Close()
+
+ // Create a header from the file info
+ header, err := zip.FileInfoHeader(info)
+ if err != nil {
+ return err
+ }
+
+ // Set the compression method to deflate
+ header.Method = zip.Deflate
+
+ // Set the header name to the relative path of the file
+ header.Name, err = filepath.Rel(source, path)
+ if err != nil {
+ return err
+ }
+
+ // Create a fout for the file header
+ fout, err := w.CreateHeader(header)
+ if err != nil {
+ return err
+ }
+
+ // Copy the file contents to the writer
+ _, err = io.Copy(fout, file)
+ return err
+ })
+}
diff --git a/lume/deno.lock b/lume/deno.lock
index 4f3d186..99b71e3 100644
--- a/lume/deno.lock
+++ b/lume/deno.lock
@@ -2,8 +2,6 @@
"version": "3",
"packages": {
"specifiers": {
- "npm:@headlessui/react": "npm:@headlessui/react@1.7.17_react@18.2.0_react-dom@18.2.0__react@18.2.0",
- "npm:@heroicons/react": "npm:@heroicons/react@2.0.18_react@18.2.0",
"npm:@mdx-js/mdx@2.3.0": "npm:@mdx-js/mdx@2.3.0",
"npm:@tailwindcss/forms": "npm:@tailwindcss/forms@0.5.6_tailwindcss@3.3.3__postcss@8.4.29",
"npm:@tailwindcss/typography": "npm:@tailwindcss/typography@0.5.10_tailwindcss@3.3.3__postcss@8.4.29",
@@ -20,13 +18,11 @@
"npm:postcss-import@15.1.0": "npm:postcss-import@15.1.0_postcss@8.4.29",
"npm:postcss-nesting@12.0.1": "npm:postcss-nesting@12.0.1_postcss@8.4.29_postcss-selector-parser@6.0.13",
"npm:postcss@8.4.29": "npm:postcss@8.4.29",
- "npm:preact": "npm:preact@10.17.1",
+ "npm:preact": "npm:preact@10.18.1",
"npm:preact-render-to-string@6.2.1": "npm:preact-render-to-string@6.2.1_preact@10.17.1",
"npm:preact@10.17.1": "npm:preact@10.17.1",
- "npm:react": "npm:react@18.2.0",
"npm:react-dom@18.2.0": "npm:react-dom@18.2.0_react@18.2.0",
"npm:react@18.2.0": "npm:react@18.2.0",
- "npm:rehype-mermaidjs": "npm:rehype-mermaidjs@2.0.0",
"npm:rehype-prism-plus": "npm:rehype-prism-plus@1.6.3",
"npm:rehype-raw@7.0.0": "npm:rehype-raw@7.0.0",
"npm:rehype-sanitize@6.0.0": "npm:rehype-sanitize@6.0.0",
@@ -42,46 +38,24 @@
"integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==",
"dependencies": {}
},
- "@babel/runtime@7.23.1": {
- "integrity": "sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==",
+ "@babel/runtime@7.23.2": {
+ "integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==",
"dependencies": {
"regenerator-runtime": "regenerator-runtime@0.14.0"
}
},
- "@braintree/sanitize-url@6.0.4": {
- "integrity": "sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==",
- "dependencies": {}
- },
"@csstools/selector-specificity@3.0.0_postcss-selector-parser@6.0.13": {
"integrity": "sha512-hBI9tfBtuPIi885ZsZ32IMEU/5nlZH/KOVYJCOh7gyMxaVLGmLedYqFN6Ui1LXkI8JlC8IsuC0rF0btcRZKd5g==",
"dependencies": {
"postcss-selector-parser": "postcss-selector-parser@6.0.13"
}
},
- "@fortawesome/fontawesome-free@6.4.2": {
- "integrity": "sha512-m5cPn3e2+FDCOgi1mz0RexTUvvQibBebOUlUlW0+YrMjDTPkiJ6VTKukA1GRsvRw+12KyJndNjj0O4AgTxm2Pg==",
- "dependencies": {}
- },
- "@headlessui/react@1.7.17_react@18.2.0_react-dom@18.2.0__react@18.2.0": {
- "integrity": "sha512-4am+tzvkqDSSgiwrsEpGWqgGo9dz8qU5M3znCkC4PgkpY4HcCZzEDEvozltGGGHIKl9jbXbZPSH5TWn4sWJdow==",
- "dependencies": {
- "client-only": "client-only@0.0.1",
- "react": "react@18.2.0",
- "react-dom": "react-dom@18.2.0_react@18.2.0"
- }
- },
- "@heroicons/react@2.0.18_react@18.2.0": {
- "integrity": "sha512-7TyMjRrZZMBPa+/5Y8lN0iyvUU/01PeMGX2+RE7cQWpEUIcb4QotzUObFkJDejj/HUH4qjP/eQ0gzzKs2f+6Yw==",
- "dependencies": {
- "react": "react@18.2.0"
- }
- },
"@jridgewell/gen-mapping@0.3.3": {
"integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
"dependencies": {
"@jridgewell/set-array": "@jridgewell/set-array@1.1.2",
"@jridgewell/sourcemap-codec": "@jridgewell/sourcemap-codec@1.4.15",
- "@jridgewell/trace-mapping": "@jridgewell/trace-mapping@0.3.19"
+ "@jridgewell/trace-mapping": "@jridgewell/trace-mapping@0.3.20"