diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
index 0b20da7c16..4f82a5d8c6 100644
--- a/.devcontainer/devcontainer.json
+++ b/.devcontainer/devcontainer.json
@@ -13,7 +13,7 @@
"ghcr.io/devcontainers/features/git-lfs:1.2.5": {},
"ghcr.io/jsburckhardt/devcontainer-features/uv:1": {},
"ghcr.io/devcontainers/features/python:1": {
- "version": "3.13"
+ "version": "3.14"
},
"ghcr.io/warrenbuckley/codespace-features/sqlite:1": {}
},
diff --git a/.github/labeler.yml b/.github/labeler.yml
index c940afef0c..64127e50e9 100644
--- a/.github/labeler.yml
+++ b/.github/labeler.yml
@@ -46,7 +46,7 @@ modifies/internal:
- ".gitpod.yml"
- ".markdownlint.yaml"
- ".spectral.yaml"
- - "stylelint.config.ts"
+ - "stylelint.config.*"
- ".yamllint.yaml"
- ".github/**"
- ".gitea/**"
@@ -89,4 +89,4 @@ topic/code-linting:
- ".markdownlint.yaml"
- ".spectral.yaml"
- ".yamllint.yaml"
- - "stylelint.config.ts"
+ - "stylelint.config.*"
diff --git a/.github/workflows/cron-licenses.yml b/.github/workflows/cron-licenses.yml
index c5dd70a1f8..ee1c3e0c75 100644
--- a/.github/workflows/cron-licenses.yml
+++ b/.github/workflows/cron-licenses.yml
@@ -20,7 +20,7 @@ jobs:
- run: make generate-gitignore
timeout-minutes: 40
- name: push translations to repo
- uses: appleboy/git-push-action@v1.0.0
+ uses: appleboy/git-push-action@v1.2.0
with:
author_email: "teabot@gitea.io"
author_name: GiteaBot
diff --git a/.github/workflows/cron-translations.yml b/.github/workflows/cron-translations.yml
index d87ba8b20d..56a30fb5ba 100644
--- a/.github/workflows/cron-translations.yml
+++ b/.github/workflows/cron-translations.yml
@@ -29,7 +29,7 @@ jobs:
- name: update locales
run: ./build/update-locales.sh
- name: push translations to repo
- uses: appleboy/git-push-action@v1.0.0
+ uses: appleboy/git-push-action@v1.2.0
with:
author_email: "teabot@gitea.io"
author_name: GiteaBot
diff --git a/.github/workflows/pull-compliance.yml b/.github/workflows/pull-compliance.yml
index 99ff95e9c6..fb81622bd6 100644
--- a/.github/workflows/pull-compliance.yml
+++ b/.github/workflows/pull-compliance.yml
@@ -39,7 +39,7 @@ jobs:
steps:
- uses: actions/checkout@v6
- uses: astral-sh/setup-uv@v7
- - run: uv python install 3.12
+ - run: uv python install 3.14
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v6
with:
@@ -59,7 +59,7 @@ jobs:
steps:
- uses: actions/checkout@v6
- uses: astral-sh/setup-uv@v7
- - run: uv python install 3.12
+ - run: uv python install 3.14
- run: make deps-py
- run: make lint-yaml
diff --git a/.golangci.yml b/.golangci.yml
index e9b9a03c43..62c1d005fa 100644
--- a/.golangci.yml
+++ b/.golangci.yml
@@ -48,6 +48,10 @@ linters:
desc: do not use the ini package, use gitea's config system instead
- pkg: gitea.com/go-chi/cache
desc: do not use the go-chi cache package, use gitea's cache system
+ - pkg: github.com/pkg/errors
+ desc: use builtin errors package instead
+ - pkg: github.com/go-ap/errors
+ desc: use builtin errors package instead
nolintlint:
allow-unused: false
require-explanation: true
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e3374e14c3..f0d93452ae 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,7 +4,39 @@ This changelog goes through the changes that have been made in each release
without substantial changes to our git log; to see the highlights of what has
been added to each release, please refer to the [blog](https://blog.gitea.com).
-## [1.25.3](https://github.com/go-gitea/gitea/releases/tag/1.25.3) - 2025-12-17
+## [1.25.4](https://github.com/go-gitea/gitea/releases/tag/v1.25.4) - 2026-01-15
+
+* SECURITY
+ * Release attachments must belong to the intended repo (#36347) (#36375)
+ * Fix permission check on org project operations (#36318) (#36373)
+ * Clean watches when make a repository private and check permission when send release emails (#36319) (#36370)
+ * Add more check for stopwatch read or list (#36340) (#36368)
+ * Fix openid setting check (#36346) (#36361)
+ * Fix cancel auto merge bug (#36341) (#36356)
+ * Fix delete attachment check (#36320) (#36355)
+ * LFS locks must belong to the intended repo (#36344) (#36349)
+ * Fix bug on notification read (#36339) #36387
+* ENHANCEMENTS
+ * Add more routes to the "expensive" list (#36290)
+ * Make "commit statuses" API accept slashes in "ref" (#36264) (#36275)
+* BUGFIXES
+ * Fix git http service handling (#36396)
+ * Fix markdown newline handling during IME composition (#36421) (#36424)
+ * Fix missing repository id when migrating release attachments (#36389)
+ * Fix bug when compare in the pull request (#36363) (#36372)
+ * Fix incorrect text content detection (#36364) (#36369)
+ * Fill missing `has_code` in repository api (#36338) (#36359)
+ * Fix notifications pagination query parameters (#36351) (#36358)
+ * Fix some trivial problems (#36336) (#36337)
+ * Prevent panic when GitLab release has more links than sources (#36295) (#36305)
+ * Fix stats bug when syncing release (#36285) (#36294)
+ * Always honor user's choice for "delete branch after merge" (#36281) (#36286)
+ * Use the requested host for LFS links (#36242) (#36258)
+ * Fix panic when get editor config file (#36241) (#36247)
+ * Fix regression in writing authorized principals (#36213) (#36218)
+ * Fix WebAuthn error checking (#36219) (#36235)
+
+## [1.25.3](https://github.com/go-gitea/gitea/releases/tag/v1.25.3) - 2025-12-17
* SECURITY
* Bump toolchain to go1.25.5, misc fixes (#36082)
@@ -31,7 +63,7 @@ been added to each release, please refer to the [blog](https://blog.gitea.com).
* Fix error handling in mailer and wiki services (#36041) (#36053)
* Fix bugs when comparing and creating pull request (#36166) (#36144)
-## [1.25.2](https://github.com/go-gitea/gitea/releases/tag/1.25.2) - 2025-11-23
+## [1.25.2](https://github.com/go-gitea/gitea/releases/tag/v1.25.2) - 2025-11-23
* SECURITY
* Upgrade golang.org/x/crypto to 0.45.0 (#35985) (#35988)
@@ -418,7 +450,7 @@ been added to each release, please refer to the [blog](https://blog.gitea.com).
* Hide href attribute of a tag if there is no target_url (#34556) (#34684)
* Fix tag target (#34781) #34783
-## [1.24.0](https://github.com/go-gitea/gitea/releases/tag/1.24.0) - 2025-05-26
+## [1.24.0](https://github.com/go-gitea/gitea/releases/tag/v1.24.0) - 2025-05-26
* BREAKING
* Make Gitea always use its internal config, ignore `/etc/gitconfig` (#33076)
@@ -788,7 +820,7 @@ been added to each release, please refer to the [blog](https://blog.gitea.com).
* Bump x/net (#32896) (#32900)
* Only activity tab needs heatmap data loading (#34652)
-## [1.23.8](https://github.com/go-gitea/gitea/releases/tag/1.23.8) - 2025-05-11
+## [1.23.8](https://github.com/go-gitea/gitea/releases/tag/v1.23.8) - 2025-05-11
* SECURITY
* Fix a bug when uploading file via lfs ssh command (#34408) (#34411)
@@ -815,7 +847,7 @@ been added to each release, please refer to the [blog](https://blog.gitea.com).
* Bump go version in go.mod (#34160)
* remove hardcoded 'code' string in clone_panel.tmpl (#34153) (#34158)
-## [1.23.7](https://github.com/go-gitea/gitea/releases/tag/1.23.7) - 2025-04-07
+## [1.23.7](https://github.com/go-gitea/gitea/releases/tag/v1.23.7) - 2025-04-07
* Enhancements
* Add a config option to block "expensive" pages for anonymous users (#34024) (#34071)
@@ -913,7 +945,7 @@ been added to each release, please refer to the [blog](https://blog.gitea.com).
* BUGFIXES
* Fix a bug caused by status webhook template #33512
-## [1.23.2](https://github.com/go-gitea/gitea/releases/tag/1.23.2) - 2025-02-04
+## [1.23.2](https://github.com/go-gitea/gitea/releases/tag/v1.23.2) - 2025-02-04
* BREAKING
* Add tests for webhook and fix some webhook bugs (#33396) (#33442)
@@ -3443,7 +3475,7 @@ Key highlights of this release encompass significant changes categorized under `
* Improve decryption failure message (#24573) (#24575)
* Makefile: Use portable !, not GNUish -not, with find(1). (#24565) (#24572)
-## [1.19.3](https://github.com/go-gitea/gitea/releases/tag/1.19.3) - 2023-05-03
+## [1.19.3](https://github.com/go-gitea/gitea/releases/tag/v1.19.3) - 2023-05-03
* SECURITY
* Use golang 1.20.4 to fix CVE-2023-24539, CVE-2023-24540, and CVE-2023-29400
@@ -3456,7 +3488,7 @@ Key highlights of this release encompass significant changes categorized under `
* Fix incorrect CurrentUser check for docker rootless (#24435)
* Getting the tag list does not require being signed in (#24413) (#24416)
-## [1.19.2](https://github.com/go-gitea/gitea/releases/tag/1.19.2) - 2023-04-26
+## [1.19.2](https://github.com/go-gitea/gitea/releases/tag/v1.19.2) - 2023-04-26
* SECURITY
* Require repo scope for PATs for private repos and basic authentication (#24362) (#24364)
@@ -3955,7 +3987,7 @@ Key highlights of this release encompass significant changes categorized under `
* Display attachments of review comment when comment content is blank (#23035) (#23046)
* Return empty url for submodule tree entries (#23043) (#23048)
-## [1.18.4](https://github.com/go-gitea/gitea/releases/tag/1.18.4) - 2023-02-20
+## [1.18.4](https://github.com/go-gitea/gitea/releases/tag/v1.18.4) - 2023-02-20
* SECURITY
* Provide the ability to set password hash algorithm parameters (#22942) (#22943)
@@ -4382,7 +4414,7 @@ Key highlights of this release encompass significant changes categorized under `
* Fix the mode of custom dir to 0700 in docker-rootless (#20861) (#20867)
* Fix UI mis-align for PR commit history (#20845) (#20859)
-## [1.17.1](https://github.com/go-gitea/gitea/releases/tag/1.17.1) - 2022-08-17
+## [1.17.1](https://github.com/go-gitea/gitea/releases/tag/v1.17.1) - 2022-08-17
* SECURITY
* Correctly escape within tribute.js (#20831) (#20832)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 9d696bf6b1..52e4aefb6b 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -80,7 +80,7 @@ The more detailed and specific you are, the faster we can fix the issue. \
It is really helpful if you can reproduce your problem on a site running on the latest commits, i.e. https://example.com/__init__.py\n")
+ for _, header := range ctx.TocHeadingItems {
+ for currentLevel < header.HeadingLevel {
+ _, _ = out.Write(indent)
+ _, _ = htmlutil.HTMLPrint(out, "
\n")
+ currentLevel--
+ }
+ _, _ = htmlutil.HTMLPrint(out, "\n\n")
+}
+
func postProcess(ctx *RenderContext, procs []processor, input io.Reader, output io.Writer) error {
if !ctx.usedByRender && ctx.RenderHelper != nil {
defer ctx.RenderHelper.CleanUp()
@@ -284,6 +329,9 @@ func postProcess(ctx *RenderContext, procs []processor, input io.Reader, output
}
// Render everything to buf.
+ if ctx.TocShowInSection == TocShowInMain && len(ctx.TocHeadingItems) > 0 {
+ RenderTocHeadingItems(ctx, nil, output)
+ }
for _, node := range newNodes {
if err := html.Render(output, node); err != nil {
return fmt.Errorf("markup.postProcess: html.Render: %w", err)
@@ -314,7 +362,7 @@ func visitNode(ctx *RenderContext, procs []processor, node *html.Node) *html.Nod
return node.NextSibling
}
- processNodeAttrID(node)
+ processNodeHeadingAndID(ctx, node)
processFootnoteNode(ctx, node) // FIXME: the footnote processing should be done in the "footnote.go" renderer directly
if isEmojiNode(node) {
diff --git a/modules/markup/html_commit.go b/modules/markup/html_commit.go
index fe7a034967..0a9b329589 100644
--- a/modules/markup/html_commit.go
+++ b/modules/markup/html_commit.go
@@ -16,12 +16,14 @@ import (
)
type anyHashPatternResult struct {
- PosStart int
- PosEnd int
- FullURL string
- CommitID string
- SubPath string
- QueryHash string
+ PosStart int
+ PosEnd int
+ FullURL string
+ CommitID string
+ CommitExt string
+ SubPath string
+ QueryParams string
+ QueryHash string
}
func createCodeLink(href, content, class string) *html.Node {
@@ -56,7 +58,11 @@ func anyHashPatternExtract(s string) (ret anyHashPatternResult, ok bool) {
return ret, false
}
- ret.PosStart, ret.PosEnd = m[0], m[1]
+ pos := 0
+
+ ret.PosStart, ret.PosEnd = m[pos], m[pos+1]
+ pos += 2
+
ret.FullURL = s[ret.PosStart:ret.PosEnd]
if strings.HasSuffix(ret.FullURL, ".") {
// if url ends in '.', it's very likely that it is not part of the actual url but used to finish a sentence.
@@ -67,14 +73,24 @@ func anyHashPatternExtract(s string) (ret anyHashPatternResult, ok bool) {
}
}
- ret.CommitID = s[m[2]:m[3]]
- if m[5] > 0 {
- ret.SubPath = s[m[4]:m[5]]
- }
+ ret.CommitID = s[m[pos]:m[pos+1]]
+ pos += 2
- lastStart, lastEnd := m[len(m)-2], m[len(m)-1]
- if lastEnd > 0 {
- ret.QueryHash = s[lastStart:lastEnd][1:]
+ ret.CommitExt = s[m[pos]:m[pos+1]]
+ pos += 4
+
+ if m[pos] > 0 {
+ ret.SubPath = s[m[pos]:m[pos+1]]
+ }
+ pos += 2
+
+ if m[pos] > 0 {
+ ret.QueryParams = s[m[pos]:m[pos+1]]
+ }
+ pos += 2
+
+ if m[pos] > 0 {
+ ret.QueryHash = s[m[pos]:m[pos+1]][1:]
}
return ret, true
}
@@ -96,6 +112,9 @@ func fullHashPatternProcessor(ctx *RenderContext, node *html.Node) {
continue
}
text := base.ShortSha(ret.CommitID)
+ if ret.CommitExt != "" {
+ text += ret.CommitExt
+ }
if ret.SubPath != "" {
text += ret.SubPath
}
diff --git a/modules/markup/html_link.go b/modules/markup/html_link.go
index 7523ebaed0..1702950da8 100644
--- a/modules/markup/html_link.go
+++ b/modules/markup/html_link.go
@@ -208,7 +208,6 @@ func createDescriptionLink(href, content string) *html.Node {
Attr: []html.Attribute{
{Key: "href", Val: href},
{Key: "target", Val: "_blank"},
- {Key: "rel", Val: "noopener noreferrer"},
},
}
textNode.Parent = linkNode
diff --git a/modules/markup/html_node.go b/modules/markup/html_node.go
index 4eb78fdd2b..f98e7429a2 100644
--- a/modules/markup/html_node.go
+++ b/modules/markup/html_node.go
@@ -6,13 +6,15 @@ package markup
import (
"strings"
+ "code.gitea.io/gitea/modules/markup/common"
+
"golang.org/x/net/html"
)
func isAnchorIDUserContent(s string) bool {
// blackfridayExtRegex is for blackfriday extensions create IDs like fn:user-content-footnote
// old logic: blackfridayExtRegex = regexp.MustCompile(`[^:]*:user-content-`)
- return strings.HasPrefix(s, "user-content-") || strings.Contains(s, ":user-content-")
+ return strings.HasPrefix(s, "user-content-") || strings.Contains(s, ":user-content-") || isAnchorIDFootnote(s)
}
func isAnchorIDFootnote(s string) bool {
@@ -23,16 +25,80 @@ func isAnchorHrefFootnote(s string) bool {
return strings.HasPrefix(s, "#fnref:user-content-") || strings.HasPrefix(s, "#fn:user-content-")
}
-func processNodeAttrID(node *html.Node) {
+// isHeadingTag returns true if the node is a heading tag (h1-h6)
+func isHeadingTag(node *html.Node) bool {
+ return node.Type == html.ElementNode &&
+ len(node.Data) == 2 &&
+ node.Data[0] == 'h' &&
+ node.Data[1] >= '1' && node.Data[1] <= '6'
+}
+
+// getNodeText extracts the text content from a node and its children
+func getNodeText(node *html.Node, cached **string) string {
+ if *cached != nil {
+ return **cached
+ }
+ var text strings.Builder
+ var extractText func(*html.Node)
+ extractText = func(n *html.Node) {
+ if n.Type == html.TextNode {
+ text.WriteString(n.Data)
+ }
+ for c := n.FirstChild; c != nil; c = c.NextSibling {
+ extractText(c)
+ }
+ }
+ extractText(node)
+ textStr := text.String()
+ *cached = &textStr
+ return textStr
+}
+
+func processNodeHeadingAndID(ctx *RenderContext, node *html.Node) {
+ // TODO: handle duplicate IDs, need to track existing IDs in the document
// Add user-content- to IDs and "#" links if they don't already have them,
// and convert the link href to a relative link to the host root
+ attrIDVal := ""
for idx, attr := range node.Attr {
if attr.Key == "id" {
- if !isAnchorIDUserContent(attr.Val) {
- node.Attr[idx].Val = "user-content-" + attr.Val
+ attrIDVal = attr.Val
+ if !isAnchorIDUserContent(attrIDVal) {
+ attrIDVal = "user-content-" + attrIDVal
+ node.Attr[idx].Val = attrIDVal
}
}
}
+
+ if !isHeadingTag(node) || !ctx.RenderOptions.EnableHeadingIDGeneration {
+ return
+ }
+
+ // For heading tags (h1-h6) without an id attribute, generate one from the text content.
+ // This ensures HTML headings like \n")
+ indent = append(indent, ' ', ' ')
+ currentLevel++
+ }
+ for currentLevel > header.HeadingLevel {
+ indent = indent[:len(indent)-2]
+ _, _ = out.Write(indent)
+ _, _ = htmlutil.HTMLPrint(out, "
\n")
+ currentLevel--
+ }
+ _, _ = out.Write(indent)
+ _, _ = htmlutil.HTMLPrintf(out, "Title
get proper permalink anchors
+ // matching the behavior of Markdown headings.
+ // Only enabled for repository files and wiki pages via EnableHeadingIDGeneration option.
+ var nodeTextCached *string
+ if attrIDVal == "" {
+ nodeText := getNodeText(node, &nodeTextCached)
+ if nodeText != "" {
+ // Use the same CleanValue function used by Markdown heading ID generation
+ attrIDVal = string(common.CleanValue([]byte(nodeText)))
+ if attrIDVal != "" {
+ attrIDVal = "user-content-" + attrIDVal
+ node.Attr = append(node.Attr, html.Attribute{Key: "id", Val: attrIDVal})
+ }
+ }
+ }
+ if ctx.TocShowInSection != "" {
+ nodeText := getNodeText(node, &nodeTextCached)
+ if nodeText != "" && attrIDVal != "" {
+ ctx.TocHeadingItems = append(ctx.TocHeadingItems, &TocHeadingItem{
+ HeadingLevel: int(node.Data[1] - '0'),
+ AnchorID: attrIDVal,
+ InnerText: nodeText,
+ })
+ }
+ }
}
func processFootnoteNode(ctx *RenderContext, node *html.Node) {
diff --git a/modules/markup/html_node_test.go b/modules/markup/html_node_test.go
new file mode 100644
index 0000000000..007e3c2a12
--- /dev/null
+++ b/modules/markup/html_node_test.go
@@ -0,0 +1,104 @@
+// Copyright 2024 The Gitea Authors. All rights reserved.
+// SPDX-License-Identifier: MIT
+
+package markup
+
+import (
+ "strings"
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestProcessNodeAttrID_HTMLHeadingWithoutID(t *testing.T) {
+ // Test that HTML headings without id get an auto-generated id from their text content
+ // when EnableHeadingIDGeneration is true (for repo files and wiki pages)
+ testCases := []struct {
+ name string
+ input string
+ expected string
+ }{
+ {
+ name: "h1 without id",
+ input: `Heading without ID
`,
+ expected: `Heading without ID
`,
+ },
+ {
+ name: "h2 without id",
+ input: `Another Heading
`,
+ expected: `Another Heading
`,
+ },
+ {
+ name: "h3 without id",
+ input: `Third Level
`,
+ expected: `Third Level
`,
+ },
+ {
+ name: "h1 with existing id should keep it",
+ input: `Heading with ID
`,
+ expected: `Heading with ID
`,
+ },
+ {
+ name: "h1 with user-content prefix should not double prefix",
+ input: `Already Prefixed
`,
+ expected: `Already Prefixed
`,
+ },
+ {
+ name: "heading with special characters",
+ input: `What is Wine Staging?
`,
+ expected: `What is Wine Staging?
`,
+ },
+ {
+ name: "heading with nested elements",
+ input: `Bold and Italic
`,
+ expected: `Bold and Italic
`,
+ },
+ }
+
+ for _, tc := range testCases {
+ t.Run(tc.name, func(t *testing.T) {
+ var result strings.Builder
+ ctx := NewTestRenderContext().WithEnableHeadingIDGeneration(true)
+ err := PostProcessDefault(ctx, strings.NewReader(tc.input), &result)
+ assert.NoError(t, err)
+ assert.Equal(t, tc.expected, strings.TrimSpace(result.String()))
+ })
+ }
+}
+
+func TestProcessNodeAttrID_SkipHeadingIDForComments(t *testing.T) {
+ // Test that HTML headings in comment-like contexts (issue comments)
+ // do NOT get auto-generated IDs to avoid duplicate IDs on pages with multiple documents.
+ // This is controlled by EnableHeadingIDGeneration which defaults to false.
+ testCases := []struct {
+ name string
+ input string
+ expected string
+ }{
+ {
+ name: "h1 without id in comment context",
+ input: `Heading without ID
`,
+ expected: `Heading without ID
`,
+ },
+ {
+ name: "h2 without id in comment context",
+ input: `Another Heading
`,
+ expected: `Another Heading
`,
+ },
+ {
+ name: "h1 with existing id should still be prefixed",
+ input: `Heading with ID
`,
+ expected: `Heading with ID
`,
+ },
+ }
+
+ for _, tc := range testCases {
+ t.Run(tc.name, func(t *testing.T) {
+ var result strings.Builder
+ // Default context without EnableHeadingIDGeneration (simulates comment rendering)
+ err := PostProcessDefault(NewTestRenderContext(), strings.NewReader(tc.input), &result)
+ assert.NoError(t, err)
+ assert.Equal(t, tc.expected, strings.TrimSpace(result.String()))
+ })
+ }
+}
diff --git a/modules/markup/html_test.go b/modules/markup/html_test.go
index 08b050baae..76013ccd13 100644
--- a/modules/markup/html_test.go
+++ b/modules/markup/html_test.go
@@ -102,6 +102,16 @@ func TestRender_CrossReferences(t *testing.T) {
test(
inputURL,
``)
+
+ inputURL = "https://example.com/repo/owner/archive/0123456789012345678901234567890123456789.tar.gz"
+ test(
+ inputURL,
+ ``)
+
+ inputURL = "https://example.com/owner/repo/commit/0123456789012345678901234567890123456789.patch?key=val"
+ test(
+ inputURL,
+ ``)
}
func TestRender_links(t *testing.T) {
diff --git a/modules/markup/html_toc_test.go b/modules/markup/html_toc_test.go
new file mode 100644
index 0000000000..e93cfc9346
--- /dev/null
+++ b/modules/markup/html_toc_test.go
@@ -0,0 +1,60 @@
+// Copyright 2026 The Gitea Authors. All rights reserved.
+// SPDX-License-Identifier: MIT
+
+package markup_test
+
+import (
+ "regexp"
+ "testing"
+
+ "code.gitea.io/gitea/modules/markup"
+ "code.gitea.io/gitea/modules/markup/markdown"
+ "code.gitea.io/gitea/modules/test"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestToCWithHTML(t *testing.T) {
+ defer test.MockVariableValue(&markup.RenderBehaviorForTesting.DisableAdditionalAttributes, true)()
+
+ t1 := `tag link and Bold`
+ t2 := "code block ``"
+ t3 := "markdown **bold**"
+ input := `---
+include_toc: true
+---
+
+# ` + t1 + `
+## ` + t2 + `
+#### ` + t3 + `
+## last
+`
+
+ renderCtx := markup.NewTestRenderContext().WithEnableHeadingIDGeneration(true)
+ resultHTML, err := markdown.RenderString(renderCtx, input)
+ assert.NoError(t, err)
+ result := string(resultHTML)
+ re := regexp.MustCompile(`(?s)toc
+
+
+
+
+
+
+
+
+ tag link and Bold
+code block
+<a>markdown bold
+last
+`
+ assert.Equal(t, expected, result)
+}
diff --git a/modules/markup/main_test.go b/modules/markup/main_test.go
index 564f55ac11..a8dcff475d 100644
--- a/modules/markup/main_test.go
+++ b/modules/markup/main_test.go
@@ -14,5 +14,7 @@ import (
func TestMain(m *testing.M) {
setting.IsInTesting = true
markup.RenderBehaviorForTesting.DisableAdditionalAttributes = true
+ setting.Markdown.FileNamePatterns = []string{"*.md"}
+ markup.RefreshFileNamePatterns()
os.Exit(m.Run())
}
diff --git a/modules/markup/markdown/goldmark.go b/modules/markup/markdown/goldmark.go
index b28fa9824e..555a171685 100644
--- a/modules/markup/markdown/goldmark.go
+++ b/modules/markup/markdown/goldmark.go
@@ -41,11 +41,10 @@ func (g *ASTTransformer) applyElementDir(n ast.Node) {
// Transform transforms the given AST tree.
func (g *ASTTransformer) Transform(node *ast.Document, reader text.Reader, pc parser.Context) {
firstChild := node.FirstChild()
- tocMode := ""
ctx := pc.Get(renderContextKey).(*markup.RenderContext)
rc := pc.Get(renderConfigKey).(*RenderConfig)
- tocList := make([]Header, 0, 20)
+ tocMode := ""
if rc.yamlNode != nil {
metaNode := rc.toMetaNode(g)
if metaNode != nil {
@@ -60,8 +59,6 @@ func (g *ASTTransformer) Transform(node *ast.Document, reader text.Reader, pc pa
}
switch v := n.(type) {
- case *ast.Heading:
- g.transformHeading(ctx, v, reader, &tocList)
case *ast.Paragraph:
g.applyElementDir(v)
case *ast.List:
@@ -79,19 +76,18 @@ func (g *ASTTransformer) Transform(node *ast.Document, reader text.Reader, pc pa
return ast.WalkContinue, nil
})
- showTocInMain := tocMode == "true" /* old behavior, in main view */ || tocMode == "main"
- showTocInSidebar := !showTocInMain && tocMode != "false" // not hidden, not main, then show it in sidebar
- if len(tocList) > 0 && (showTocInMain || showTocInSidebar) {
- if showTocInMain {
- tocNode := createTOCNode(tocList, rc.Lang, nil)
- node.InsertBefore(node, firstChild, tocNode)
- } else {
- tocNode := createTOCNode(tocList, rc.Lang, map[string]string{"open": "open"})
- ctx.SidebarTocNode = tocNode
+ if ctx.RenderOptions.EnableHeadingIDGeneration {
+ showTocInMain := tocMode == "true" /* old behavior, in main view */ || tocMode == "main"
+ showTocInSidebar := !showTocInMain && tocMode != "false" // not hidden, not main, then show it in sidebar
+ switch {
+ case showTocInMain:
+ ctx.TocShowInSection = markup.TocShowInMain
+ case showTocInSidebar:
+ ctx.TocShowInSection = markup.TocShowInSidebar
}
}
- if len(rc.Lang) > 0 {
+ if rc.Lang != "" {
node.SetAttributeString("lang", []byte(rc.Lang))
}
}
diff --git a/modules/markup/markdown/markdown.go b/modules/markup/markdown/markdown.go
index 3b788432ba..cca44a8774 100644
--- a/modules/markup/markdown/markdown.go
+++ b/modules/markup/markdown/markdown.go
@@ -5,6 +5,7 @@
package markdown
import (
+ "bytes"
"errors"
"html/template"
"io"
@@ -21,10 +22,12 @@ import (
"github.com/yuin/goldmark"
highlighting "github.com/yuin/goldmark-highlighting/v2"
meta "github.com/yuin/goldmark-meta"
+ "github.com/yuin/goldmark/ast"
"github.com/yuin/goldmark/extension"
"github.com/yuin/goldmark/parser"
"github.com/yuin/goldmark/renderer"
"github.com/yuin/goldmark/renderer/html"
+ "github.com/yuin/goldmark/text"
"github.com/yuin/goldmark/util"
)
@@ -57,7 +60,7 @@ func (l *limitWriter) Write(data []byte) (int, error) {
// newParserContext creates a parser.Context with the render context set
func newParserContext(ctx *markup.RenderContext) parser.Context {
- pc := parser.NewContext(parser.WithIDs(newPrefixedIDs()))
+ pc := parser.NewContext()
pc.Set(renderContextKey, ctx)
return pc
}
@@ -101,12 +104,48 @@ func (r *GlodmarkRender) highlightingRenderer(w util.BufWriter, c highlighting.C
}
}
+type goldmarkEmphasisParser struct {
+ parser.InlineParser
+}
+
+func goldmarkNewEmphasisParser() parser.InlineParser {
+ return &goldmarkEmphasisParser{parser.NewEmphasisParser()}
+}
+
+func (s *goldmarkEmphasisParser) Parse(parent ast.Node, block text.Reader, pc parser.Context) ast.Node {
+ line, _ := block.PeekLine()
+ if len(line) > 1 && line[0] == '_' {
+ // a special trick to avoid parsing emphasis in filenames like "module/__init__.py"
+ end := bytes.IndexByte(line[1:], '_')
+ mark := bytes.Index(line, []byte("_.py"))
+ // check whether the "end" matches "_.py" or "__.py"
+ if mark != -1 && (end == mark || end == mark-1) {
+ return nil
+ }
+ }
+ return s.InlineParser.Parse(parent, block, pc)
+}
+
+func goldmarkDefaultParser() parser.Parser {
+ return parser.NewParser(parser.WithBlockParsers(parser.DefaultBlockParsers()...),
+ parser.WithInlineParsers([]util.PrioritizedValue{
+ util.Prioritized(parser.NewCodeSpanParser(), 100),
+ util.Prioritized(parser.NewLinkParser(), 200),
+ util.Prioritized(parser.NewAutoLinkParser(), 300),
+ util.Prioritized(parser.NewRawHTMLParser(), 400),
+ util.Prioritized(goldmarkNewEmphasisParser(), 500),
+ }...),
+ parser.WithParagraphTransformers(parser.DefaultParagraphTransformers()...),
+ )
+}
+
// SpecializedMarkdown sets up the Gitea specific markdown extensions
func SpecializedMarkdown(ctx *markup.RenderContext) *GlodmarkRender {
// TODO: it could use a pool to cache the renderers to reuse them with different contexts
// at the moment it is fast enough (see the benchmarks)
r := &GlodmarkRender{ctx: ctx}
r.goldmarkMarkdown = goldmark.New(
+ goldmark.WithParser(goldmarkDefaultParser()),
goldmark.WithExtensions(
extension.NewTable(extension.WithTableCellAlignMethod(extension.TableCellAlignAttribute)),
extension.Strikethrough,
@@ -131,7 +170,6 @@ func SpecializedMarkdown(ctx *markup.RenderContext) *GlodmarkRender {
),
goldmark.WithParserOptions(
parser.WithAttribute(),
- parser.WithAutoHeadingID(),
parser.WithASTTransformers(util.Prioritized(NewASTTransformer(&ctx.RenderInternal), 10000)),
),
goldmark.WithRendererOptions(html.WithUnsafe()),
@@ -202,30 +240,24 @@ func init() {
markup.RegisterRenderer(Renderer{})
}
-// Renderer implements markup.Renderer
type Renderer struct{}
var _ markup.PostProcessRenderer = (*Renderer)(nil)
-// Name implements markup.Renderer
func (Renderer) Name() string {
return MarkupName
}
-// NeedPostProcess implements markup.PostProcessRenderer
func (Renderer) NeedPostProcess() bool { return true }
-// Extensions implements markup.Renderer
-func (Renderer) Extensions() []string {
- return setting.Markdown.FileExtensions
+func (Renderer) FileNamePatterns() []string {
+ return setting.Markdown.FileNamePatterns
}
-// SanitizerRules implements markup.Renderer
func (Renderer) SanitizerRules() []setting.MarkupSanitizerRule {
return []setting.MarkupSanitizerRule{}
}
-// Render implements markup.Renderer
func (Renderer) Render(ctx *markup.RenderContext, input io.Reader, output io.Writer) error {
return render(ctx, input, output)
}
diff --git a/modules/markup/markdown/markdown_test.go b/modules/markup/markdown/markdown_test.go
index 4eb01bcc2d..47b293e1e9 100644
--- a/modules/markup/markdown/markdown_test.go
+++ b/modules/markup/markdown/markdown_test.go
@@ -88,6 +88,7 @@ func TestRender_Images(t *testing.T) {
}
func TestTotal_RenderString(t *testing.T) {
+ setting.AppURL = AppURL
defer test.MockVariableValue(&markup.RenderBehaviorForTesting.DisableAdditionalAttributes, true)()
// Test cases without ambiguous links (It is not right to copy a whole file here, instead it should clearly test what is being tested)
@@ -258,7 +259,7 @@ This PR has been generated by [Renovate Bot](https://github.com/renovatebot/reno
},
})
for i := range sameCases {
- line, err := markdown.RenderString(markup.NewTestRenderContext(localMetas), sameCases[i])
+ line, err := markdown.RenderString(markup.NewTestRenderContext(localMetas).WithEnableHeadingIDGeneration(true), sameCases[i])
assert.NoError(t, err)
assert.Equal(t, testAnswers[i], string(line))
}
@@ -545,5 +546,11 @@ func TestMarkdownLink(t *testing.T) {
assert.Equal(t, `
+`, string(result))
+
+ input = "https://example.com/__init__.py"
+ result, err = markdown.RenderString(markup.NewTestRenderContext("/base", localMetas), input)
+ assert.NoError(t, err)
+ assert.Equal(t, `
"); err != nil {
- return ""
- }
-
- return w.String()
+ _ = ctx.RenderInternal.FormatWithSafeAttrs(sb, ``, lang); err != nil {
- return ""
- }
- if lexer == nil {
- if _, err := w.WriteString(html.EscapeString(source)); err != nil {
- return ""
- }
- } else {
- lexer = chroma.Coalesce(lexer)
- if _, err := w.WriteString(string(highlight.CodeFromLexer(lexer, source))); err != nil {
- return ""
- }
- }
- if _, err := w.WriteString("
")
+ return sb.String()
}
w := &orgWriter{rctx: ctx, HTMLWriter: htmlWriter}
diff --git a/modules/markup/render.go b/modules/markup/render.go
index c645749065..5785dc5ad5 100644
--- a/modules/markup/render.go
+++ b/modules/markup/render.go
@@ -4,6 +4,7 @@
package markup
import (
+ "bytes"
"context"
"fmt"
"html/template"
@@ -16,9 +17,9 @@ import (
"code.gitea.io/gitea/modules/htmlutil"
"code.gitea.io/gitea/modules/markup/internal"
"code.gitea.io/gitea/modules/setting"
+ "code.gitea.io/gitea/modules/typesniffer"
"code.gitea.io/gitea/modules/util"
- "github.com/yuin/goldmark/ast"
"golang.org/x/sync/errgroup"
)
@@ -54,6 +55,23 @@ type RenderOptions struct {
// used by external render. the router "/org/repo/render/..." will output the rendered content in a standalone page
InStandalonePage bool
+
+ // EnableHeadingIDGeneration controls whether to auto-generate IDs for HTML headings without id attribute.
+ // This should be enabled for repository files and wiki pages, but disabled for comments to avoid duplicate IDs.
+ EnableHeadingIDGeneration bool
+}
+
+type TocShowInSectionType string
+
+const (
+ TocShowInSidebar TocShowInSectionType = "sidebar"
+ TocShowInMain TocShowInSectionType = "main"
+)
+
+type TocHeadingItem struct {
+ HeadingLevel int
+ AnchorID string
+ InnerText string
}
// RenderContext represents a render context
@@ -63,7 +81,8 @@ type RenderContext struct {
// the context might be used by the "render" function, but it might also be used by "postProcess" function
usedByRender bool
- SidebarTocNode ast.Node
+ TocShowInSection TocShowInSectionType
+ TocHeadingItems []*TocHeadingItem
RenderHelper RenderHelper
RenderOptions RenderOptions
@@ -112,6 +131,11 @@ func (ctx *RenderContext) WithInStandalonePage(v bool) *RenderContext {
return ctx
}
+func (ctx *RenderContext) WithEnableHeadingIDGeneration(v bool) *RenderContext {
+ ctx.RenderOptions.EnableHeadingIDGeneration = v
+ return ctx
+}
+
func (ctx *RenderContext) WithUseAbsoluteLink(v bool) *RenderContext {
ctx.RenderOptions.UseAbsoluteLink = v
return ctx
@@ -122,22 +146,29 @@ func (ctx *RenderContext) WithHelper(helper RenderHelper) *RenderContext {
return ctx
}
-// FindRendererByContext finds renderer by RenderContext
-// TODO: it should be merged with other similar functions like GetRendererByFileName, DetectMarkupTypeByFileName, etc
-func FindRendererByContext(ctx *RenderContext) (Renderer, error) {
+func (ctx *RenderContext) DetectMarkupRenderer(prefetchBuf []byte) Renderer {
if ctx.RenderOptions.MarkupType == "" && ctx.RenderOptions.RelativePath != "" {
- ctx.RenderOptions.MarkupType = DetectMarkupTypeByFileName(ctx.RenderOptions.RelativePath)
- if ctx.RenderOptions.MarkupType == "" {
- return nil, util.NewInvalidArgumentErrorf("unsupported file to render: %q", ctx.RenderOptions.RelativePath)
+ var sniffedType typesniffer.SniffedType
+ if len(prefetchBuf) > 0 {
+ sniffedType = typesniffer.DetectContentType(prefetchBuf)
}
+ ctx.RenderOptions.MarkupType = DetectRendererTypeByPrefetch(ctx.RenderOptions.RelativePath, sniffedType, prefetchBuf)
}
+ return renderers[ctx.RenderOptions.MarkupType]
+}
- renderer := renderers[ctx.RenderOptions.MarkupType]
+func (ctx *RenderContext) DetectMarkupRendererByReader(in io.Reader) (Renderer, io.Reader, error) {
+ prefetchBuf := make([]byte, 512)
+ n, err := util.ReadAtMost(in, prefetchBuf)
+ if err != nil && err != io.EOF {
+ return nil, nil, err
+ }
+ prefetchBuf = prefetchBuf[:n]
+ renderer := ctx.DetectMarkupRenderer(prefetchBuf)
if renderer == nil {
- return nil, util.NewNotExistErrorf("unsupported markup type: %q", ctx.RenderOptions.MarkupType)
+ return nil, nil, util.NewInvalidArgumentErrorf("unable to find a render")
}
-
- return renderer, nil
+ return renderer, io.MultiReader(bytes.NewReader(prefetchBuf), in), nil
}
func RendererNeedPostProcess(renderer Renderer) bool {
@@ -148,12 +179,12 @@ func RendererNeedPostProcess(renderer Renderer) bool {
}
// Render renders markup file to HTML with all specific handling stuff.
-func Render(ctx *RenderContext, input io.Reader, output io.Writer) error {
- renderer, err := FindRendererByContext(ctx)
+func Render(rctx *RenderContext, origInput io.Reader, output io.Writer) error {
+ renderer, input, err := rctx.DetectMarkupRendererByReader(origInput)
if err != nil {
return err
}
- return RenderWithRenderer(ctx, renderer, input, output)
+ return RenderWithRenderer(rctx, renderer, input, output)
}
// RenderString renders Markup string to HTML with all specific handling stuff and return string
@@ -265,12 +296,14 @@ func Init(renderHelpFuncs *RenderHelperFuncs) {
}
// since setting maybe changed extensions, this will reload all renderer extensions mapping
- extRenderers = make(map[string]Renderer)
+ fileNameRenderers = make(map[string]Renderer)
for _, renderer := range renderers {
- for _, ext := range renderer.Extensions() {
- extRenderers[strings.ToLower(ext)] = renderer
+ for _, pattern := range renderer.FileNamePatterns() {
+ fileNameRenderers[pattern] = renderer
}
}
+
+ RefreshFileNamePatterns()
}
func ComposeSimpleDocumentMetas() map[string]string {
diff --git a/modules/markup/renderer.go b/modules/markup/renderer.go
index 82e9348706..c62c28ad2a 100644
--- a/modules/markup/renderer.go
+++ b/modules/markup/renderer.go
@@ -14,8 +14,8 @@ import (
// Renderer defines an interface for rendering markup file to HTML
type Renderer interface {
- Name() string // markup format name
- Extensions() []string
+ Name() string // markup format name, also the renderer type, also the external tool name
+ FileNamePatterns() []string
SanitizerRules() []setting.MarkupSanitizerRule
Render(ctx *RenderContext, input io.Reader, output io.Writer) error
}
@@ -43,26 +43,52 @@ type RendererContentDetector interface {
}
var (
- extRenderers = make(map[string]Renderer)
- renderers = make(map[string]Renderer)
+ fileNameRenderers = make(map[string]Renderer)
+ renderers = make(map[string]Renderer)
)
// RegisterRenderer registers a new markup file renderer
func RegisterRenderer(renderer Renderer) {
+ // TODO: need to handle conflicts
renderers[renderer.Name()] = renderer
- for _, ext := range renderer.Extensions() {
- extRenderers[strings.ToLower(ext)] = renderer
+}
+
+func RefreshFileNamePatterns() {
+ // TODO: need to handle conflicts
+ fileNameRenderers = make(map[string]Renderer)
+ for _, renderer := range renderers {
+ for _, ext := range renderer.FileNamePatterns() {
+ fileNameRenderers[strings.ToLower(ext)] = renderer
+ }
}
}
-// GetRendererByFileName get renderer by filename
-func GetRendererByFileName(filename string) Renderer {
- extension := strings.ToLower(path.Ext(filename))
- return extRenderers[extension]
+func DetectRendererTypeByFilename(filename string) Renderer {
+ basename := path.Base(strings.ToLower(filename))
+ ext1 := path.Ext(basename)
+ if renderer := fileNameRenderers[basename]; renderer != nil {
+ return renderer
+ }
+ if renderer := fileNameRenderers["*"+ext1]; renderer != nil {
+ return renderer
+ }
+ if basename, ok := strings.CutSuffix(basename, ext1); ok {
+ ext2 := path.Ext(basename)
+ if renderer := fileNameRenderers["*"+ext2+ext1]; renderer != nil {
+ return renderer
+ }
+ }
+ return nil
}
-// DetectRendererType detects the markup type of the content
-func DetectRendererType(filename string, sniffedType typesniffer.SniffedType, prefetchBuf []byte) string {
+// DetectRendererTypeByPrefetch detects the markup type of the content
+func DetectRendererTypeByPrefetch(filename string, sniffedType typesniffer.SniffedType, prefetchBuf []byte) string {
+ if filename != "" {
+ byExt := DetectRendererTypeByFilename(filename)
+ if byExt != nil {
+ return byExt.Name()
+ }
+ }
for _, renderer := range renderers {
if detector, ok := renderer.(RendererContentDetector); ok && detector.CanRender(filename, sniffedType, prefetchBuf) {
return renderer.Name()
@@ -71,18 +97,12 @@ func DetectRendererType(filename string, sniffedType typesniffer.SniffedType, pr
return ""
}
-// DetectMarkupTypeByFileName returns the possible markup format type via the filename
-func DetectMarkupTypeByFileName(filename string) string {
- if parser := GetRendererByFileName(filename); parser != nil {
- return parser.Name()
- }
- return ""
-}
-
func PreviewableExtensions() []string {
- extensions := make([]string, 0, len(extRenderers))
- for extension := range extRenderers {
- extensions = append(extensions, extension)
+ exts := make([]string, 0, len(fileNameRenderers))
+ for p := range fileNameRenderers {
+ if s, ok := strings.CutPrefix(p, "*"); ok {
+ exts = append(exts, s)
+ }
}
- return extensions
+ return exts
}
diff --git a/modules/markup/sanitizer_description_test.go b/modules/markup/sanitizer_description_test.go
index ca72491f26..51833414f4 100644
--- a/modules/markup/sanitizer_description_test.go
+++ b/modules/markup/sanitizer_description_test.go
@@ -16,7 +16,7 @@ func TestDescriptionSanitizer(t *testing.T) {
`THUMBS UP`, `THUMBS UP`,
`Hello World`, `Hello World`,
``, strings.ToLower(lexer.Config().Name))
+ _, _ = sb.WriteString(string(highlight.RenderCodeByLexer(lexer, source)))
+ _, _ = sb.WriteString("
`, ``,
- `https://example.com`, `https://example.com`,
+ `https://example.com`, `https://example.com`,
`data`, `data`,
`Important!`, `Important!`,
`Nothing to see here.
Entrer un chemin absolu si vous exécutez Gitea en tant que service.",
"install.reinstall_error": "Vous essayez d'installer dans une base de données Gitea existante",
@@ -344,6 +361,7 @@
"explore.users": "Utilisateurs",
"explore.organizations": "Organisations",
"explore.go_to": "Atteindre",
+ "explore.code": "Code",
"explore.code_last_indexed_at": "Dernière indexation %s",
"explore.relevant_repositories_tooltip": "Les dépôts qui sont des forks ou qui n'ont aucun sujet, aucune icône et aucune description sont cachés.",
"explore.relevant_repositories": "Seuls les dépôts pertinents sont affichés, afficher les résultats non filtrés.",
@@ -391,6 +409,7 @@
"auth.twofa_scratch_token_incorrect": "Votre code de secours est incorrect.",
"auth.twofa_required": "Vous devez configurer l’authentification à deux facteurs pour avoir accès aux dépôts, ou essayer de vous reconnecter.",
"auth.login_userpass": "Connexion",
+ "auth.login_openid": "OpenID",
"auth.oauth_signup_tab": "Créer un compte",
"auth.oauth_signup_title": "Compléter le nouveau compte",
"auth.oauth_signup_submit": "Finaliser la création du compte",
@@ -586,6 +605,7 @@
"user.show_more": "Voir plus",
"user.starred": "Dépôts favoris",
"user.watched": "Dépôts surveillés",
+ "user.code": "Code",
"user.projects": "Projets",
"user.overview": "Vue d'ensemble",
"user.following": "Abonnements",
@@ -617,6 +637,7 @@
"user.block.info_6": "ouvrir ou commenter vos tickets et demandes d’ajouts",
"user.block.info_7": "réagir à vos commentaires dans les tickets ou les demandes d’ajout",
"user.block.user_to_block": "Utilisateur à bloquer",
+ "user.block.note": "Note",
"user.block.note.title": "Note facultative :",
"user.block.note.info": "La note n’est pas visible par l’utilisateur bloqué.",
"user.block.note.edit": "Modifier la note",
@@ -627,14 +648,17 @@
"settings.appearance": "Apparence",
"settings.password": "Mot de passe",
"settings.security": "Sécurité",
+ "settings.avatar": "Avatar",
"settings.ssh_gpg_keys": "Clés SSH / GPG",
"settings.social": "Réseaux Sociaux",
+ "settings.applications": "Applications",
"settings.orgs": "Gérer les organisations",
"settings.repos": "Dépôts",
"settings.delete": "Supprimer le compte",
"settings.twofa": "Authentification à deux facteurs (TOTP)",
"settings.account_link": "Comptes liés",
"settings.organization": "Organisations",
+ "settings.uid": "UID",
"settings.webauthn": "Authentification à deux facteurs (Clés de sécurité)",
"settings.public_profile": "Profil public",
"settings.biography_placeholder": "Parlez-nous un peu de vous ! (Vous pouvez utiliser Markdown)",
@@ -663,6 +687,7 @@
"settings.hidden_comment_types.ref_tooltip": "Commentaires où ce ticket a été référencé sur un autre ticket, révision, etc.",
"settings.hidden_comment_types.issue_ref_tooltip": "Commentaires où l’utilisateur change la branche/étiquette associée au ticket",
"settings.comment_type_group_reference": "Référence",
+ "settings.comment_type_group_label": "Label",
"settings.comment_type_group_milestone": "Jalon",
"settings.comment_type_group_assignee": "Assigné à",
"settings.comment_type_group_title": "Titre",
@@ -915,6 +940,7 @@
"settings.email_notifications.actions.desc": "Notification pour les executions de workflows sur les dépôts configurés avec les Actions Gitea.",
"settings.email_notifications.actions.failure_only": "Ne notifier que pour les exécutions échouées",
"settings.visibility": "Visibilité de l'utilisateur",
+ "settings.visibility.public": "Publique",
"settings.visibility.public_tooltip": "Visible par tout le monde",
"settings.visibility.limited": "Limité",
"settings.visibility.limited_tooltip": "Visible uniquement pour les utilisateurs authentifiés",
@@ -951,11 +977,13 @@
"repo.fork.blocked_user": "Impossible de bifurquer le dépôt car vous êtes bloqué par son propriétaire.",
"repo.use_template": "Utiliser ce modèle",
"repo.open_with_editor": "Ouvrir avec %s",
+ "repo.download_directory_as": "Télécharger le répertoire en tant que %s",
"repo.download_zip": "Télécharger le ZIP",
"repo.download_tar": "Télécharger le TAR.GZ",
"repo.download_bundle": "Télécharger le BUNDLE",
"repo.generate_repo": "Générer un dépôt",
"repo.generate_from": "Générer depuis",
+ "repo.repo_desc": "Description",
"repo.repo_desc_helper": "Décrire brièvement votre dépôt",
"repo.repo_no_desc": "Aucune description fournie",
"repo.repo_lang": "Langue",
@@ -1034,11 +1062,14 @@
"repo.desc.template": "Modèle",
"repo.desc.internal": "Interne",
"repo.desc.archived": "Archivé",
+ "repo.desc.sha256": "SHA256",
"repo.template.items": "Élément du modèle",
"repo.template.git_content": "Contenu Git (branche par défaut)",
"repo.template.git_hooks": "Déclencheurs Git",
"repo.template.git_hooks_tooltip": "Vous ne pouvez actuellement pas modifier ou supprimer les déclencheurs Git ajoutés. Sélectionnez cette option uniquement si vous faites confiance au modèle de dépôt.",
+ "repo.template.webhooks": "Déclencheurs web",
"repo.template.topics": "Sujets",
+ "repo.template.avatar": "Avatar",
"repo.template.issue_labels": "Labels de ticket",
"repo.template.one_item": "Vous devez sélectionner au moins un élément du modèle",
"repo.template.invalid": "Vous devez sélectionner un modèle de dépôt",
@@ -1060,7 +1091,9 @@
"repo.migrate_options_lfs_endpoint.description.local": "Un chemin de serveur local est également pris en charge.",
"repo.migrate_options_lfs_endpoint.placeholder": "Si laissé vide, le point d’accès sera déterminé à partir de l’URL de clonage.",
"repo.migrate_items": "Éléments à migrer",
+ "repo.migrate_items_wiki": "Wiki",
"repo.migrate_items_milestones": "Jalons",
+ "repo.migrate_items_labels": "Labels",
"repo.migrate_items_issues": "Tickets",
"repo.migrate_items_pullrequests": "Demandes d'ajout",
"repo.migrate_items_merge_requests": "Demandes de fusion",
@@ -1129,17 +1162,21 @@
"repo.empty_message": "Ce dépôt n’a pas de contenu.",
"repo.broken_message": "Les données git de ce dépôt ne peuvent pas être lues. Contactez l'administrateur de cette instance ou supprimez ce dépôt.",
"repo.no_branch": "Ce dépôt n’a aucune branche.",
+ "repo.code": "Code",
"repo.code.desc": "Accéder au code source, fichiers, révisions et branches.",
"repo.branch": "Branche",
"repo.tree": "Aborescence",
"repo.clear_ref": "Effacer la référence actuelle",
"repo.filter_branch_and_tag": "Filtrer une branche ou une étiquette",
"repo.find_tag": "Rechercher une étiquette",
+ "repo.branches": "Branches",
"repo.tags": "Étiquettes",
"repo.issues": "Tickets",
"repo.pulls": "Demandes d'ajout",
"repo.projects": "Projets",
"repo.packages": "Paquets",
+ "repo.actions": "Actions",
+ "repo.labels": "Labels",
"repo.org_labels_desc": "Les labels d'une organisation peuvent être utilisés avec tous les dépôts de cette organisation.",
"repo.org_labels_desc_manage": "gérer",
"repo.milestone": "Jalon",
@@ -1149,6 +1186,7 @@
"repo.release": "Publications",
"repo.releases": "Publications",
"repo.tag": "Étiquette",
+ "repo.git_tag": "Étiquette git",
"repo.released_this": "a publié ceci",
"repo.tagged_this": "a étiqueté",
"repo.file.title": "%s sur %s",
@@ -1282,6 +1320,8 @@
"repo.commits.search_branch": "Cette branche",
"repo.commits.search_all": "Toutes les branches",
"repo.commits.author": "Auteur",
+ "repo.commits.message": "Message",
+ "repo.commits.date": "Date",
"repo.commits.older": "Précédemment",
"repo.commits.newer": "Récemment",
"repo.commits.signed_by": "Signé par",
@@ -1306,6 +1346,7 @@
"repo.ext_issues.desc": "Lien vers un gestionnaire de tickets externe.",
"repo.projects.desc": "Gérer les tickets et les demandes d’ajouts dans les projets.",
"repo.projects.description": "Description (facultative)",
+ "repo.projects.description_placeholder": "Description",
"repo.projects.create": "Créer un projet",
"repo.projects.title": "Titre",
"repo.projects.new": "Nouveau projet",
@@ -1350,6 +1391,7 @@
"repo.issues.filter_no_results_placeholder": "Essayez d’ajuster vos filtres de recherche.",
"repo.issues.new": "Nouveau ticket",
"repo.issues.new.title_empty": "Le titre ne peut pas être vide",
+ "repo.issues.new.labels": "Labels",
"repo.issues.new.no_label": "Sans labels",
"repo.issues.new.clear_labels": "Effacer les labels",
"repo.issues.new.projects": "Projets",
@@ -1379,6 +1421,7 @@
"repo.issues.create": "Créer un ticket",
"repo.issues.new_label": "Nouveau label",
"repo.issues.new_label_placeholder": "Nom du label",
+ "repo.issues.new_label_desc_placeholder": "Description",
"repo.issues.create_label": "Créer un label",
"repo.issues.label_templates.title": "Charger un ensemble prédéfini de label",
"repo.issues.label_templates.info": "Il n'existe pas encore de label. Créez-en un avec « Nouveau label » ou utilisez un jeu de label prédéfini :",
@@ -1408,6 +1451,7 @@
"repo.issues.remove_ref_at": "a supprimé la référence %s %s.",
"repo.issues.add_ref_at": "a ajouté la référence %s %s.",
"repo.issues.delete_branch_at": "a supprimé la branche %s %s.",
+ "repo.issues.filter_label": "Label",
"repo.issues.filter_label_exclude": "Utilisez Alt + Clic/entrée pour exclure les labels.",
"repo.issues.filter_label_no_select": "Toutes les labels",
"repo.issues.filter_label_select_no_label": "Aucun label",
@@ -1425,6 +1469,7 @@
"repo.issues.filter_poster": "Auteur",
"repo.issues.filter_user_placeholder": "Rechercher des utilisateurs",
"repo.issues.filter_user_no_select": "Tous les utilisateurs",
+ "repo.issues.filter_type": "Type",
"repo.issues.filter_type.all_issues": "Tous les tickets",
"repo.issues.filter_type.all_pull_requests": "Toutes les demandes d’ajout",
"repo.issues.filter_type.assigned_to_you": "Qui vous sont assignés",
@@ -1447,6 +1492,7 @@
"repo.issues.filter_sort.fewestforks": "Bifurcations (croissant)",
"repo.issues.action_open": "Ouvrir",
"repo.issues.action_close": "Fermer",
+ "repo.issues.action_label": "Label",
"repo.issues.action_milestone": "Jalon",
"repo.issues.action_milestone_no_select": "Aucun jalon",
"repo.issues.action_assignee": "Assigné à",
@@ -1526,6 +1572,7 @@
"repo.issues.label_exclusive_warning": "Tout label d'une portée en conflit sera retiré lors de la modification des labels d’un ticket ou d’une demande d’ajout.",
"repo.issues.label_exclusive_order": "Ordre de tri",
"repo.issues.label_exclusive_order_tooltip": "Les labels exclusifs partageant la même portée seront triées selon cet ordre numérique.",
+ "repo.issues.label_count": "%d label(s)",
"repo.issues.label_open_issues": "%d tickets ouverts",
"repo.issues.label_edit": "Éditer",
"repo.issues.label_delete": "Supprimer",
@@ -1591,6 +1638,7 @@
"repo.issues.del_time_history": "a supprimé son temps de travail %s.",
"repo.issues.add_time_manually": "Temps pointé manuellement",
"repo.issues.add_time_hours": "Heures",
+ "repo.issues.add_time_minutes": "Minutes",
"repo.issues.add_time_sum_to_small": "Aucun minuteur n'a été saisi.",
"repo.issues.time_spent_total": "Temps passé total",
"repo.issues.time_spent_from_all_authors": "Temps passé total : %s",
@@ -1654,6 +1702,7 @@
"repo.issues.review.content.empty": "Vous devez laisser un commentaire indiquant le(s) changement(s) demandé(s).",
"repo.issues.review.reject": "a requis les changements %s",
"repo.issues.review.wait": "a été sollicité pour évaluer cette demande d’ajout %s.",
+ "repo.issues.review.codeowners_rules": "Règles des CODEOWNERS",
"repo.issues.review.add_review_request": "a demandé à %s une évaluation %s.",
"repo.issues.review.remove_review_request": "a retiré la demande d’évaluation pour %s %s.",
"repo.issues.review.remove_review_request_self": "a décliné son invitation à évaluer %s.",
@@ -1685,19 +1734,24 @@
"repo.issues.content_history.created": "a créé",
"repo.issues.content_history.delete_from_history": "Supprimer de l’historique",
"repo.issues.content_history.delete_from_history_confirm": "Supprimer de l’historique ?",
+ "repo.issues.content_history.options": "Options",
"repo.issues.reference_link": "Référence : %s",
+ "repo.compare.compare_base": "base",
"repo.compare.compare_head": "comparer",
+ "repo.compare.title": "Comparer les changements",
+ "repo.compare.description": "Choisissez deux branches ou étiquettes git pour voir les différences ou faire une demande d’ajout.",
"repo.pulls.desc": "Active les demandes d’ajouts et l’évaluation du code.",
"repo.pulls.new": "Nouvelle demande d'ajout",
+ "repo.pulls.new.description": "Discutez et examinez les changements dans cette comparaison.",
"repo.pulls.new.blocked_user": "Impossible de créer une demande d’ajout car vous êtes bloqué par le propriétaire du dépôt.",
"repo.pulls.new.must_collaborator": "Vous devez être un collaborateur pour créer une demande d’ajout.",
+ "repo.pulls.new.already_existed": "Une demande d’ajout entre ces branches existe déjà",
"repo.pulls.edit.already_changed": "Impossible d’enregistrer la demande d’ajout. Il semble que le contenu ait été modifié par un autre utilisateur. Veuillez rafraîchir la page et réessayer afin d’éviter d’écraser leurs modifications.",
"repo.pulls.view": "Voir la demande d'ajout",
"repo.pulls.compare_changes": "Nouvelle demande d’ajout",
"repo.pulls.allow_edits_from_maintainers": "Autoriser les modifications des mainteneurs",
"repo.pulls.allow_edits_from_maintainers_desc": "Les utilisateurs ayant un accès en écriture à la branche de base peuvent également soumettre sur cette branche",
"repo.pulls.allow_edits_from_maintainers_err": "La mise à jour à échoué",
- "repo.pulls.compare_changes_desc": "Sélectionnez la branche dans laquelle fusionner et la branche depuis laquelle tirer les modifications.",
"repo.pulls.has_viewed_file": "Consulté",
"repo.pulls.has_changed_since_last_review": "Modifié depuis votre dernier passage",
"repo.pulls.viewed_files_label": "%[1]d / %[2]d fichiers vus",
@@ -1795,7 +1849,8 @@
"repo.pulls.status_checking": "Certains contrôles sont en attente",
"repo.pulls.status_checks_success": "Tous les contrôles ont réussi",
"repo.pulls.status_checks_warning": "Quelques vérifications ont signalé des avertissements",
- "repo.pulls.status_checks_failure": "Certaines vérifications ont échoué",
+ "repo.pulls.status_checks_failure_required": "Des vérifications obligatoires ont échoué",
+ "repo.pulls.status_checks_failure_optional": "Des vérifications optionnelles ont échoué",
"repo.pulls.status_checks_error": "Quelques vérifications ont signalé des erreurs",
"repo.pulls.status_checks_requested": "Requis",
"repo.pulls.status_checks_details": "Détails",
@@ -1850,6 +1905,7 @@
"repo.milestones.completeness": "%d%% complété",
"repo.milestones.create": "Créer un Jalon",
"repo.milestones.title": "Titre",
+ "repo.milestones.desc": "Description",
"repo.milestones.due_date": "Date d'échéance (facultatif)",
"repo.milestones.clear": "Effacer",
"repo.milestones.invalid_due_date_format": "Le format de la date d'échéance est invalide, il doit être comme suit 'aaaa-mm-jj'.",
@@ -1884,11 +1940,14 @@
"repo.signing.wont_sign.not_signed_in": "Vous n'êtes pas connecté.",
"repo.ext_wiki": "Accès au wiki externe",
"repo.ext_wiki.desc": "Lier un wiki externe.",
+ "repo.wiki": "Wiki",
"repo.wiki.welcome": "Bienvenue sur le Wiki.",
"repo.wiki.welcome_desc": "Le wiki vous permet d'écrire ou de partager de la documentation avec vos collaborateurs.",
"repo.wiki.desc": "Écrire et partager de la documentation avec vos collaborateurs.",
"repo.wiki.create_first_page": "Créer la première page",
+ "repo.wiki.page": "Page",
"repo.wiki.filter_page": "Filtrer la page",
+ "repo.wiki.new_page": "Page",
"repo.wiki.page_title": "Titre de la page",
"repo.wiki.page_content": "Contenu de la page",
"repo.wiki.default_commit_message": "Écrire une note concernant cette mise à jour (optionnel).",
@@ -1903,6 +1962,7 @@
"repo.wiki.delete_page_notice_1": "Supprimer la page de wiki \"%s\" est irréversible. Continuer ?",
"repo.wiki.page_already_exists": "Une page de wiki avec le même nom existe déjà.",
"repo.wiki.reserved_page": "Le nom de page de wiki \"%s\" est réservé.",
+ "repo.wiki.pages": "Pages",
"repo.wiki.last_updated": "Dernière mise à jour: %s",
"repo.wiki.page_name_desc": "Entrez un nom pour cette page Wiki. Certains noms spéciaux sont « Home », « _Sidebar » et « _Footer ».",
"repo.wiki.original_git_entry_tooltip": "Voir le fichier Git original au lieu d'utiliser un lien convivial.",
@@ -1995,6 +2055,7 @@
"repo.settings.collaboration.owner": "Propriétaire",
"repo.settings.collaboration.undefined": "Indéfini",
"repo.settings.collaboration.per_unit": "Permissions de ressource",
+ "repo.settings.hooks": "Déclencheurs web",
"repo.settings.githooks": "Déclencheurs Git",
"repo.settings.basic_settings": "Paramètres de base",
"repo.settings.mirror_settings": "Réglages Miroir",
@@ -2012,6 +2073,7 @@
"repo.settings.mirror_settings.docs.pulling_remote_title": "Tirer depuis un dépôt distant",
"repo.settings.mirror_settings.mirrored_repository": "Dépôt en miroir",
"repo.settings.mirror_settings.pushed_repository": "Dépôt sortant",
+ "repo.settings.mirror_settings.direction": "Sens",
"repo.settings.mirror_settings.direction.pull": "Tirer",
"repo.settings.mirror_settings.direction.push": "Soumission",
"repo.settings.mirror_settings.last_update": "Dernière mise à jour",
@@ -2180,6 +2242,7 @@
"repo.settings.payload_url": "URL cible",
"repo.settings.http_method": "Méthode HTTP",
"repo.settings.content_type": "Type de contenu POST",
+ "repo.settings.secret": "Secret",
"repo.settings.webhook_secret_desc": "Si le serveur webhook supporte l’usage de secrets, vous pouvez indiquer un secret ici en vous basant sur leur documentation.",
"repo.settings.slack_username": "Nom d'utilisateur",
"repo.settings.slack_icon_url": "URL de l'icône",
@@ -2197,6 +2260,7 @@
"repo.settings.event_delete_desc": "Branche ou étiquette supprimée.",
"repo.settings.event_fork": "Bifurcation",
"repo.settings.event_fork_desc": "Dépôt bifurqué.",
+ "repo.settings.event_wiki": "Wiki",
"repo.settings.event_wiki_desc": "Page wiki créée, renommée, modifiée ou supprimée.",
"repo.settings.event_statuses": "Statuts",
"repo.settings.event_statuses_desc": "Statut de validation mis à jour depuis l’API.",
@@ -2262,6 +2326,19 @@
"repo.settings.slack_domain": "Domaine",
"repo.settings.slack_channel": "Canal",
"repo.settings.add_web_hook_desc": "Intégrez %s dans votre dépôt.",
+ "repo.settings.web_hook_name_gitea": "Gitea",
+ "repo.settings.web_hook_name_gogs": "Gogs",
+ "repo.settings.web_hook_name_slack": "Slack",
+ "repo.settings.web_hook_name_discord": "Discord",
+ "repo.settings.web_hook_name_dingtalk": "DingTalk",
+ "repo.settings.web_hook_name_telegram": "Telegram",
+ "repo.settings.web_hook_name_matrix": "Matrix",
+ "repo.settings.web_hook_name_msteams": "Microsoft Teams",
+ "repo.settings.web_hook_name_feishu_or_larksuite": "Suite Feishu / Lark",
+ "repo.settings.web_hook_name_feishu": "Feishu",
+ "repo.settings.web_hook_name_larksuite": "Suite Lark",
+ "repo.settings.web_hook_name_wechatwork": "WeCom (Wechat Work)",
+ "repo.settings.web_hook_name_packagist": "Packagist",
"repo.settings.packagist_username": "Nom d'utilisateur Packagist",
"repo.settings.packagist_api_token": "Jeton API",
"repo.settings.packagist_package_url": "URL du paquet Packagist",
@@ -2279,6 +2356,7 @@
"repo.settings.deploy_key_deletion": "Supprimer une clé de déploiement",
"repo.settings.deploy_key_deletion_desc": "La suppression d’une clé de déploiement révoque son accès à ce dépôt. Continuer ?",
"repo.settings.deploy_key_deletion_success": "La clé de déploiement a été supprimée.",
+ "repo.settings.branches": "Branches",
"repo.settings.protected_branch": "Protection de branche",
"repo.settings.protected_branch.save_rule": "Enregistrer la règle",
"repo.settings.protected_branch.delete_rule": "Supprimer la règle",
@@ -2406,6 +2484,7 @@
"repo.settings.unarchive.success": "Le dépôt a bien été réhabilité.",
"repo.settings.unarchive.error": "Une erreur est survenue en essayant deréhabiliter ce dépôt. Voir le journal pour plus de détails.",
"repo.settings.update_avatar_success": "L'avatar du dépôt a été mis à jour.",
+ "repo.settings.lfs": "LFS",
"repo.settings.lfs_filelist": "Fichiers LFS stockés dans ce dépôt",
"repo.settings.lfs_no_lfs_files": "Aucun fichier LFS stocké dans ce dépôt",
"repo.settings.lfs_findcommits": "Trouver des révisions",
@@ -2425,6 +2504,7 @@
"repo.settings.lfs_force_unlock": "Forcer le déverrouillage",
"repo.settings.lfs_pointers.found": "%d pointeur(s) trouvés : %d associés, %d non associés (%d manquant dans le magasin)",
"repo.settings.lfs_pointers.sha": "SHA du Blob",
+ "repo.settings.lfs_pointers.oid": "OID",
"repo.settings.lfs_pointers.inRepo": "Dans le dépôt",
"repo.settings.lfs_pointers.exists": "Existe en magasin",
"repo.settings.lfs_pointers.accessible": "Accessible à l'utilisateur",
@@ -2438,6 +2518,7 @@
"repo.diff.browse_source": "Parcourir la source",
"repo.diff.parent": "Parent",
"repo.diff.commit": "révision",
+ "repo.diff.git-notes": "Notes",
"repo.diff.data_not_available": "Contenu de la comparaison indisponible",
"repo.diff.options_button": "Option de Diff",
"repo.diff.download_patch": "Télécharger le Fichier Patch",
@@ -2451,6 +2532,7 @@
"repo.diff.whitespace_ignore_at_eol": "Ignorer les blancs en fin de ligne",
"repo.diff.stats_desc": " %d fichiers modifiés avec %d ajouts et %d suppressions",
"repo.diff.stats_desc_file": "%d modifications: %d ajouts et %d suppressions",
+ "repo.diff.bin": "BIN",
"repo.diff.bin_not_shown": "Fichier binaire non affiché.",
"repo.diff.view_file": "Voir le fichier",
"repo.diff.file_before": "Avant",
@@ -2463,8 +2545,8 @@
"repo.diff.too_many_files": "Certains fichiers ne sont pas affichés car ce diff contient trop de modifications",
"repo.diff.show_more": "Voir plus",
"repo.diff.load": "Voir la Diff",
- "repo.diff.generated": "générée",
- "repo.diff.vendored": "externe",
+ "repo.diff.generated": "Générée",
+ "repo.diff.vendored": "Externe",
"repo.diff.comment.add_line_comment": "Commenter cette ligne",
"repo.diff.comment.placeholder": "Laisser un commentaire",
"repo.diff.comment.add_single_comment": "Commenter (simple)",
@@ -2497,6 +2579,7 @@
"repo.release.new_release": "Nouvelle publication",
"repo.release.draft": "Brouillon",
"repo.release.prerelease": "Pré-publication",
+ "repo.release.stable": "Stable",
"repo.release.latest": "Dernière",
"repo.release.compare": "Comparer",
"repo.release.edit": "Éditer",
@@ -2537,6 +2620,13 @@
"repo.release.add_tag": "Créer uniquement l'étiquette",
"repo.release.releases_for": "Publications pour %s",
"repo.release.tags_for": "Étiquettes pour %s",
+ "repo.release.notes": "Notes de publication",
+ "repo.release.generate_notes": "Générer des notes de publication",
+ "repo.release.generate_notes_desc": "Ajoute automatiquement les demandes d’ajouts fusionnées, et ajoute un lien vers la liste des changements pour cette publication.",
+ "repo.release.previous_tag": "Étiquette précédente",
+ "repo.release.generate_notes_tag_not_found": "L’étiquette « %s » n’existe pas dans ce dépôt.",
+ "repo.release.generate_notes_target_not_found": "La cible de la publication « %s » est introuvable.",
+ "repo.release.generate_notes_missing_tag": "Entrez un nom d’étiquette pour générer les notes de publication.",
"repo.branch.name": "Nom de la branche",
"repo.branch.already_exists": "Une branche nommée \"%s\" existe déjà.",
"repo.branch.delete_head": "Supprimer",
@@ -2597,6 +2687,7 @@
"graphs.component_loading_info": "Ça prend son temps…",
"graphs.component_failed_to_load": "Une erreur inattendue s’est produite.",
"graphs.code_frequency.what": "fréquence du code",
+ "graphs.contributors.what": "contributions",
"graphs.recent_commits.what": "révisions récentes",
"org.org_name_holder": "Nom de l'organisation",
"org.org_full_name_holder": "Nom complet de l'organisation",
@@ -2605,11 +2696,14 @@
"org.repo_updated": "Actualisé",
"org.members": "Membres",
"org.teams": "Équipes",
+ "org.code": "Code",
"org.lower_members": "Membres",
"org.lower_repositories": "dépôts",
"org.create_new_team": "Nouvelle équipe",
"org.create_team": "Créer une équipe",
+ "org.org_desc": "Description",
"org.team_name": "Nom de l'équipe",
+ "org.team_desc": "Description",
"org.team_name_helper": "Le nom d'équipe doit être court et mémorable.",
"org.team_desc_helper": "Décrire le but ou le rôle de l’équipe.",
"org.team_access_desc": "Accès au dépôt",
@@ -2634,6 +2728,7 @@
"org.settings.change_visibility_notices_2": "Les non-membres ne pourront plus accéder aux dépôts de l’organisation si la visibilité devient privée.",
"org.settings.change_visibility_success": "La visibilité de l’organisation %s a été modifiée.",
"org.settings.visibility_desc": "Changez qui peut voir l’organisation et ses dépôts.",
+ "org.settings.visibility.public": "Publique",
"org.settings.visibility.limited": "Limité (Visible uniquement aux utilisateurs authentifiés)",
"org.settings.visibility.limited_shortname": "Limité",
"org.settings.visibility.private": "Privé (Visible uniquement aux membres de l’organisation)",
@@ -2738,6 +2833,7 @@
"org.worktime.by_repositories": "Par dépôts",
"org.worktime.by_milestones": "Par jalons",
"org.worktime.by_members": "Par membres",
+ "admin.maintenance": "Maintenance",
"admin.dashboard": "Tableau de bord",
"admin.self_check": "Autodiagnostique",
"admin.identity_access": "Identité et accès",
@@ -2749,6 +2845,7 @@
"admin.integrations": "Intégrations",
"admin.authentication": "Sources d'authentification",
"admin.emails": "Courriels de l’utilisateur",
+ "admin.config": "Configuration",
"admin.config_summary": "Résumé",
"admin.config_settings": "Paramètres",
"admin.notices": "Informations",
@@ -2795,6 +2892,7 @@
"admin.dashboard.git_gc_repos": "Exécuter le ramasse-miette des dépôts",
"admin.dashboard.resync_all_sshkeys": "Mettre à jour le fichier « ssh/authorized_keys » avec les clés SSH Gitea.",
"admin.dashboard.resync_all_sshprincipals": "Mettre à jour le fichier « .ssh/authorized_principals » avec les principaux de Gitea SSH.",
+ "admin.dashboard.resync_all_hooks": "Resynchroniser les déclencheurs git de tous les dépôts (pre-receive, update, post-receive, proc-receive …)",
"admin.dashboard.reinit_missing_repos": "Réinitialiser tous les dépôts Git manquants pour lesquels un enregistrement existe",
"admin.dashboard.sync_external_users": "Synchroniser les données de l’utilisateur externe",
"admin.dashboard.cleanup_hook_task_table": "Nettoyer la table hook_task",
@@ -2852,6 +2950,7 @@
"admin.users.reserved": "Réservé",
"admin.users.bot": "Robot",
"admin.users.remote": "Distant",
+ "admin.users.2fa": "2FA",
"admin.users.repos": "Dépôts",
"admin.users.created": "Créés",
"admin.users.last_login": "Dernière connexion",
@@ -2936,6 +3035,8 @@
"admin.packages.owner": "Propriétaire",
"admin.packages.creator": "Créateur",
"admin.packages.name": "Nom",
+ "admin.packages.version": "Version",
+ "admin.packages.type": "Type",
"admin.packages.repository": "Dépôt",
"admin.packages.size": "Taille",
"admin.packages.published": "Publiés",
@@ -2950,6 +3051,7 @@
"admin.auths.auth_manage_panel": "Gestion des sources d'authentification",
"admin.auths.new": "Ajouter une source d'authentification",
"admin.auths.name": "Nom",
+ "admin.auths.type": "Type",
"admin.auths.enabled": "Activé",
"admin.auths.syncenabled": "Activer la synchronisation des utilisateurs",
"admin.auths.updated": "Mis à jour",
@@ -2958,6 +3060,8 @@
"admin.auths.security_protocol": "Protocole de sécurité",
"admin.auths.domain": "Domaine",
"admin.auths.host": "Hôte",
+ "admin.auths.port": "Port",
+ "admin.auths.bind_dn": "Lien DN",
"admin.auths.bind_password": "Bind mot de passe",
"admin.auths.user_base": "Utilisateur Search Base",
"admin.auths.user_dn": "Utilisateur DN",
@@ -2968,6 +3072,7 @@
"admin.auths.attribute_mail": "Attribut courriel",
"admin.auths.attribute_ssh_public_key": "Attribut clé SSH publique",
"admin.auths.attribute_avatar": "Attribut de l'avatar",
+ "admin.auths.ssh_keys_are_verified": "Les clés SSH du LDAP sont considérées comme vérifiées",
"admin.auths.attributes_in_bind": "Aller chercher les attributs dans le contexte de liaison DN",
"admin.auths.allow_deactivate_all": "Permettre à un résultat de recherche vide de désactiver tous les utilisateurs",
"admin.auths.use_paged_search": "Utiliser la recherche paginée",
@@ -3086,6 +3191,7 @@
"admin.config.ssh_enabled": "Activé",
"admin.config.ssh_start_builtin_server": "Utiliser le serveur incorporé",
"admin.config.ssh_domain": "Domaine du serveur SSH",
+ "admin.config.ssh_port": "Port",
"admin.config.ssh_listen_port": "Port d'écoute",
"admin.config.ssh_root_path": "Emplacement racine",
"admin.config.ssh_minimum_key_size_check": "Vérification de la longueur de clé minimale",
@@ -3095,10 +3201,12 @@
"admin.config.lfs_content_path": "Chemin de contenu LFS",
"admin.config.lfs_http_auth_expiry": "Expiration de l'authentification HTTP LFS",
"admin.config.db_config": "Configuration de la base de données",
+ "admin.config.db_type": "Type",
"admin.config.db_host": "Hôte",
"admin.config.db_name": "Nom",
"admin.config.db_user": "Nom d'utilisateur",
"admin.config.db_schema": "Schéma",
+ "admin.config.db_ssl_mode": "SSL",
"admin.config.db_path": "Emplacement",
"admin.config.service_config": "Configuration du service",
"admin.config.register_email_confirm": "Exiger la confirmation du courriel lors de l’inscription",
@@ -3176,15 +3284,15 @@
"admin.config.git_gc_args": "Arguments de GC",
"admin.config.git_migrate_timeout": "Délai imparti pour une migration",
"admin.config.git_mirror_timeout": "Délai imparti pour mettre à jour le miroir",
- "admin.config.git_clone_timeout": "Délai imparti pour l'opération \"Clone\"",
- "admin.config.git_pull_timeout": "Délai imparti pour l'opération \"Pull\"",
"admin.config.git_gc_timeout": "Délai imparti pour l'opération \"GC\"",
"admin.config.log_config": "Configuration du journal",
+ "admin.config.logger_name_fmt": "Journal : %s",
"admin.config.disabled_logger": "Désactivé",
"admin.config.access_log_mode": "Mode de journalisation d'accès",
"admin.config.access_log_template": "Modèle de journal d'accès",
"admin.config.xorm_log_sql": "Activer la journalisation SQL",
"admin.config.set_setting_failed": "Impossible de définir le paramètre %s",
+ "admin.monitor.stats": "Stats",
"admin.monitor.cron": "Tâches récurrentes",
"admin.monitor.name": "Nom",
"admin.monitor.schedule": "Planification",
@@ -3193,9 +3301,11 @@
"admin.monitor.execute_times": "Exécutions",
"admin.monitor.process": "Processus en cours d'exécution",
"admin.monitor.stacktrace": "Piles d'execution",
+ "admin.monitor.trace": "Trace",
"admin.monitor.performance_logs": "Journaux de performance",
"admin.monitor.processes_count": "%d processus",
"admin.monitor.download_diagnosis_report": "Télécharger le rapport de diagnostic",
+ "admin.monitor.desc": "Description",
"admin.monitor.start": "Heure de démarrage",
"admin.monitor.execute_time": "Heure d'Éxécution",
"admin.monitor.last_execution_result": "Résultat",
@@ -3205,6 +3315,7 @@
"admin.monitor.queues": "Files d'attente",
"admin.monitor.queue": "File d'attente : %s",
"admin.monitor.queue.name": "Nom",
+ "admin.monitor.queue.type": "Type",
"admin.monitor.queue.exemplar": "Type d'exemple",
"admin.monitor.queue.numberworkers": "Nombre de processus",
"admin.monitor.queue.activeworkers": "Processus actifs",
@@ -3228,8 +3339,10 @@
"admin.notices.inverse_selection": "Inverser la sélection",
"admin.notices.delete_selected": "Supprimer les éléments sélectionnés",
"admin.notices.delete_all": "Supprimer toutes les notifications",
+ "admin.notices.type": "Type",
"admin.notices.type_1": "Dépôt",
"admin.notices.type_2": "Tâche",
+ "admin.notices.desc": "Description",
"admin.notices.op": "Opération",
"admin.notices.delete_success": "Les informations systèmes ont été supprimées.",
"admin.self_check.no_problem_found": "Aucun problème trouvé pour l’instant.",
@@ -3274,22 +3387,26 @@
"tool.now": "maintenant",
"tool.future": "futur",
"tool.1s": "1 seconde",
+ "tool.1m": "1 minute",
"tool.1h": "1 heure",
"tool.1d": "1 jour",
"tool.1w": "1 semaine",
"tool.1mon": "1 mois",
"tool.1y": "1 an",
"tool.seconds": "%d secondes",
+ "tool.minutes": "%d minutes",
"tool.hours": "%d heures",
"tool.days": "%d jours",
"tool.weeks": "%d semaines",
"tool.months": "%d mois",
"tool.years": "%d ans",
"tool.raw_seconds": "secondes",
+ "tool.raw_minutes": "minutes",
"dropzone.default_message": "Déposez les fichiers ou cliquez ici pour téléverser.",
"dropzone.invalid_input_type": "Vous ne pouvez pas téléverser des fichiers de ce type.",
"dropzone.file_too_big": "La taille du fichier ({{filesize}} Mo) dépasse la taille maximale ({{maxFilesize}} Mo).",
"dropzone.remove_file": "Supprimer le fichier",
+ "notification.notifications": "Notifications",
"notification.unread": "Non lue(s)",
"notification.read": "Lue(s)",
"notification.no_unread": "Aucune notification non lue.",
@@ -3320,12 +3437,14 @@
"packages.empty.documentation": "Pour plus d'informations sur le registre de paquets, voir la documentation.",
"packages.empty.repo": "Avez-vous téléchargé un paquet, mais il n'est pas affiché ici? Allez dans les paramètres du paquet et liez le à ce dépôt.",
"packages.registry.documentation": "Pour plus d’informations sur le registre %s, voir la documentation.",
+ "packages.filter.type": "Type",
"packages.filter.type.all": "Tous",
"packages.filter.no_result": "Votre filtre n'affiche aucun résultat.",
"packages.filter.container.tagged": "Balisé",
"packages.filter.container.untagged": "Débalisé",
"packages.published_by": "%[1]s publié par %[3]s",
"packages.published_by_in": "%[1]s publié par %[3]s en %[5]s",
+ "packages.installation": "Installation",
"packages.about": "À propos de ce paquet",
"packages.requirements": "Exigences",
"packages.dependencies": "Dépendances",
@@ -3337,18 +3456,24 @@
"packages.details.documentation_site": "Site de documentation",
"packages.details.license": "Licence",
"packages.assets": "Ressources",
+ "packages.versions": "Versions",
"packages.versions.view_all": "Voir tout",
+ "packages.dependency.id": "ID",
+ "packages.dependency.version": "Version",
"packages.search_in_external_registry": "Rechercher dans %s",
"packages.alpine.registry": "Configurez ce registre en ajoutant l’URL dans votre fichier /etc/apk/repositories :",
"packages.alpine.registry.key": "Téléchargez la clé RSA publique du registre dans le dossier /etc/apk/keys/ pour vérifier la signature de l'index :",
"packages.alpine.registry.info": "Choisissez $branch et $repository dans la liste ci-dessous.",
"packages.alpine.install": "Pour installer le paquet, exécutez la commande suivante :",
"packages.alpine.repository": "Informations sur le Dépôt",
+ "packages.alpine.repository.branches": "Branches",
"packages.alpine.repository.repositories": "Dépôts",
+ "packages.alpine.repository.architectures": "Architectures",
"packages.arch.registry": "Ajouter un serveur avec un dépôt et une architecture liés dans /etc/pacman.conf :",
"packages.arch.install": "Synchroniser le paquet avec pacman :",
"packages.arch.repository": "Informations sur le Dépôt",
"packages.arch.repository.repositories": "Dépôts",
+ "packages.arch.repository.architectures": "Architectures",
"packages.cargo.registry": "Configurez ce registre dans le fichier de configuration Cargo (par exemple ~/.cargo/config.toml) :",
"packages.cargo.install": "Pour installer le paquet en utilisant Cargo, exécutez la commande suivante :",
"packages.chef.registry": "Configurer ce registre dans votre fichier ~/.chef/config.rb :",
@@ -3365,9 +3490,11 @@
"packages.container.details.type": "Type d'image",
"packages.container.details.platform": "Plateforme",
"packages.container.pull": "Tirez l'image depuis un terminal :",
+ "packages.container.images": "Images",
"packages.container.digest": "Empreinte",
"packages.container.multi_arch": "SE / Arch",
"packages.container.layers": "Calques d'image",
+ "packages.container.labels": "Labels",
"packages.container.labels.key": "Clé",
"packages.container.labels.value": "Valeur",
"packages.cran.registry": "Configurez ce registre dans le fichier Rprofile.site :",
@@ -3376,7 +3503,9 @@
"packages.debian.registry.info": "Choisissez $distribution et $component dans la liste ci-dessous.",
"packages.debian.install": "Pour installer le paquet, exécutez la commande suivante :",
"packages.debian.repository": "Infos sur le Dépôt",
+ "packages.debian.repository.distributions": "Distributions",
"packages.debian.repository.components": "Composants",
+ "packages.debian.repository.architectures": "Architectures",
"packages.generic.download": "Télécharger le paquet depuis un terminal :",
"packages.go.install": "Installer le paquet à partir de la ligne de commande :",
"packages.helm.registry": "Configurer ce registre à partir d'un terminal :",
@@ -3405,6 +3534,7 @@
"packages.rpm.distros.suse": "sur les distributions basées sur SUSE",
"packages.rpm.install": "Pour installer le paquet, exécutez la commande suivante :",
"packages.rpm.repository": "Informations sur le Dépôt",
+ "packages.rpm.repository.architectures": "Architectures",
"packages.rpm.repository.multiple_groups": "Ce paquet est disponible en plusieurs groupes.",
"packages.rubygems.install": "Pour installer le paquet en utilisant gem, exécutez la commande suivante :",
"packages.rubygems.install2": "ou ajoutez-le au Gemfile :",
@@ -3462,8 +3592,10 @@
"packages.owner.settings.chef.title": "Dépôt Chef",
"packages.owner.settings.chef.keypair": "Générer une paire de clés",
"packages.owner.settings.chef.keypair.description": "Une paire de clés est nécessaire pour s'authentifier au registre Chef. Si vous avez déjà généré une paire de clés, la génération d'une nouvelle paire de clés supprimera l'ancienne.",
+ "secrets.secrets": "Secrets",
"secrets.description": "Les secrets seront transmis à certaines actions et ne pourront pas être lus autrement.",
"secrets.none": "Il n'y a pas encore de secrets.",
+ "secrets.creation.description": "Description",
"secrets.creation.name_placeholder": "Caractères alphanumériques ou tirets bas uniquement, insensibles à la casse, ne peut commencer par GITEA_ ou GITHUB_.",
"secrets.creation.value_placeholder": "Entrez n’importe quoi. Les blancs cernant seront taillés.",
"secrets.creation.description_placeholder": "Décrire brièvement votre dépôt (optionnel).",
@@ -3476,6 +3608,7 @@
"secrets.deletion.success": "Le secret a été supprimé.",
"secrets.deletion.failed": "Impossible de supprimer le secret.",
"secrets.management": "Gestion des Secrets",
+ "actions.actions": "Actions",
"actions.unit.desc": "Gérer les actions",
"actions.status.unknown": "Inconnu",
"actions.status.waiting": "En attente",
@@ -3490,7 +3623,11 @@
"actions.runners.new": "Créer un nouvel exécuteur",
"actions.runners.new_notice": "Comment démarrer un exécuteur",
"actions.runners.status": "Statut",
+ "actions.runners.id": "ID",
"actions.runners.name": "Nom",
+ "actions.runners.owner_type": "Type",
+ "actions.runners.description": "Description",
+ "actions.runners.labels": "Labels",
"actions.runners.last_online": "Dernière fois en ligne",
"actions.runners.runner_title": "Exécuteur",
"actions.runners.task_list": "Tâches récentes sur cet exécuteur",
@@ -3514,6 +3651,7 @@
"actions.runners.status.idle": "Inactif",
"actions.runners.status.active": "Actif",
"actions.runners.status.offline": "Hors-ligne",
+ "actions.runners.version": "Version",
"actions.runners.reset_registration_token": "Réinitialiser le jeton d'enregistrement",
"actions.runners.reset_registration_token_confirm": "Voulez-vous révoquer le jeton actuel et en générer un nouveau ?",
"actions.runners.reset_registration_token_success": "Le jeton d’inscription de l’exécuteur a été réinitialisé avec succès",
@@ -3554,6 +3692,7 @@
"actions.workflow.has_no_workflow_dispatch": "Le flux de travail %s n’a pas de déclencheur d’événement workflow_dispatch.",
"actions.need_approval_desc": "Besoin d’approbation pour exécuter des flux de travail pour une demande d’ajout de bifurcation.",
"actions.approve_all_success": "Tous les flux de travail ont été acceptés.",
+ "actions.variables": "Variables",
"actions.variables.management": "Gestion des variables",
"actions.variables.creation": "Ajouter une variable",
"actions.variables.none": "Il n'y a pas encore de variables.",
@@ -3584,6 +3723,7 @@
"projects.type-3.display_name": "Projet d’organisation",
"projects.enter_fullscreen": "Plein écran",
"projects.exit_fullscreen": "Quitter le plein écran",
+ "git.filemode.changed_filemode": "%[1]s → %[2]s",
"git.filemode.directory": "Dossier",
"git.filemode.normal_file": "Fichier normal",
"git.filemode.executable_file": "Fichier exécutable",
diff --git a/options/locale/locale_ga-IE.json b/options/locale/locale_ga-IE.json
index 679963630a..18bef7188c 100644
--- a/options/locale/locale_ga-IE.json
+++ b/options/locale/locale_ga-IE.json
@@ -32,6 +32,7 @@
"password": "Pasfhocal",
"access_token": "Comhartha Rochtana",
"re_type": "Deimhnigh Pasfhocal",
+ "captcha": "CAPTCHA",
"twofa": "Fíordheimhniú Dhá-Fhachtóir",
"twofa_scratch": "Cód Scratch Dhá-Fhachtóra",
"passcode": "Paschód",
@@ -132,6 +133,7 @@
"confirm_delete_selected": "Deimhnigh chun gach earra roghnaithe a scriosadh?",
"name": "Ainm",
"value": "Luach",
+ "readme": "Léigh-mé",
"filter_title": "Scagaire",
"filter.clear": "Scagaire Soiléir",
"filter.is_archived": "Cartlannaithe",
@@ -229,6 +231,7 @@
"install.db_name": "Ainm Bunachar Sonraí",
"install.db_schema": "Scéim",
"install.db_schema_helper": "Fág bán le haghaidh réamhshocraithe bunachar sonraí (\"poiblí\").",
+ "install.ssl_mode": "SSL",
"install.path": "Cosán",
"install.sqlite_helper": "Conair comhad don bhunachar sonraí SQLite3. Cuir
isteach cosán iomlán má reáchtáil tú Gitea mar sheirbhís.",
"install.reinstall_error": "Tá tú ag iarraidh a shuiteáil i mbunachar sonraí Gitea atá ann cheana",
@@ -406,6 +409,7 @@
"auth.twofa_scratch_token_incorrect": "Tá do chód scratch mícheart.",
"auth.twofa_required": "Ní mór duit fíordheimhniú dhá fhachtóir a shocrú chun rochtain a fháil ar stórtha, nó iarracht a dhéanamh logáil isteach arís.",
"auth.login_userpass": "Sínigh isteach",
+ "auth.login_openid": "OpenID",
"auth.oauth_signup_tab": "Cláraigh Cuntas Nua",
"auth.oauth_signup_title": "Comhlánaigh Cuntas Nua",
"auth.oauth_signup_submit": "Cuntas Comhlánaigh",
@@ -654,6 +658,7 @@
"settings.twofa": "Fíordheimhniú Dhá Fachtóir (TOTP)",
"settings.account_link": "Cuntais Nasctha",
"settings.organization": "Eagraíochtaí",
+ "settings.uid": "UID",
"settings.webauthn": "Fíordheimhniú Dhá-Fachtóir (Eochracha Slándála)",
"settings.public_profile": "Próifíl Phoiblí",
"settings.biography_placeholder": "Inis dúinn beagán fút féin! (Is féidir leat Markdown a úsáid)",
@@ -991,6 +996,7 @@
"repo.multiple_licenses": "Ceadúnais Iolracha",
"repo.object_format": "Formáid Oibiacht",
"repo.object_format_helper": "Formáid oibiacht an stór. Ní féidir é a athrú níos déanaí. Is é SHA1 an comhoiriúnacht is fearr.",
+ "repo.readme": "LÉIGHMÉ",
"repo.readme_helper": "Roghnaigh comhad teimpléad README.",
"repo.readme_helper_desc": "Seo an áit inar féidir leat cur síos iomlán a scríobh do thionscadal.",
"repo.auto_init": "Taisce a thionscnamh (Cuireann sé .gitignore, Ceadúnas agus README)",
@@ -1055,6 +1061,7 @@
"repo.desc.template": "Teimpléad",
"repo.desc.internal": "Inmheánach",
"repo.desc.archived": "Cartlannaithe",
+ "repo.desc.sha256": "SHA256",
"repo.template.items": "Míreanna Teimpléad",
"repo.template.git_content": "Ábhar Git (Brainse Réamhshocraithe)",
"repo.template.git_hooks": "Crúcanna Git",
@@ -1083,6 +1090,7 @@
"repo.migrate_options_lfs_endpoint.description.local": "Tacaítear le cosán freastalaí áitiúil freisin.",
"repo.migrate_options_lfs_endpoint.placeholder": "Mura bhfágtar bán é, díorthófar an críochphointe ón URL clónála.",
"repo.migrate_items": "Míreanna Imirce",
+ "repo.migrate_items_wiki": "Vicí",
"repo.migrate_items_milestones": "Clocha míle",
"repo.migrate_items_labels": "Lipéid",
"repo.migrate_items_issues": "Saincheisteanna",
@@ -1728,8 +1736,11 @@
"repo.issues.reference_link": "Tagairt: %s",
"repo.compare.compare_base": "bonn",
"repo.compare.compare_head": "déan comparáid",
+ "repo.compare.title": "Athruithe a chur i gcomparáid",
+ "repo.compare.description": "Roghnaigh dhá bhrainse nó clib chun a fheiceáil cad atá athraithe nó chun iarratas tarraingthe nua a thosú.",
"repo.pulls.desc": "Cumasaigh iarratais tarraingthe agus athbhreithnithe cód.",
"repo.pulls.new": "Iarratas Tarraingthe Nua",
+ "repo.pulls.new.description": "Pléigh agus athbhreithnigh na hathruithe sa chomparáid seo le daoine eile.",
"repo.pulls.new.blocked_user": "Ní féidir iarratas tarraingthe a chruthú toisc go bhfuil úinéir an stórais bac ort.",
"repo.pulls.new.must_collaborator": "Caithfidh tú a bheith ina chomhoibritheoir chun iarratas tarraingthe a chruthú.",
"repo.pulls.new.already_existed": "Tá iarratas tarraingthe idir na brainsí seo ann cheana féin",
@@ -1739,7 +1750,6 @@
"repo.pulls.allow_edits_from_maintainers": "Ceadaigh eagarthóirí ó chothabhálaí",
"repo.pulls.allow_edits_from_maintainers_desc": "Is féidir le húsáideoirí a bhfuil rochtain scríofa acu ar an mbunbhrainse brú chuig an bhrainse",
"repo.pulls.allow_edits_from_maintainers_err": "Theip ar nuashonrú",
- "repo.pulls.compare_changes_desc": "Roghnaigh an brainse le cumasc isteach agus an brainse le tarraingt uaidh.",
"repo.pulls.has_viewed_file": "Breathnaithe",
"repo.pulls.has_changed_since_last_review": "Athraithe ó d'athbhreithniú deire",
"repo.pulls.viewed_files_label": "Breathnaíodh ar %[1]d / %[2]d comhaid",
@@ -2313,8 +2323,19 @@
"repo.settings.slack_domain": "Fearann",
"repo.settings.slack_channel": "Cainéal",
"repo.settings.add_web_hook_desc": "Comhtháthaigh %s isteach i do stóras.",
+ "repo.settings.web_hook_name_gitea": "Gitea",
+ "repo.settings.web_hook_name_gogs": "Gogs",
+ "repo.settings.web_hook_name_slack": "Slack",
+ "repo.settings.web_hook_name_discord": "Discord",
+ "repo.settings.web_hook_name_dingtalk": "DingTalk",
"repo.settings.web_hook_name_telegram": "Teileagram",
"repo.settings.web_hook_name_matrix": "Maitrís",
+ "repo.settings.web_hook_name_msteams": "Microsoft Teams",
+ "repo.settings.web_hook_name_feishu_or_larksuite": "Feishu / Lark Suite",
+ "repo.settings.web_hook_name_feishu": "Feishu",
+ "repo.settings.web_hook_name_larksuite": "Lark Suite",
+ "repo.settings.web_hook_name_wechatwork": "WeCom (Wechat Work)",
+ "repo.settings.web_hook_name_packagist": "Packagist",
"repo.settings.packagist_username": "Ainm úsáideora Pacagist",
"repo.settings.packagist_api_token": "Comhartha API",
"repo.settings.packagist_package_url": "URL pacáiste Packagist",
@@ -2460,6 +2481,7 @@
"repo.settings.unarchive.success": "Rinneadh an stóras a dhíchartlann go rathúil.",
"repo.settings.unarchive.error": "Tharla earráid agus tú ag iarraidh an stóras a dhíchartlannú. Féach an logáil le haghaidh tuilleadh sonraí.",
"repo.settings.update_avatar_success": "Nuashonraíodh avatar an stóras.",
+ "repo.settings.lfs": "LFS",
"repo.settings.lfs_filelist": "Comhaid LFS a stóráiltear sa stóras seo",
"repo.settings.lfs_no_lfs_files": "Níl aon chomhaid LFS stóráilte sa stóras seo",
"repo.settings.lfs_findcommits": "Aimsigh gealltanais",
@@ -2479,6 +2501,7 @@
"repo.settings.lfs_force_unlock": "Díghlasáil Fórsa",
"repo.settings.lfs_pointers.found": "Fuarthas %d pointeoir(í) bloba — %d gaolmhar, %d neamhghaolmhar (%d ar iarraidh ón stóras)",
"repo.settings.lfs_pointers.sha": "SHA Blob",
+ "repo.settings.lfs_pointers.oid": "OID",
"repo.settings.lfs_pointers.inRepo": "I Stóras",
"repo.settings.lfs_pointers.exists": "Ann sa siopa",
"repo.settings.lfs_pointers.accessible": "Inrochtana don Úsáideoir",
@@ -2844,6 +2867,7 @@
"admin.dashboard.task.finished": "Tasc: Tá %[1]s tosaithe ag %[2]s críochnaithe",
"admin.dashboard.task.unknown": "Tasc anaithnid: %[1]s",
"admin.dashboard.cron.started": "Cron tosaithe: %[1]s",
+ "admin.dashboard.cron.process": "Cron: %[1]s",
"admin.dashboard.cron.cancelled": "Cron: %[1]s cealaithe: %[3]s",
"admin.dashboard.cron.error": "Earráid i gCron: %s: %[3]s",
"admin.dashboard.cron.finished": "Cron: %[1]s críochnaithe",
@@ -2923,6 +2947,7 @@
"admin.users.reserved": "In áirithe",
"admin.users.bot": "Bota",
"admin.users.remote": "Iargúlta",
+ "admin.users.2fa": "2FA",
"admin.users.repos": "Stórais",
"admin.users.created": "Cruthaithe",
"admin.users.last_login": "Sínigh Isteach Deiridh",
@@ -3044,6 +3069,7 @@
"admin.auths.attribute_mail": "Tréith ríomhphoist",
"admin.auths.attribute_ssh_public_key": "Tréith Eochair SSH Phoiblí",
"admin.auths.attribute_avatar": "Tréith Avatar",
+ "admin.auths.ssh_keys_are_verified": "Meastar gur fíoraithe iad eochracha SSH in LDAP",
"admin.auths.attributes_in_bind": "Faigh tréithe i gComhthéacs Bind DN",
"admin.auths.allow_deactivate_all": "Lig do thoradh cuardaigh folamh gach úsáideoir a dhíghníomhachtú",
"admin.auths.use_paged_search": "Úsáid Cuardach Leathanaigh",
@@ -3177,6 +3203,7 @@
"admin.config.db_name": "Ainm",
"admin.config.db_user": "Ainm úsáideora",
"admin.config.db_schema": "Scéim",
+ "admin.config.db_ssl_mode": "SSL",
"admin.config.db_path": "Cosán",
"admin.config.service_config": "Cumraíocht Seirbhíse",
"admin.config.register_email_confirm": "Deimhniú Ríomhphost a éileamh chun Clárú",
@@ -3430,6 +3457,7 @@
"packages.assets": "Sócmhainní",
"packages.versions": "Leaganacha",
"packages.versions.view_all": "Féach ar gach",
+ "packages.dependency.id": "ID",
"packages.dependency.version": "Leagan",
"packages.search_in_external_registry": "Cuardaigh i %s",
"packages.alpine.registry": "Socraigh an clárlann seo tríd an URL a chur i do chomhad /etc/apk/repositories:",
@@ -3594,6 +3622,7 @@
"actions.runners.new": "Cruthaigh reathaí nua",
"actions.runners.new_notice": "Conas reathaí a thosú",
"actions.runners.status": "Stádas",
+ "actions.runners.id": "ID",
"actions.runners.name": "Ainm",
"actions.runners.owner_type": "Cineál",
"actions.runners.description": "Cur síos",
@@ -3693,6 +3722,7 @@
"projects.type-3.display_name": "Tionscadal Eagrúcháin",
"projects.enter_fullscreen": "Lánscáileán",
"projects.exit_fullscreen": "Scoir Lánscáileáin",
+ "git.filemode.changed_filemode": "%[1]s → %[2]s",
"git.filemode.directory": "Eolaire",
"git.filemode.normal_file": "Comhad gnáth",
"git.filemode.executable_file": "Comhad infheidhmithe",
diff --git a/options/locale/locale_tr-TR.json b/options/locale/locale_tr-TR.json
index 4503d13930..c7c85ad1dd 100644
--- a/options/locale/locale_tr-TR.json
+++ b/options/locale/locale_tr-TR.json
@@ -3,6 +3,7 @@
"dashboard": "Pano",
"explore_title": "Keşfet",
"help": "Yardım",
+ "logo": "Logo",
"sign_in": "Giriş Yap",
"sign_in_with_provider": "%s ile oturum aç",
"sign_in_or": "veya",
@@ -31,6 +32,7 @@
"password": "Parola",
"access_token": "Erişim Kodu",
"re_type": "Parolayı Doğrula",
+ "captcha": "CAPTCHA",
"twofa": "İki Aşamalı Doğrulama",
"twofa_scratch": "İki aşamalı kazınmış kod",
"passcode": "Şifre",
@@ -152,6 +154,7 @@
"search.fuzzy_tooltip": "Arama terimine benzeyen sonuçları da içer",
"search.words": "Kelimeler",
"search.words_tooltip": "Sadece arama terimi kelimeleriyle eşleşen sonuçları içer",
+ "search.regexp": "Regexp",
"search.regexp_tooltip": "Sadece regexp arama terimiyle tamamen eşleşen sonuçları içer",
"search.exact": "Tam",
"search.exact_tooltip": "Sadece arama terimiyle tamamen eşleşen sonuçları içer",
@@ -171,7 +174,7 @@
"search.runner_kind": "Çalıştırıcıları ara...",
"search.no_results": "Eşleşen sonuç bulunamadı.",
"search.issue_kind": "Konuları ara...",
- "search.pull_kind": "Değişiklikleri ara...",
+ "search.pull_kind": "Değişiklik isteklerini ara…",
"search.keyword_search_unavailable": "Anahtar kelime ile arama şu an mevcut değil. Lütfen site yöneticinizle iletişime geçin.",
"aria.navbar": "Gezinti Çubuğu",
"aria.footer": "Alt Bilgi",
@@ -184,6 +187,7 @@
"editor.buttons.heading.tooltip": "Başlık ekle",
"editor.buttons.bold.tooltip": "Kalın metin ekle",
"editor.buttons.italic.tooltip": "Eğik metin ekle",
+ "editor.buttons.strikethrough.tooltip": "Üstü çizili metin ekle",
"editor.buttons.quote.tooltip": "Metni alıntıla",
"editor.buttons.code.tooltip": "Kod ekle",
"editor.buttons.link.tooltip": "Bağlantı ekle",
@@ -227,6 +231,7 @@
"install.db_name": "Veritabanı Adı",
"install.db_schema": "Şema",
"install.db_schema_helper": "Veritabanı varsayılanı için boş bırakın (\"genel\").",
+ "install.ssl_mode": "SSL",
"install.path": "Yol",
"install.sqlite_helper": "SQLite3 veritabanı dosya yolu.
Gitea'yı servis olarak çalıştırıyorsanız tam yol adını girin.",
"install.reinstall_error": "Mevcut bir Gitea veritabanına yüklemeye çalışıyorsunuz",
@@ -643,6 +648,7 @@
"settings.appearance": "Görünüm",
"settings.password": "Parola",
"settings.security": "Güvenlik",
+ "settings.avatar": "Avatar",
"settings.ssh_gpg_keys": "SSH / GPG Anahtarları",
"settings.social": "Sosyal Medya Hesapları",
"settings.applications": "Uygulamalar",
@@ -652,6 +658,7 @@
"settings.twofa": "İki Aşamalı Kimlik Doğrulama (TOTP)",
"settings.account_link": "Bağlı Hesaplar",
"settings.organization": "Organizasyonlar",
+ "settings.uid": "UID",
"settings.webauthn": "İki-Aşamalı Kimlik Doğrulama (Güvenlik Anahtarları)",
"settings.public_profile": "Herkese Açık Profil",
"settings.biography_placeholder": "Bize kendiniz hakkında birşeyler söyleyin! (Markdown kullanabilirsiniz)",
@@ -970,6 +977,7 @@
"repo.fork.blocked_user": "Depo çatallanamıyor, depo sahibi tarafından engellenmişsiniz.",
"repo.use_template": "Bu şablonu kullan",
"repo.open_with_editor": "%s ile aç",
+ "repo.download_directory_as": "Dizini %s olarak indir",
"repo.download_zip": "ZIP indir",
"repo.download_tar": "TAR.GZ indir",
"repo.download_bundle": "BUNDLE indir",
@@ -989,6 +997,7 @@
"repo.multiple_licenses": "Çoklu Lisans",
"repo.object_format": "Nesne Biçimi",
"repo.object_format_helper": "Deponun nesne biçimi. Daha sonra değiştirilemez. SHA1 en uyumlu olandır.",
+ "repo.readme": "README",
"repo.readme_helper": "Bir README dosyası şablonu seçin.",
"repo.readme_helper_desc": "Projeniz için eksiksiz bir açıklama yazabileceğiniz yer burasıdır.",
"repo.auto_init": "Depoyu başlat (.gitignore, Lisans ve README dosyalarını ekler)",
@@ -1053,6 +1062,7 @@
"repo.desc.template": "Şablon",
"repo.desc.internal": "Dahili",
"repo.desc.archived": "Arşivlenmiş",
+ "repo.desc.sha256": "SHA256",
"repo.template.items": "Şablon Öğeleri",
"repo.template.git_content": "Git İçeriği (Varsayılan Dal)",
"repo.template.git_hooks": "Git İstemcileri",
@@ -1081,6 +1091,7 @@
"repo.migrate_options_lfs_endpoint.description.local": "Yerel bir sunucu yolu da destekleniyor.",
"repo.migrate_options_lfs_endpoint.placeholder": "Boş bırakılırsa, uç nokta klon URL'sinden türetilecektir",
"repo.migrate_items": "Göç Öğeleri",
+ "repo.migrate_items_wiki": "Viki",
"repo.migrate_items_milestones": "Dönüm noktaları",
"repo.migrate_items_labels": "Etiketler",
"repo.migrate_items_issues": "Konular",
@@ -1175,6 +1186,7 @@
"repo.release": "Sürüm",
"repo.releases": "Sürüm",
"repo.tag": "Etiket",
+ "repo.git_tag": "Git Etiketi",
"repo.released_this": "bu sürümü yayınladı",
"repo.tagged_this": "şunu etiketledi",
"repo.file.title": "%s dalındaki/etiketindeki %s",
@@ -1234,8 +1246,11 @@
"repo.editor.must_be_on_a_branch": "Bu dosyada değişiklik yapmak veya önermek için bir dalda olmalısınız.",
"repo.editor.fork_before_edit": "Bu dosyada değişiklik yapmak veya önermek için depoyu çatallamalısınız.",
"repo.editor.delete_this_file": "Dosyayı Sil",
+ "repo.editor.delete_this_directory": "Dizini Sil",
"repo.editor.must_have_write_access": "Bu dosyada değişiklikler yapmak veya önermek için yazma erişiminizin olması gerekir.",
"repo.editor.file_delete_success": "\"%s\" dosyası silindi.",
+ "repo.editor.directory_delete_success": "\"%s\" dizini silindi.",
+ "repo.editor.delete_directory": "'%s' dizinini sil",
"repo.editor.name_your_file": "Dosyanızı isimlendirin…",
"repo.editor.filename_help": "Bölü ('/') işaretiyle ismini yazarak bir dizin ekleyebilirsiniz. Dizini silmek için girdi sahasının başına backspace yazmalısınız.",
"repo.editor.or": "veya",
@@ -1356,6 +1371,7 @@
"repo.projects.column.new": "Yeni Sütun",
"repo.projects.column.set_default": "Varsayılanı Ayarla",
"repo.projects.column.set_default_desc": "Bu sütunu kategorize edilmemiş konular ve değişiklik istekleri için varsayılan olarak ayarlayın",
+ "repo.projects.column.default_column_hint": "Bu projeye eklenen yeni konular bu sütuna eklenecektir",
"repo.projects.column.delete": "Sutün Sil",
"repo.projects.column.deletion_desc": "Bir proje sütununun silinmesi, ilgili tüm konuları varsayılan sütuna taşır. Devam edilsin mi?",
"repo.projects.column.color": "Renk",
@@ -1474,6 +1490,7 @@
"repo.issues.filter_sort.feweststars": "En az yıldızlılar",
"repo.issues.filter_sort.mostforks": "En çok çatallananlar",
"repo.issues.filter_sort.fewestforks": "En az çatallananlar",
+ "repo.issues.quick_goto": "Konuya Git",
"repo.issues.action_open": "Açık",
"repo.issues.action_close": "Kapat",
"repo.issues.action_label": "Etiket",
@@ -1686,6 +1703,7 @@
"repo.issues.review.content.empty": "İstenen değişiklik(ler)i belirten bir yorum bırakmanız gerekir.",
"repo.issues.review.reject": "%s değişiklik istedi",
"repo.issues.review.wait": "için %s inceleme isteği",
+ "repo.issues.review.codeowners_rules": "CODEOWNERS kuralları",
"repo.issues.review.add_review_request": "%s tarafından %s inceleme istedi",
"repo.issues.review.remove_review_request": "%s %s için inceleme isteği kaldırıldı",
"repo.issues.review.remove_review_request_self": "%s incelemeyi reddetti",
@@ -1721,17 +1739,20 @@
"repo.issues.reference_link": "Referans: %s",
"repo.compare.compare_base": "temel",
"repo.compare.compare_head": "karşılaştır",
+ "repo.compare.title": "Değişiklikleri karşılaştırma",
+ "repo.compare.description": "Değişiklikleri görmek veya yeni bir değişiklik isteği başlatmak için iki dal veya etiket seçin.",
"repo.pulls.desc": "Değişiklik isteklerini ve kod incelemelerini etkinleştir.",
"repo.pulls.new": "Yeni Değişiklik İsteği",
+ "repo.pulls.new.description": "Bu karşılaştırmadaki değişiklikleri başkalarıyla tartışın ve gözden geçirin.",
"repo.pulls.new.blocked_user": "Değişiklik isteği oluşturulamıyor, depo sahibi tarafından engellenmişsiniz.",
"repo.pulls.new.must_collaborator": "Değişiklik isteği oluşturmak için bir katkıcı olmalısınız.",
+ "repo.pulls.new.already_existed": "Bu dallar arasında halihazırda bir değişiklik isteği mevcut",
"repo.pulls.edit.already_changed": "Değişiklik isteğine yapılan değişiklikler kaydedilemiyor. İçerik başka kullanıcı tarafından değiştirilmiş gözüküyor. Diğerlerinin değişikliklerinin üzerine yazmamak için lütfen sayfayı yenileyin ve tekrar düzenlemeye çalışın.",
"repo.pulls.view": "Değişiklik İsteği Görüntüle",
"repo.pulls.compare_changes": "Yeni Değişiklik İsteği",
"repo.pulls.allow_edits_from_maintainers": "Bakımcıların düzenlemelerine izin ver",
"repo.pulls.allow_edits_from_maintainers_desc": "Ana dala yazma hakkı olan kullanıcılar bu dala da gönderebilirler",
"repo.pulls.allow_edits_from_maintainers_err": "Güncelleme başarısız oldu",
- "repo.pulls.compare_changes_desc": "Birleştirmek için hedef ve kaynak dalı seçin.",
"repo.pulls.has_viewed_file": "Görüldü",
"repo.pulls.has_changed_since_last_review": "Son incelemenizden sonra değişti",
"repo.pulls.viewed_files_label": "%[1]d / %[2]d dosya görüldü",
@@ -1775,6 +1796,7 @@
"repo.pulls.remove_prefix": "%s ön ekini kaldır",
"repo.pulls.data_broken": "Bu değişiklik isteği, çatallama bilgilerinin eksik olması nedeniyle bozuldu.",
"repo.pulls.files_conflicted": "Bu değişiklik isteğinde, hedef dalla çakışan değişiklikler var.",
+ "repo.pulls.files_conflicted_no_listed_files": "(Çakışan dosya yok)",
"repo.pulls.is_checking": "Birleştirme çakışması denetleniyor…",
"repo.pulls.is_ancestor": "Bu dal zaten hedef dalda mevcut. Birleştirilecek bir şey yok.",
"repo.pulls.is_empty": "Bu daldaki değişiklikler zaten hedef dalda mevcut. Bu boş bir işleme olacaktır.",
@@ -1829,12 +1851,16 @@
"repo.pulls.status_checking": "Bazı denetlemeler beklemede",
"repo.pulls.status_checks_success": "Tüm denetlemeler başarılı oldu",
"repo.pulls.status_checks_warning": "Bazı kontroller uyarılar bildirdi",
- "repo.pulls.status_checks_failure": "Bazı kontroller başarısız oldu",
+ "repo.pulls.status_checks_failure_required": "Bazı gerekli denetlemeler başarısız oldu",
+ "repo.pulls.status_checks_failure_optional": "Bazı isteğe bağlı denetlemeler başarısız oldu",
"repo.pulls.status_checks_error": "Bazı kontroller hatalar bildirdi",
"repo.pulls.status_checks_requested": "Gerekli",
"repo.pulls.status_checks_details": "Ayrıntılar",
"repo.pulls.status_checks_hide_all": "Tüm denetlemeleri gizle",
"repo.pulls.status_checks_show_all": "Tüm denetlemeleri göster",
+ "repo.pulls.status_checks_approve_all": "Tüm iş akışlarını onayla",
+ "repo.pulls.status_checks_need_approvals": "%d iş akışı onay bekliyor",
+ "repo.pulls.status_checks_need_approvals_helper": "İş akışı ancak depo sahibinin onayı sonrasında çalışabilir.",
"repo.pulls.update_branch": "Dalı birleştirmeyle güncelle",
"repo.pulls.update_branch_rebase": "Dalı yeniden yapılandırmayla güncelle",
"repo.pulls.update_branch_success": "Dal güncellemesi başarıyla gerçekleştirildi",
@@ -1916,6 +1942,7 @@
"repo.signing.wont_sign.not_signed_in": "Oturum açmadınız.",
"repo.ext_wiki": "Harici Vikiye Erişim",
"repo.ext_wiki.desc": "Harici bir wiki'ye bağlantı.",
+ "repo.wiki": "Viki",
"repo.wiki.welcome": "Wiki'ye Hoşgeldiniz.",
"repo.wiki.welcome_desc": "Wiki, katkıcılarla belge yazmanıza ve paylaşmanıza olanak tanır.",
"repo.wiki.desc": "Katkıcılarla belgeler yazın ve paylaşın.",
@@ -2284,6 +2311,9 @@
"repo.settings.event_package": "Paket",
"repo.settings.event_package_desc": "Bir depoda paket oluşturuldu veya silindi.",
"repo.settings.branch_filter": "Dal filtresi",
+ "repo.settings.branch_filter_desc_1": "İtme, dal oluşturma ve dal silme olayları için dal (ve referans adı) izin listesi, glob kalıbı olarak belirtilir. Boş veya * ise, tüm dallar ve etiketler için olaylar raporlanır.",
+ "repo.settings.branch_filter_desc_2": "Tam referans adlarını eşleştirmek için refs/heads/ veya refs/tags/ önekini kullanın.",
+ "repo.settings.branch_filter_desc_doc": "Sözdizimi için %[2]s belgelerine bakın.",
"repo.settings.authorization_header": "Yetkilendirme Başlığı",
"repo.settings.authorization_header_desc": "Mevcutsa isteklere yetkilendirme başlığı olarak eklenecektir. Örnekler: %s.",
"repo.settings.active": "Etkin",
@@ -2298,6 +2328,19 @@
"repo.settings.slack_domain": "Alan Adı",
"repo.settings.slack_channel": "Kanal",
"repo.settings.add_web_hook_desc": "%s web kancasını deponuza ekleyin.",
+ "repo.settings.web_hook_name_gitea": "Gitea",
+ "repo.settings.web_hook_name_gogs": "Gogs",
+ "repo.settings.web_hook_name_slack": "Slack",
+ "repo.settings.web_hook_name_discord": "Discord",
+ "repo.settings.web_hook_name_dingtalk": "DingTalk",
+ "repo.settings.web_hook_name_telegram": "Telegram",
+ "repo.settings.web_hook_name_matrix": "Matrix",
+ "repo.settings.web_hook_name_msteams": "Microsoft Teams",
+ "repo.settings.web_hook_name_feishu_or_larksuite": "Feishu / Lark Suite",
+ "repo.settings.web_hook_name_feishu": "Feishu",
+ "repo.settings.web_hook_name_larksuite": "Lark Suite",
+ "repo.settings.web_hook_name_wechatwork": "WeCom (Wechat Work)",
+ "repo.settings.web_hook_name_packagist": "Packagist",
"repo.settings.packagist_username": "Packagist kullanıcı adı",
"repo.settings.packagist_api_token": "API erişim anahtarı",
"repo.settings.packagist_package_url": "Packagist paket URL'si",
@@ -2443,6 +2486,7 @@
"repo.settings.unarchive.success": "Depo başarıyla arşivden çıkarıldı.",
"repo.settings.unarchive.error": "Depoyu arşivden çıkarmaya çalışırken bir hata oluştu. Daha fazla ayrıntı için günlüğe bakın.",
"repo.settings.update_avatar_success": "Depo resmi güncellendi.",
+ "repo.settings.lfs": "LFS",
"repo.settings.lfs_filelist": "Bu depoda barındırılan LFS dosyaları",
"repo.settings.lfs_no_lfs_files": "Bu depoda barındırılan herhangi bir LFS dosyası yok",
"repo.settings.lfs_findcommits": "İşleme bul",
@@ -2461,6 +2505,8 @@
"repo.settings.lfs_lock_file_no_exist": "Kilitli dosya varsayılan dalda mevcut değil",
"repo.settings.lfs_force_unlock": "Kilidi Açmaya Zorla",
"repo.settings.lfs_pointers.found": "Bulunan %d blob işaretçi(leri) - %d ilişkili, %d ilişkilendirilmemiş (%d mağazadan eksik)",
+ "repo.settings.lfs_pointers.sha": "Blob SHA",
+ "repo.settings.lfs_pointers.oid": "OID",
"repo.settings.lfs_pointers.inRepo": "Depoda",
"repo.settings.lfs_pointers.exists": "Mağazada var",
"repo.settings.lfs_pointers.accessible": "Kullanıcı tarafından erişilebilir",
@@ -2488,6 +2534,7 @@
"repo.diff.whitespace_ignore_at_eol": "Satır sonundaki boşluk değişiklikleri yoksay",
"repo.diff.stats_desc": " %d değiştirilmiş dosya ile %d ekleme ve %d silme",
"repo.diff.stats_desc_file": "%d değişiklik: %d ekleme ve %d silme",
+ "repo.diff.bin": "BIN",
"repo.diff.bin_not_shown": "İkili dosya gösterilmiyor.",
"repo.diff.view_file": "Dosyayı Görüntüle",
"repo.diff.file_before": "Önce",
@@ -2500,8 +2547,8 @@
"repo.diff.too_many_files": "Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor",
"repo.diff.show_more": "Daha Fazla Göster",
"repo.diff.load": "Fark Yükle",
- "repo.diff.generated": "üretilen",
- "repo.diff.vendored": "sağlanmış",
+ "repo.diff.generated": "Üretilen",
+ "repo.diff.vendored": "Sağlanmış",
"repo.diff.comment.add_line_comment": "Satır yorum ekle",
"repo.diff.comment.placeholder": "Yorum Yap",
"repo.diff.comment.add_single_comment": "Bir yorum ekle",
@@ -2575,6 +2622,13 @@
"repo.release.add_tag": "Yalnızca Etiket Oluştur",
"repo.release.releases_for": "%s sürümleri",
"repo.release.tags_for": "%s etiketleri",
+ "repo.release.notes": "Sürüm notları",
+ "repo.release.generate_notes": "Sürüm notlarını oluştur",
+ "repo.release.generate_notes_desc": "Bu sürüm için birleştirilmiş değişiklik isteklerini ve değişiklik günlüğü bağlantısını otomatik olarak ekleyin.",
+ "repo.release.previous_tag": "Önceki etiket",
+ "repo.release.generate_notes_tag_not_found": "Bu depoda \"%s\" etiketi yok.",
+ "repo.release.generate_notes_target_not_found": "\"%s\" sürüm hedefi bulunamadı.",
+ "repo.release.generate_notes_missing_tag": "Sürüm notlarını oluşturmak için bir etiket ismi giriniz.",
"repo.branch.name": "Dal Adı",
"repo.branch.already_exists": "\"%s\" isimli bir dal zaten mevcut.",
"repo.branch.delete_head": "Sil",
@@ -2611,7 +2665,7 @@
"repo.branch.new_branch_from": "\"%s\" dalından yeni dal oluştur",
"repo.branch.renamed": "%s dalının adı %s olarak değiştirildi.",
"repo.branch.rename_default_or_protected_branch_error": "Varsayılan veya korunan dalların adını sadece yöneticiler değiştirebilir.",
- "repo.branch.rename_protected_branch_failed": "Bu dal glob tabanlı koruma kurallarıyla korunuyor.",
+ "repo.branch.rename_protected_branch_failed": "Dal koruma kuralları nedeniyle dalın adı değiştirilemedi.",
"repo.branch.commits_divergence_from": "İşleme farklılığı: %[3]s dalının %[1]d işleme gerisinde ve %[2]d işleme ilerisinde",
"repo.branch.commits_no_divergence": "%[1]s dalı ile aynı",
"repo.tag.create_tag": "%s etiketi oluştur",
@@ -2818,6 +2872,7 @@
"admin.dashboard.task.finished": "Görev: %[1]s %[2]s tarafından başlatıldı ve bitti",
"admin.dashboard.task.unknown": "Bilinmeyen görev: %[1]s",
"admin.dashboard.cron.started": "Cron Başlatıldı: %[1]s",
+ "admin.dashboard.cron.process": "Cron: %[1]s",
"admin.dashboard.cron.cancelled": "Cron: %[1]s iptal edildi: %[3]s",
"admin.dashboard.cron.error": "Cron Hatası: %s: %[3]s",
"admin.dashboard.cron.finished": "Cron: %[1]s bitti",
@@ -2839,6 +2894,7 @@
"admin.dashboard.git_gc_repos": "Tüm depolardaki atıkları temizle",
"admin.dashboard.resync_all_sshkeys": "'.ssh/authority_keys' dosyasını Gitea SSH anahtarlarıyla güncelle",
"admin.dashboard.resync_all_sshprincipals": "'.ssh/authorized_principals' dosyasını Gitea SSH sorumlularıyla güncelleyin",
+ "admin.dashboard.resync_all_hooks": "Tüm depoların git kancalarını yeniden senkronize edin (pre-receive, update, post-receive, proc-receive, ...)",
"admin.dashboard.reinit_missing_repos": "Kayıtları bulunanlar için tüm eksik Git depolarını yeniden başlat",
"admin.dashboard.sync_external_users": "Harici kullanıcı verisini senkronize et",
"admin.dashboard.cleanup_hook_task_table": "Hook_task tablosunu temizle",
@@ -2894,6 +2950,7 @@
"admin.users.admin": "Yönetici",
"admin.users.restricted": "Kısıtlanmış",
"admin.users.reserved": "Rezerve",
+ "admin.users.bot": "Bot",
"admin.users.remote": "Uzak",
"admin.users.2fa": "2FD",
"admin.users.repos": "Depolar",
@@ -3017,6 +3074,7 @@
"admin.auths.attribute_mail": "E-posta Özelliği",
"admin.auths.attribute_ssh_public_key": "Açık SSH Anahtarı Özelliği",
"admin.auths.attribute_avatar": "Avatar Özelliği",
+ "admin.auths.ssh_keys_are_verified": "LDAP'taki SSH anahtarları doğrulanmış kabul ediliyor",
"admin.auths.attributes_in_bind": "Bağlı DN tabanındaki özellikleri çek",
"admin.auths.allow_deactivate_all": "Boş bir arama sonucunun tüm kullanıcıları devre dışı bırakmasına izin ver",
"admin.auths.use_paged_search": "Sayfalı Aramayı Kullan",
@@ -3150,6 +3208,7 @@
"admin.config.db_name": "İsim",
"admin.config.db_user": "Kullanıcı adı",
"admin.config.db_schema": "Şema",
+ "admin.config.db_ssl_mode": "SSL",
"admin.config.db_path": "Yol",
"admin.config.service_config": "Servis Yapılandırması",
"admin.config.register_email_confirm": "Kayıt Olmak İçin E-posta Onayı Gereksin",
@@ -3227,8 +3286,6 @@
"admin.config.git_gc_args": "GC Argümanları",
"admin.config.git_migrate_timeout": "Göç İşlemi Zaman Aşımı",
"admin.config.git_mirror_timeout": "Yansı Güncelleme Zaman Aşımı",
- "admin.config.git_clone_timeout": "Klonlama İşlemi Zaman Aşımı",
- "admin.config.git_pull_timeout": "Çekme İşlemi Zaman Aşımı",
"admin.config.git_gc_timeout": "GC İşlemi Zaman Aşımı",
"admin.config.log_config": "Log Yapılandırması",
"admin.config.logger_name_fmt": "Günlükçü: %s",
@@ -3433,6 +3490,7 @@
"packages.conda.registry": "Bu kütüğü .condarc dosyasında bir Conda deposu olarak ayarlayın:",
"packages.conda.install": "Conda ile paket kurmak için aşağıdaki komutu çalıştırın:",
"packages.container.details.type": "Görüntü Türü",
+ "packages.container.details.platform": "Platform",
"packages.container.pull": "Görüntüyü komut satırını kullanarak çekin:",
"packages.container.images": "Görüntüler",
"packages.container.digest": "Özet",
@@ -3635,6 +3693,7 @@
"actions.workflow.has_workflow_dispatch": "Bu iş akışının workflow_dispatch olay tetikleyicisi var.",
"actions.workflow.has_no_workflow_dispatch": "'%s' iş akışının workflow_dispatch olay tetikleyicisi yok.",
"actions.need_approval_desc": "Değişiklik isteği çatalında iş akışı çalıştırmak için onay gerekiyor.",
+ "actions.approve_all_success": "Tüm iş akışı çalıştırmaları başarıyla onaylandı.",
"actions.variables": "Değişkenler",
"actions.variables.management": "Değişken Yönetimi",
"actions.variables.creation": "Değişken Ekle",
@@ -3652,12 +3711,21 @@
"actions.variables.update.success": "Değişken düzenlendi.",
"actions.logs.always_auto_scroll": "Günlükleri her zaman otomatik kaydır",
"actions.logs.always_expand_running": "Çalıştırma günlüklerini her zaman genişlet",
+ "actions.general": "Genel",
+ "actions.general.enable_actions": "Eylemleri Etkinleştir",
+ "actions.general.collaborative_owners_management": "Ortak Sahiplerin Yönetimi",
+ "actions.general.collaborative_owners_management_help": "Ortak sahip, özel deposu bu deponun eylemlerine ve iş akışlarına erişimi olan bir kullanıcı veya kuruluştur.",
+ "actions.general.add_collaborative_owner": "Ortak Sahip Ekle",
+ "actions.general.collaborative_owner_not_exist": "Ortak sahip mevcut değil.",
+ "actions.general.remove_collaborative_owner": "Ortak Sahip Kaldır",
+ "actions.general.remove_collaborative_owner_desc": "Ortak sahip kaldırıldığında, bu sahibin depoları artık bu depodaki eylemlere erişemez. Devam etmek istiyor musunuz?",
"projects.deleted.display_name": "Silinmiş Proje",
"projects.type-1.display_name": "Kişisel Proje",
"projects.type-2.display_name": "Depo Projesi",
"projects.type-3.display_name": "Organizasyon Projesi",
"projects.enter_fullscreen": "Tam Ekran",
"projects.exit_fullscreen": "Tam Ekrandan Çık",
+ "git.filemode.changed_filemode": "%[1]s → %[2]s",
"git.filemode.directory": "Dizin",
"git.filemode.normal_file": "Normal dosya",
"git.filemode.executable_file": "Çalıştırılabilir dosya",
diff --git a/options/locale/locale_zh-CN.json b/options/locale/locale_zh-CN.json
index 2d031d2d58..661096d165 100644
--- a/options/locale/locale_zh-CN.json
+++ b/options/locale/locale_zh-CN.json
@@ -786,7 +786,7 @@
"settings.gpg_token": "令牌",
"settings.gpg_token_help": "您可以使用以下方式生成签名:",
"settings.gpg_token_signature": "GPG 增强签名",
- "settings.key_signature_gpg_placeholder": "以 '-----BEGIN PGP PUBLIC KEY BLOCK-----' 开头",
+ "settings.key_signature_gpg_placeholder": "以 '-----BEGIN PGP SIGNATURE-----' 开头",
"settings.verify_gpg_key_success": "GPG 密钥「%s」已验证。",
"settings.ssh_key_verified": "已验证的密钥",
"settings.ssh_key_verified_long": "密钥已通过令牌验证,可用于验证与该用户任何已激活邮箱地址匹配的提交。",
@@ -977,6 +977,7 @@
"repo.fork.blocked_user": "无法克隆仓库,因为您被仓库所有者屏蔽。",
"repo.use_template": "使用此模板",
"repo.open_with_editor": "用 %s 打开",
+ "repo.download_directory_as": "下载目录为 %s",
"repo.download_zip": "下载 ZIP",
"repo.download_tar": "下载 TAR.GZ",
"repo.download_bundle": "下载 BUNDLE",
@@ -1370,7 +1371,7 @@
"repo.projects.column.new": "创建列",
"repo.projects.column.set_default": "设为默认",
"repo.projects.column.set_default_desc": "设置此列为未分类问题和合并请求的默认值",
- "repo.projects.column.default_column_hint": "添加到此项目的新议题将被添加到此列",
+ "repo.projects.column.default_column_hint": "添加到此项目的新工单将被添加到此列",
"repo.projects.column.delete": "删除列",
"repo.projects.column.deletion_desc": "删除项目列会将所有相关问题移至默认列。是否继续?",
"repo.projects.column.color": "颜色",
@@ -1489,6 +1490,7 @@
"repo.issues.filter_sort.feweststars": "点赞由少到多",
"repo.issues.filter_sort.mostforks": "派生由多到少",
"repo.issues.filter_sort.fewestforks": "派生由少到多",
+ "repo.issues.quick_goto": "前往工单",
"repo.issues.action_open": "开启",
"repo.issues.action_close": "关闭",
"repo.issues.action_label": "标签",
@@ -1701,6 +1703,7 @@
"repo.issues.review.content.empty": "您需要留下一个注释,表明需要的更改。",
"repo.issues.review.reject": "请求变更 %s",
"repo.issues.review.wait": "已请求 %s 评审",
+ "repo.issues.review.codeowners_rules": "CODEOWNERS 规则",
"repo.issues.review.add_review_request": "于 %[2]s 请求 %[1]s 评审",
"repo.issues.review.remove_review_request": "取消对 %s 的评审请求 %s",
"repo.issues.review.remove_review_request_self": "拒绝评审 %s",
@@ -1736,8 +1739,11 @@
"repo.issues.reference_link": "引用:%s",
"repo.compare.compare_base": "基准分支",
"repo.compare.compare_head": "比较",
+ "repo.compare.title": "对比变更",
+ "repo.compare.description": "选择两个分支或标签以查看变更或发起一个新的合并请求。",
"repo.pulls.desc": "启用合并请求和代码评审。",
"repo.pulls.new": "创建合并请求",
+ "repo.pulls.new.description": "将此对比中的变更与其他版本一起进行讨论和评审。",
"repo.pulls.new.blocked_user": "无法创建合并请求,因为您已被仓库所有者屏蔽。",
"repo.pulls.new.must_collaborator": "您必须是仓库的协作者才能创建合并请求。",
"repo.pulls.new.already_existed": "这些分支之间的合并请求已存在",
@@ -1747,7 +1753,6 @@
"repo.pulls.allow_edits_from_maintainers": "允许维护者编辑",
"repo.pulls.allow_edits_from_maintainers_desc": "对基础分支有写入权限的用户也可以推送到此分支",
"repo.pulls.allow_edits_from_maintainers_err": "更新失败",
- "repo.pulls.compare_changes_desc": "选择合并的目标分支和源分支。",
"repo.pulls.has_viewed_file": "已查看",
"repo.pulls.has_changed_since_last_review": "自您上次审核以来已更改",
"repo.pulls.viewed_files_label": "%[1]d / %[2]d 文件已查看",
@@ -1845,7 +1850,8 @@
"repo.pulls.status_checking": "一些检查仍在等待运行",
"repo.pulls.status_checks_success": "所有检查均成功",
"repo.pulls.status_checks_warning": "一些检查报告了警告",
- "repo.pulls.status_checks_failure": "一些检查失败了",
+ "repo.pulls.status_checks_failure_required": "一些必要检查失败",
+ "repo.pulls.status_checks_failure_optional": "一些可选检查失败",
"repo.pulls.status_checks_error": "一些检查报告了错误",
"repo.pulls.status_checks_requested": "必须",
"repo.pulls.status_checks_details": "详情",
@@ -2513,7 +2519,7 @@
"repo.diff.browse_source": "浏览代码",
"repo.diff.parent": "父节点",
"repo.diff.commit": "当前提交",
- "repo.diff.git-notes": "Notes",
+ "repo.diff.git-notes": "备注",
"repo.diff.data_not_available": "比较内容不可用",
"repo.diff.options_button": "Diff 选项",
"repo.diff.download_patch": "下载 Patch 文件",
@@ -2540,7 +2546,7 @@
"repo.diff.too_many_files": "某些文件未显示,因为此 diff 中更改的文件太多",
"repo.diff.show_more": "显示更多",
"repo.diff.load": "加载差异",
- "repo.diff.generated": "自动生成的",
+ "repo.diff.generated": "自动生成",
"repo.diff.vendored": "vendored",
"repo.diff.comment.add_line_comment": "添加行内评论",
"repo.diff.comment.placeholder": "留下评论",
@@ -3067,6 +3073,7 @@
"admin.auths.attribute_mail": "电子邮箱属性",
"admin.auths.attribute_ssh_public_key": "SSH公钥属性",
"admin.auths.attribute_avatar": "头像属性",
+ "admin.auths.ssh_keys_are_verified": "LDAP 中的 SSH 密钥被视为已验证",
"admin.auths.attributes_in_bind": "从 Bind DN 中拉取属性信息",
"admin.auths.allow_deactivate_all": "允许在搜索结果为空时停用所有用户",
"admin.auths.use_paged_search": "使用分页搜索",
@@ -3239,7 +3246,7 @@
"admin.config.mailer_sendmail_path": "Sendmail 路径",
"admin.config.mailer_sendmail_args": "Sendmail 的额外参数",
"admin.config.mailer_sendmail_timeout": "Sendmail 超时",
- "admin.config.mailer_use_dummy": "Dummy",
+ "admin.config.mailer_use_dummy": "模拟",
"admin.config.test_email_placeholder": "电子邮箱(例如,test@example.com)",
"admin.config.send_test_mail": "发送测试邮件",
"admin.config.send_test_mail_submit": "发送",
@@ -3278,8 +3285,6 @@
"admin.config.git_gc_args": "GC 参数",
"admin.config.git_migrate_timeout": "迁移操作超时",
"admin.config.git_mirror_timeout": "镜像更新操作超时",
- "admin.config.git_clone_timeout": "克隆操作超时",
- "admin.config.git_pull_timeout": "拉取操作超时",
"admin.config.git_gc_timeout": "GC 操作超时",
"admin.config.log_config": "日志配置",
"admin.config.logger_name_fmt": "%s 日志",
@@ -3488,7 +3493,7 @@
"packages.container.pull": "从命令行拉取镜像:",
"packages.container.images": "镜像",
"packages.container.digest": "摘要",
- "packages.container.multi_arch": "OS / Arch",
+ "packages.container.multi_arch": "OS / 架构",
"packages.container.layers": "镜像层",
"packages.container.labels": "标签",
"packages.container.labels.key": "键",
diff --git a/package.json b/package.json
index 7954e15046..acac860a39 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"type": "module",
- "packageManager": "pnpm@10.26.0",
+ "packageManager": "pnpm@10.28.1",
"engines": {
"node": ">= 22.6.0",
"pnpm": ">= 10.0.0"
@@ -8,20 +8,20 @@
"dependencies": {
"@citation-js/core": "0.7.21",
"@citation-js/plugin-bibtex": "0.7.21",
- "@citation-js/plugin-csl": "0.7.21",
- "@citation-js/plugin-software-formats": "0.6.1",
+ "@citation-js/plugin-csl": "0.7.22",
+ "@citation-js/plugin-software-formats": "0.6.2",
"@github/markdown-toolbar-element": "2.2.3",
"@github/paste-markdown": "1.5.3",
"@github/relative-time-element": "5.0.0",
- "@github/text-expander-element": "2.9.2",
+ "@github/text-expander-element": "2.9.4",
"@mcaptcha/vanilla-glue": "0.1.0-alpha-3",
- "@primer/octicons": "19.21.1",
+ "@primer/octicons": "19.21.2",
"@resvg/resvg-wasm": "2.6.2",
"@silverwind/vue3-calendar-heatmap": "2.1.1",
"@techknowlogick/license-checker-webpack-plugin": "0.3.0",
"add-asset-webpack-plugin": "3.1.1",
"ansi_up": "6.0.6",
- "asciinema-player": "3.13.5",
+ "asciinema-player": "3.14.0",
"chart.js": "4.5.1",
"chartjs-adapter-dayjs-4": "1.0.4",
"chartjs-plugin-zoom": "2.2.0",
@@ -32,18 +32,19 @@
"dayjs": "1.11.19",
"dropzone": "6.0.0-beta.2",
"easymde": "2.20.0",
- "esbuild-loader": "4.4.0",
+ "esbuild-loader": "4.4.2",
"htmx.org": "2.0.8",
"idiomorph": "0.7.4",
- "jquery": "3.7.1",
+ "jquery": "4.0.0",
+ "js-yaml": "4.1.1",
"katex": "0.16.27",
"mermaid": "11.12.2",
- "mini-css-extract-plugin": "2.9.4",
+ "mini-css-extract-plugin": "2.10.0",
"monaco-editor": "0.55.1",
"monaco-editor-webpack-plugin": "7.1.1",
- "online-3d-viewer": "0.17.0",
+ "online-3d-viewer": "0.18.0",
"pdfobject": "2.3.1",
- "perfect-debounce": "2.0.0",
+ "perfect-debounce": "2.1.0",
"postcss": "8.5.6",
"postcss-loader": "8.2.0",
"sortablejs": "1.15.6",
@@ -56,65 +57,67 @@
"tributejs": "5.1.3",
"uint8-to-base64": "0.2.1",
"vanilla-colorful": "0.7.2",
- "vue": "3.5.25",
+ "vue": "3.5.27",
"vue-bar-graph": "2.2.0",
"vue-chartjs": "5.3.3",
"vue-loader": "17.4.2",
- "webpack": "5.104.0",
+ "webpack": "5.104.1",
"webpack-cli": "6.0.1",
"wrap-ansi": "9.0.2"
},
"devDependencies": {
- "@eslint-community/eslint-plugin-eslint-comments": "4.5.0",
+ "@eslint-community/eslint-plugin-eslint-comments": "4.6.0",
"@eslint/json": "0.14.0",
- "@playwright/test": "1.57.0",
- "@stylistic/eslint-plugin": "5.6.1",
- "@stylistic/stylelint-plugin": "4.0.0",
+ "@playwright/test": "1.58.0",
+ "@stylistic/eslint-plugin": "5.7.1",
+ "@stylistic/stylelint-plugin": "5.0.1",
"@types/codemirror": "5.60.17",
"@types/dropzone": "5.7.9",
"@types/jquery": "3.5.33",
- "@types/katex": "0.16.7",
+ "@types/js-yaml": "4.0.9",
+ "@types/katex": "0.16.8",
"@types/pdfobject": "2.2.5",
"@types/sortablejs": "1.15.9",
"@types/swagger-ui-dist": "3.30.6",
"@types/throttle-debounce": "5.0.2",
"@types/tinycolor2": "1.4.6",
"@types/toastify-js": "1.12.4",
- "@typescript-eslint/parser": "8.50.0",
+ "@typescript-eslint/parser": "8.53.1",
"@vitejs/plugin-vue": "6.0.3",
- "@vitest/eslint-plugin": "1.5.2",
+ "@vitest/eslint-plugin": "1.6.6",
"eslint": "9.39.2",
"eslint-import-resolver-typescript": "4.4.4",
"eslint-plugin-array-func": "5.1.0",
"eslint-plugin-github": "6.0.0",
"eslint-plugin-import-x": "4.16.1",
- "eslint-plugin-playwright": "2.4.0",
- "eslint-plugin-regexp": "2.10.0",
+ "eslint-plugin-playwright": "2.5.0",
+ "eslint-plugin-regexp": "3.0.0",
"eslint-plugin-sonarjs": "3.0.5",
"eslint-plugin-unicorn": "62.0.0",
- "eslint-plugin-vue": "10.6.2",
+ "eslint-plugin-vue": "10.7.0",
"eslint-plugin-vue-scoped-css": "2.12.0",
"eslint-plugin-wc": "3.0.2",
- "globals": "16.5.0",
- "happy-dom": "20.0.11",
+ "globals": "17.1.0",
+ "happy-dom": "20.3.7",
"jiti": "2.6.1",
+ "knip": "5.82.1",
"markdownlint-cli": "0.47.0",
- "material-icon-theme": "5.29.0",
+ "material-icon-theme": "5.31.0",
"nolyfill": "1.0.44",
- "postcss-html": "1.8.0",
+ "postcss-html": "1.8.1",
"spectral-cli-bundle": "1.0.3",
- "stylelint": "16.26.1",
- "stylelint-config-recommended": "17.0.0",
+ "stylelint": "17.0.0",
+ "stylelint-config-recommended": "18.0.0",
"stylelint-declaration-block-no-ignored-properties": "2.8.0",
"stylelint-declaration-strict-value": "1.10.11",
- "stylelint-value-no-unknown-custom-properties": "6.0.1",
+ "stylelint-value-no-unknown-custom-properties": "6.1.1",
"svgo": "4.0.0",
"typescript": "5.9.3",
- "typescript-eslint": "8.50.0",
- "updates": "17.0.7",
- "vite-string-plugin": "1.4.9",
- "vitest": "4.0.16",
- "vue-tsc": "3.1.8"
+ "typescript-eslint": "8.53.1",
+ "updates": "17.0.8",
+ "vite-string-plugin": "1.5.0",
+ "vitest": "4.0.18",
+ "vue-tsc": "3.2.3"
},
"browserslist": [
"defaults"
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 82d899b5fd..4e39cff537 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -33,11 +33,11 @@ importers:
specifier: 0.7.21
version: 0.7.21(@citation-js/core@0.7.21)
'@citation-js/plugin-csl':
- specifier: 0.7.21
- version: 0.7.21(@citation-js/core@0.7.21)
+ specifier: 0.7.22
+ version: 0.7.22(@citation-js/core@0.7.21)
'@citation-js/plugin-software-formats':
- specifier: 0.6.1
- version: 0.6.1
+ specifier: 0.6.2
+ version: 0.6.2
'@github/markdown-toolbar-element':
specifier: 2.2.3
version: 2.2.3
@@ -48,32 +48,32 @@ importers:
specifier: 5.0.0
version: 5.0.0
'@github/text-expander-element':
- specifier: 2.9.2
- version: 2.9.2
+ specifier: 2.9.4
+ version: 2.9.4
'@mcaptcha/vanilla-glue':
specifier: 0.1.0-alpha-3
version: 0.1.0-alpha-3
'@primer/octicons':
- specifier: 19.21.1
- version: 19.21.1
+ specifier: 19.21.2
+ version: 19.21.2
'@resvg/resvg-wasm':
specifier: 2.6.2
version: 2.6.2
'@silverwind/vue3-calendar-heatmap':
specifier: 2.1.1
- version: 2.1.1(tippy.js@6.3.7)(vue@3.5.25(typescript@5.9.3))
+ version: 2.1.1(tippy.js@6.3.7)(vue@3.5.27(typescript@5.9.3))
'@techknowlogick/license-checker-webpack-plugin':
specifier: 0.3.0
- version: 0.3.0(webpack@5.104.0)
+ version: 0.3.0(webpack@5.104.1)
add-asset-webpack-plugin:
specifier: 3.1.1
- version: 3.1.1(webpack@5.104.0)
+ version: 3.1.1(webpack@5.104.1)
ansi_up:
specifier: 6.0.6
version: 6.0.6
asciinema-player:
- specifier: 3.13.5
- version: 3.13.5
+ specifier: 3.14.0
+ version: 3.14.0
chart.js:
specifier: 4.5.1
version: 4.5.1
@@ -94,7 +94,7 @@ importers:
version: 1.6.2
css-loader:
specifier: 7.1.2
- version: 7.1.2(webpack@5.104.0)
+ version: 7.1.2(webpack@5.104.1)
dayjs:
specifier: 1.11.19
version: 1.11.19
@@ -105,8 +105,8 @@ importers:
specifier: 2.20.0
version: 2.20.0
esbuild-loader:
- specifier: 4.4.0
- version: 4.4.0(webpack@5.104.0)
+ specifier: 4.4.2
+ version: 4.4.2(webpack@5.104.1)
htmx.org:
specifier: 2.0.8
version: 2.0.8
@@ -114,8 +114,11 @@ importers:
specifier: 0.7.4
version: 0.7.4
jquery:
- specifier: 3.7.1
- version: 3.7.1
+ specifier: 4.0.0
+ version: 4.0.0
+ js-yaml:
+ specifier: 4.1.1
+ version: 4.1.1
katex:
specifier: 0.16.27
version: 0.16.27
@@ -123,29 +126,29 @@ importers:
specifier: 11.12.2
version: 11.12.2
mini-css-extract-plugin:
- specifier: 2.9.4
- version: 2.9.4(webpack@5.104.0)
+ specifier: 2.10.0
+ version: 2.10.0(webpack@5.104.1)
monaco-editor:
specifier: 0.55.1
version: 0.55.1
monaco-editor-webpack-plugin:
specifier: 7.1.1
- version: 7.1.1(monaco-editor@0.55.1)(webpack@5.104.0)
+ version: 7.1.1(monaco-editor@0.55.1)(webpack@5.104.1)
online-3d-viewer:
- specifier: 0.17.0
- version: 0.17.0
+ specifier: 0.18.0
+ version: 0.18.0
pdfobject:
specifier: 2.3.1
version: 2.3.1
perfect-debounce:
- specifier: 2.0.0
- version: 2.0.0
+ specifier: 2.1.0
+ version: 2.1.0
postcss:
specifier: 8.5.6
version: 8.5.6
postcss-loader:
specifier: 8.2.0
- version: 8.2.0(postcss@8.5.6)(typescript@5.9.3)(webpack@5.104.0)
+ version: 8.2.0(postcss@8.5.6)(typescript@5.9.3)(webpack@5.104.1)
sortablejs:
specifier: 1.15.6
version: 1.15.6
@@ -177,42 +180,42 @@ importers:
specifier: 0.7.2
version: 0.7.2
vue:
- specifier: 3.5.25
- version: 3.5.25(typescript@5.9.3)
+ specifier: 3.5.27
+ version: 3.5.27(typescript@5.9.3)
vue-bar-graph:
specifier: 2.2.0
version: 2.2.0(typescript@5.9.3)
vue-chartjs:
specifier: 5.3.3
- version: 5.3.3(chart.js@4.5.1)(vue@3.5.25(typescript@5.9.3))
+ version: 5.3.3(chart.js@4.5.1)(vue@3.5.27(typescript@5.9.3))
vue-loader:
specifier: 17.4.2
- version: 17.4.2(vue@3.5.25(typescript@5.9.3))(webpack@5.104.0)
+ version: 17.4.2(vue@3.5.27(typescript@5.9.3))(webpack@5.104.1)
webpack:
- specifier: 5.104.0
- version: 5.104.0(webpack-cli@6.0.1)
+ specifier: 5.104.1
+ version: 5.104.1(webpack-cli@6.0.1)
webpack-cli:
specifier: 6.0.1
- version: 6.0.1(webpack@5.104.0)
+ version: 6.0.1(webpack@5.104.1)
wrap-ansi:
specifier: 9.0.2
version: 9.0.2
devDependencies:
'@eslint-community/eslint-plugin-eslint-comments':
- specifier: 4.5.0
- version: 4.5.0(eslint@9.39.2(jiti@2.6.1))
+ specifier: 4.6.0
+ version: 4.6.0(eslint@9.39.2(jiti@2.6.1))
'@eslint/json':
specifier: 0.14.0
version: 0.14.0
'@playwright/test':
- specifier: 1.57.0
- version: 1.57.0
+ specifier: 1.58.0
+ version: 1.58.0
'@stylistic/eslint-plugin':
- specifier: 5.6.1
- version: 5.6.1(eslint@9.39.2(jiti@2.6.1))
+ specifier: 5.7.1
+ version: 5.7.1(eslint@9.39.2(jiti@2.6.1))
'@stylistic/stylelint-plugin':
- specifier: 4.0.0
- version: 4.0.0(stylelint@16.26.1(typescript@5.9.3))
+ specifier: 5.0.1
+ version: 5.0.1(stylelint@17.0.0(typescript@5.9.3))
'@types/codemirror':
specifier: 5.60.17
version: 5.60.17
@@ -222,9 +225,12 @@ importers:
'@types/jquery':
specifier: 3.5.33
version: 3.5.33
+ '@types/js-yaml':
+ specifier: 4.0.9
+ version: 4.0.9
'@types/katex':
- specifier: 0.16.7
- version: 0.16.7
+ specifier: 0.16.8
+ version: 0.16.8
'@types/pdfobject':
specifier: 2.2.5
version: 2.2.5
@@ -244,20 +250,20 @@ importers:
specifier: 1.12.4
version: 1.12.4
'@typescript-eslint/parser':
- specifier: 8.50.0
- version: 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ specifier: 8.53.1
+ version: 8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
'@vitejs/plugin-vue':
specifier: 6.0.3
- version: 6.0.3(vite@7.3.0(@types/node@25.0.3)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.25(typescript@5.9.3))
+ version: 6.0.3(vite@7.3.1(@types/node@25.0.10)(jiti@2.6.1)(stylus@0.57.0)(terser@5.46.0)(yaml@2.8.2))(vue@3.5.27(typescript@5.9.3))
'@vitest/eslint-plugin':
- specifier: 1.5.2
- version: 1.5.2(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)(vitest@4.0.16(@types/node@25.0.3)(happy-dom@20.0.11)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.1)(yaml@2.8.2))
+ specifier: 1.6.6
+ version: 1.6.6(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)(vitest@4.0.18(@types/node@25.0.10)(happy-dom@20.3.7)(jiti@2.6.1)(stylus@0.57.0)(terser@5.46.0)(yaml@2.8.2))
eslint:
specifier: 9.39.2
version: 9.39.2(jiti@2.6.1)
eslint-import-resolver-typescript:
specifier: 4.4.4
- version: 4.4.4(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.2(jiti@2.6.1)))(eslint-plugin-import@2.32.0)(eslint@9.39.2(jiti@2.6.1))
+ version: 4.4.4(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.2(jiti@2.6.1)))(eslint-plugin-import@2.32.0)(eslint@9.39.2(jiti@2.6.1))
eslint-plugin-array-func:
specifier: 5.1.0
version: 5.1.0(eslint@9.39.2(jiti@2.6.1))
@@ -266,13 +272,13 @@ importers:
version: 6.0.0(@types/eslint@9.6.1)(eslint-import-resolver-typescript@4.4.4)(eslint@9.39.2(jiti@2.6.1))
eslint-plugin-import-x:
specifier: 4.16.1
- version: 4.16.1(@typescript-eslint/utils@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.2(jiti@2.6.1))
+ version: 4.16.1(@typescript-eslint/utils@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.2(jiti@2.6.1))
eslint-plugin-playwright:
- specifier: 2.4.0
- version: 2.4.0(eslint@9.39.2(jiti@2.6.1))
+ specifier: 2.5.0
+ version: 2.5.0(eslint@9.39.2(jiti@2.6.1))
eslint-plugin-regexp:
- specifier: 2.10.0
- version: 2.10.0(eslint@9.39.2(jiti@2.6.1))
+ specifier: 3.0.0
+ version: 3.0.0(eslint@9.39.2(jiti@2.6.1))
eslint-plugin-sonarjs:
specifier: 3.0.5
version: 3.0.5(eslint@9.39.2(jiti@2.6.1))
@@ -280,8 +286,8 @@ importers:
specifier: 62.0.0
version: 62.0.0(eslint@9.39.2(jiti@2.6.1))
eslint-plugin-vue:
- specifier: 10.6.2
- version: 10.6.2(@stylistic/eslint-plugin@5.6.1(eslint@9.39.2(jiti@2.6.1)))(@typescript-eslint/parser@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(vue-eslint-parser@10.2.0(eslint@9.39.2(jiti@2.6.1)))
+ specifier: 10.7.0
+ version: 10.7.0(@stylistic/eslint-plugin@5.7.1(eslint@9.39.2(jiti@2.6.1)))(@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(vue-eslint-parser@10.2.0(eslint@9.39.2(jiti@2.6.1)))
eslint-plugin-vue-scoped-css:
specifier: 2.12.0
version: 2.12.0(eslint@9.39.2(jiti@2.6.1))(vue-eslint-parser@10.2.0(eslint@9.39.2(jiti@2.6.1)))
@@ -289,44 +295,47 @@ importers:
specifier: 3.0.2
version: 3.0.2(eslint@9.39.2(jiti@2.6.1))
globals:
- specifier: 16.5.0
- version: 16.5.0
+ specifier: 17.1.0
+ version: 17.1.0
happy-dom:
- specifier: 20.0.11
- version: 20.0.11
+ specifier: 20.3.7
+ version: 20.3.7
jiti:
specifier: 2.6.1
version: 2.6.1
+ knip:
+ specifier: 5.82.1
+ version: 5.82.1(@types/node@25.0.10)(typescript@5.9.3)
markdownlint-cli:
specifier: 0.47.0
version: 0.47.0
material-icon-theme:
- specifier: 5.29.0
- version: 5.29.0
+ specifier: 5.31.0
+ version: 5.31.0
nolyfill:
specifier: 1.0.44
version: 1.0.44
postcss-html:
- specifier: 1.8.0
- version: 1.8.0
+ specifier: 1.8.1
+ version: 1.8.1
spectral-cli-bundle:
specifier: 1.0.3
version: 1.0.3
stylelint:
- specifier: 16.26.1
- version: 16.26.1(typescript@5.9.3)
- stylelint-config-recommended:
specifier: 17.0.0
- version: 17.0.0(stylelint@16.26.1(typescript@5.9.3))
+ version: 17.0.0(typescript@5.9.3)
+ stylelint-config-recommended:
+ specifier: 18.0.0
+ version: 18.0.0(stylelint@17.0.0(typescript@5.9.3))
stylelint-declaration-block-no-ignored-properties:
specifier: 2.8.0
- version: 2.8.0(stylelint@16.26.1(typescript@5.9.3))
+ version: 2.8.0(stylelint@17.0.0(typescript@5.9.3))
stylelint-declaration-strict-value:
specifier: 1.10.11
- version: 1.10.11(stylelint@16.26.1(typescript@5.9.3))
+ version: 1.10.11(stylelint@17.0.0(typescript@5.9.3))
stylelint-value-no-unknown-custom-properties:
- specifier: 6.0.1
- version: 6.0.1(stylelint@16.26.1(typescript@5.9.3))
+ specifier: 6.1.1
+ version: 6.1.1(stylelint@17.0.0(typescript@5.9.3))
svgo:
specifier: 4.0.0
version: 4.0.0
@@ -334,20 +343,20 @@ importers:
specifier: 5.9.3
version: 5.9.3
typescript-eslint:
- specifier: 8.50.0
- version: 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ specifier: 8.53.1
+ version: 8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
updates:
- specifier: 17.0.7
- version: 17.0.7
+ specifier: 17.0.8
+ version: 17.0.8
vite-string-plugin:
- specifier: 1.4.9
- version: 1.4.9
+ specifier: 1.5.0
+ version: 1.5.0(vite@7.3.1(@types/node@25.0.10)(jiti@2.6.1)(stylus@0.57.0)(terser@5.46.0)(yaml@2.8.2))
vitest:
- specifier: 4.0.16
- version: 4.0.16(@types/node@25.0.3)(happy-dom@20.0.11)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.1)(yaml@2.8.2)
+ specifier: 4.0.18
+ version: 4.0.18(@types/node@25.0.10)(happy-dom@20.3.7)(jiti@2.6.1)(stylus@0.57.0)(terser@5.46.0)(yaml@2.8.2)
vue-tsc:
- specifier: 3.1.8
- version: 3.1.8(typescript@5.9.3)
+ specifier: 3.2.3
+ version: 3.2.3(typescript@5.9.3)
packages:
@@ -358,8 +367,8 @@ packages:
'@antfu/install-pkg@1.1.0':
resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==}
- '@babel/code-frame@7.27.1':
- resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==}
+ '@babel/code-frame@7.28.6':
+ resolution: {integrity: sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q==}
engines: {node: '>=6.9.0'}
'@babel/helper-string-parser@7.27.1':
@@ -370,27 +379,27 @@ packages:
resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==}
engines: {node: '>=6.9.0'}
- '@babel/parser@7.28.5':
- resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==}
+ '@babel/parser@7.28.6':
+ resolution: {integrity: sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ==}
engines: {node: '>=6.0.0'}
hasBin: true
- '@babel/runtime@7.28.4':
- resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==}
+ '@babel/runtime@7.28.6':
+ resolution: {integrity: sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==}
engines: {node: '>=6.9.0'}
- '@babel/types@7.28.5':
- resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==}
+ '@babel/types@7.28.6':
+ resolution: {integrity: sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==}
engines: {node: '>=6.9.0'}
'@braintree/sanitize-url@7.1.1':
resolution: {integrity: sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==}
- '@cacheable/memory@2.0.6':
- resolution: {integrity: sha512-7e8SScMocHxcAb8YhtkbMhGG+EKLRIficb1F5sjvhSYsWTZGxvg4KIDp8kgxnV2PUJ3ddPe6J9QESjKvBWRDkg==}
+ '@cacheable/memory@2.0.7':
+ resolution: {integrity: sha512-RbxnxAMf89Tp1dLhXMS7ceft/PGsDl1Ip7T20z5nZ+pwIAsQ1p2izPjVG69oCLv/jfQ7HDPHTWK0c9rcAWXN3A==}
- '@cacheable/utils@2.3.2':
- resolution: {integrity: sha512-8kGE2P+HjfY8FglaOiW+y8qxcaQAfAhVML+i66XJR3YX5FtyDqn6Txctr3K2FrbxLKixRRYYBWMbuGciOhYNDg==}
+ '@cacheable/utils@2.3.3':
+ resolution: {integrity: sha512-JsXDL70gQ+1Vc2W/KUFfkAJzgb4puKwwKehNLuB+HrNKWf91O736kGfxn4KujXCCSuh6mRRL4XEB0PkAFjWS0A==}
'@chevrotain/cst-dts-gen@11.0.3':
resolution: {integrity: sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ==}
@@ -425,399 +434,246 @@ packages:
peerDependencies:
'@citation-js/core': ^0.7.0
- '@citation-js/plugin-cff@0.6.1':
- resolution: {integrity: sha512-tLjTgsfzNOdQWGn5mNc2NAaydHnlRucSERoyAXLN7u0BQBfp7j5zwdxCmxcQD/N7hH3fpDKMG+qDzbqpJuKyNA==}
+ '@citation-js/plugin-cff@0.6.2':
+ resolution: {integrity: sha512-jvERDFbtQQOBb9s+E8VbRIYsEIb2YEbcLH3yVDxXK0xqBGQDE5m8JZAYUkENy4FmbaD979l0+xJTWAsYN1pV/w==}
engines: {node: '>=14.0.0'}
- '@citation-js/plugin-csl@0.7.21':
- resolution: {integrity: sha512-23ySPYCWDiU1JqhvqTYLn6+C11LkeJxTfyPKKXCK2wan9iF9ODvY7JYNl/OJgtwvu485dKfDpqqptWv6i71Meg==}
+ '@citation-js/plugin-csl@0.7.22':
+ resolution: {integrity: sha512-/rGdtbeP3nS4uZDdEbQUHT8PrUcIs0da2t+sWMKYXoOhXQqfw3oJJ7p4tUD+R8lptyIR5Eq20/DFk/kQDdLpYg==}
engines: {node: '>=16.0.0'}
peerDependencies:
'@citation-js/core': ^0.7.0
- '@citation-js/plugin-github@0.6.1':
- resolution: {integrity: sha512-1ZeSgQ5AoYsa8n2acVooUeRk76oA8rLszYNBjzj5z6MPa11BZlQJ9O+Gy4tHjlImvsENLbLPx5f8/V1VHXaCfQ==}
+ '@citation-js/plugin-github@0.6.2':
+ resolution: {integrity: sha512-NKq/1Ja060o4II1Z4p1+utwpvMsx+XIWdNiFvnJDfR2Z9E1xGETjByPpdobGBsteUTpJPEe9OVfF8Dee/Q7zLQ==}
engines: {node: '>=14.0.0'}
- '@citation-js/plugin-npm@0.6.1':
- resolution: {integrity: sha512-rojJA+l/p2KBpDoY+8n0YfNyQO1Aw03fQR5BN+gXD1LNAP1V+8wqvdPsaHnzPsrhrd4ZXDR7ch/Nk0yynPkJ3Q==}
+ '@citation-js/plugin-npm@0.6.2':
+ resolution: {integrity: sha512-mbQg/N9HM+gOqHJCdDZEElSW+h/oM94snKCl3llXuZ4MEH3tHraElS6CYRW/vW7s8KUTTHhgE62Q6ua5aRml8g==}
engines: {node: '>=14.0.0'}
- '@citation-js/plugin-software-formats@0.6.1':
- resolution: {integrity: sha512-BDF9rqi56K0hoTgYTVANCFVRSbWKC9V06Uap7oa8SjqCTgnHJAy8t/F3NxsyYPPG+zmRsLW9VNbcIsJOl0eu/w==}
+ '@citation-js/plugin-software-formats@0.6.2':
+ resolution: {integrity: sha512-x1IG0LBKglBU6SuiiKfvOtn7g7o7s+YhQhB44o7zrFaKEO8jkyQ5qMKtM5VFdCBL7teLfzZLjpjNkdJXtZ6XZw==}
engines: {node: '>=14.0.0'}
- '@citation-js/plugin-yaml@0.6.1':
- resolution: {integrity: sha512-XEVVks1cJTqRbjy+nmthfw/puR6NwRB3fyJWi1tX13UYXlkhP/h45nsv4zjgLLGekdcMHQvhad9MAYunOftGKA==}
+ '@citation-js/plugin-yaml@0.6.2':
+ resolution: {integrity: sha512-qw53Uy2fDekKAzNhv8pkAWpIccIxyKQ3nQuClMgzDPdyeWg34ElIs4bDub9ZZup15fy+X//2gP8k12RJqNo4lA==}
engines: {node: '>=14.0.0'}
- '@citation-js/plugin-zenodo@0.6.1':
- resolution: {integrity: sha512-bUybENHoZqJ6gheUqgkumjI+mu+fA2bg6VoniDmZTb7Qng9iEpi+IWEAR26/vBE0gK0EWrJjczyDW3HCwrhvVw==}
+ '@citation-js/plugin-zenodo@0.6.2':
+ resolution: {integrity: sha512-3XQOO3u4WXY/7AWZyQ+9SuBzS8bYTlJ+NF1uCgrZO64g36nK5iIc5YV9cBl2TL2QhHF6S36nvAsXsj5fX9FeHw==}
engines: {node: '>=14.0.0'}
- '@csstools/css-parser-algorithms@3.0.5':
- resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==}
- engines: {node: '>=18'}
+ '@csstools/css-parser-algorithms@4.0.0':
+ resolution: {integrity: sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==}
+ engines: {node: '>=20.19.0'}
peerDependencies:
- '@csstools/css-tokenizer': ^3.0.4
+ '@csstools/css-tokenizer': ^4.0.0
- '@csstools/css-syntax-patches-for-csstree@1.0.21':
- resolution: {integrity: sha512-plP8N8zKfEZ26figX4Nvajx8DuzfuRpLTqglQ5d0chfnt35Qt3X+m6ASZ+rG0D0kxe/upDVNwSIVJP5n4FuNfw==}
+ '@csstools/css-syntax-patches-for-csstree@1.0.25':
+ resolution: {integrity: sha512-g0Kw9W3vjx5BEBAF8c5Fm2NcB/Fs8jJXh85aXqwEXiL+tqtOut07TWgyaGzAAfTM+gKckrrncyeGEZPcaRgm2Q==}
engines: {node: '>=18'}
- '@csstools/css-tokenizer@3.0.4':
- resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==}
- engines: {node: '>=18'}
+ '@csstools/css-tokenizer@4.0.0':
+ resolution: {integrity: sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==}
+ engines: {node: '>=20.19.0'}
- '@csstools/media-query-list-parser@4.0.3':
- resolution: {integrity: sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ==}
- engines: {node: '>=18'}
+ '@csstools/media-query-list-parser@5.0.0':
+ resolution: {integrity: sha512-T9lXmZOfnam3eMERPsszjY5NK0jX8RmThmmm99FZ8b7z8yMaFZWKwLWGZuTwdO3ddRY5fy13GmmEYZXB4I98Eg==}
+ engines: {node: '>=20.19.0'}
peerDependencies:
- '@csstools/css-parser-algorithms': ^3.0.5
- '@csstools/css-tokenizer': ^3.0.4
+ '@csstools/css-parser-algorithms': ^4.0.0
+ '@csstools/css-tokenizer': ^4.0.0
- '@csstools/selector-specificity@5.0.0':
- resolution: {integrity: sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==}
- engines: {node: '>=18'}
+ '@csstools/selector-resolve-nested@4.0.0':
+ resolution: {integrity: sha512-9vAPxmp+Dx3wQBIUwc1v7Mdisw1kbbaGqXUM8QLTgWg7SoPGYtXBsMXvsFs/0Bn5yoFhcktzxNZGNaUt0VjgjA==}
+ engines: {node: '>=20.19.0'}
peerDependencies:
- postcss-selector-parser: ^7.0.0
+ postcss-selector-parser: ^7.1.1
+
+ '@csstools/selector-specificity@6.0.0':
+ resolution: {integrity: sha512-4sSgl78OtOXEX/2d++8A83zHNTgwCJMaR24FvsYL7Uf/VS8HZk9PTwR51elTbGqMuwH3szLvvOXEaVnqn0Z3zA==}
+ engines: {node: '>=20.19.0'}
+ peerDependencies:
+ postcss-selector-parser: ^7.1.1
'@discoveryjs/json-ext@0.6.3':
resolution: {integrity: sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==}
engines: {node: '>=14.17.0'}
- '@dual-bundle/import-meta-resolve@4.2.1':
- resolution: {integrity: sha512-id+7YRUgoUX6CgV0DtuhirQWodeeA7Lf4i2x71JS/vtA5pRb/hIGWlw+G6MeXvsM+MXrz0VAydTGElX1rAfgPg==}
+ '@emnapi/core@1.8.1':
+ resolution: {integrity: sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==}
- '@emnapi/core@1.7.1':
- resolution: {integrity: sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==}
-
- '@emnapi/runtime@1.7.1':
- resolution: {integrity: sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==}
+ '@emnapi/runtime@1.8.1':
+ resolution: {integrity: sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==}
'@emnapi/wasi-threads@1.1.0':
resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==}
- '@esbuild/aix-ppc64@0.25.12':
- resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==}
- engines: {node: '>=18'}
- cpu: [ppc64]
- os: [aix]
-
'@esbuild/aix-ppc64@0.27.2':
resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [aix]
- '@esbuild/android-arm64@0.25.12':
- resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [android]
-
'@esbuild/android-arm64@0.27.2':
resolution: {integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==}
engines: {node: '>=18'}
cpu: [arm64]
os: [android]
- '@esbuild/android-arm@0.25.12':
- resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==}
- engines: {node: '>=18'}
- cpu: [arm]
- os: [android]
-
'@esbuild/android-arm@0.27.2':
resolution: {integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==}
engines: {node: '>=18'}
cpu: [arm]
os: [android]
- '@esbuild/android-x64@0.25.12':
- resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [android]
-
'@esbuild/android-x64@0.27.2':
resolution: {integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==}
engines: {node: '>=18'}
cpu: [x64]
os: [android]
- '@esbuild/darwin-arm64@0.25.12':
- resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [darwin]
-
'@esbuild/darwin-arm64@0.27.2':
resolution: {integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==}
engines: {node: '>=18'}
cpu: [arm64]
os: [darwin]
- '@esbuild/darwin-x64@0.25.12':
- resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [darwin]
-
'@esbuild/darwin-x64@0.27.2':
resolution: {integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==}
engines: {node: '>=18'}
cpu: [x64]
os: [darwin]
- '@esbuild/freebsd-arm64@0.25.12':
- resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [freebsd]
-
'@esbuild/freebsd-arm64@0.27.2':
resolution: {integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==}
engines: {node: '>=18'}
cpu: [arm64]
os: [freebsd]
- '@esbuild/freebsd-x64@0.25.12':
- resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [freebsd]
-
'@esbuild/freebsd-x64@0.27.2':
resolution: {integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==}
engines: {node: '>=18'}
cpu: [x64]
os: [freebsd]
- '@esbuild/linux-arm64@0.25.12':
- resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [linux]
-
'@esbuild/linux-arm64@0.27.2':
resolution: {integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==}
engines: {node: '>=18'}
cpu: [arm64]
os: [linux]
- '@esbuild/linux-arm@0.25.12':
- resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==}
- engines: {node: '>=18'}
- cpu: [arm]
- os: [linux]
-
'@esbuild/linux-arm@0.27.2':
resolution: {integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==}
engines: {node: '>=18'}
cpu: [arm]
os: [linux]
- '@esbuild/linux-ia32@0.25.12':
- resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==}
- engines: {node: '>=18'}
- cpu: [ia32]
- os: [linux]
-
'@esbuild/linux-ia32@0.27.2':
resolution: {integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==}
engines: {node: '>=18'}
cpu: [ia32]
os: [linux]
- '@esbuild/linux-loong64@0.25.12':
- resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==}
- engines: {node: '>=18'}
- cpu: [loong64]
- os: [linux]
-
'@esbuild/linux-loong64@0.27.2':
resolution: {integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==}
engines: {node: '>=18'}
cpu: [loong64]
os: [linux]
- '@esbuild/linux-mips64el@0.25.12':
- resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==}
- engines: {node: '>=18'}
- cpu: [mips64el]
- os: [linux]
-
'@esbuild/linux-mips64el@0.27.2':
resolution: {integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==}
engines: {node: '>=18'}
cpu: [mips64el]
os: [linux]
- '@esbuild/linux-ppc64@0.25.12':
- resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==}
- engines: {node: '>=18'}
- cpu: [ppc64]
- os: [linux]
-
'@esbuild/linux-ppc64@0.27.2':
resolution: {integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [linux]
- '@esbuild/linux-riscv64@0.25.12':
- resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==}
- engines: {node: '>=18'}
- cpu: [riscv64]
- os: [linux]
-
'@esbuild/linux-riscv64@0.27.2':
resolution: {integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==}
engines: {node: '>=18'}
cpu: [riscv64]
os: [linux]
- '@esbuild/linux-s390x@0.25.12':
- resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==}
- engines: {node: '>=18'}
- cpu: [s390x]
- os: [linux]
-
'@esbuild/linux-s390x@0.27.2':
resolution: {integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==}
engines: {node: '>=18'}
cpu: [s390x]
os: [linux]
- '@esbuild/linux-x64@0.25.12':
- resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [linux]
-
'@esbuild/linux-x64@0.27.2':
resolution: {integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==}
engines: {node: '>=18'}
cpu: [x64]
os: [linux]
- '@esbuild/netbsd-arm64@0.25.12':
- resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [netbsd]
-
'@esbuild/netbsd-arm64@0.27.2':
resolution: {integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==}
engines: {node: '>=18'}
cpu: [arm64]
os: [netbsd]
- '@esbuild/netbsd-x64@0.25.12':
- resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [netbsd]
-
'@esbuild/netbsd-x64@0.27.2':
resolution: {integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==}
engines: {node: '>=18'}
cpu: [x64]
os: [netbsd]
- '@esbuild/openbsd-arm64@0.25.12':
- resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [openbsd]
-
'@esbuild/openbsd-arm64@0.27.2':
resolution: {integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==}
engines: {node: '>=18'}
cpu: [arm64]
os: [openbsd]
- '@esbuild/openbsd-x64@0.25.12':
- resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [openbsd]
-
'@esbuild/openbsd-x64@0.27.2':
resolution: {integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==}
engines: {node: '>=18'}
cpu: [x64]
os: [openbsd]
- '@esbuild/openharmony-arm64@0.25.12':
- resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [openharmony]
-
'@esbuild/openharmony-arm64@0.27.2':
resolution: {integrity: sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==}
engines: {node: '>=18'}
cpu: [arm64]
os: [openharmony]
- '@esbuild/sunos-x64@0.25.12':
- resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [sunos]
-
'@esbuild/sunos-x64@0.27.2':
resolution: {integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==}
engines: {node: '>=18'}
cpu: [x64]
os: [sunos]
- '@esbuild/win32-arm64@0.25.12':
- resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [win32]
-
'@esbuild/win32-arm64@0.27.2':
resolution: {integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==}
engines: {node: '>=18'}
cpu: [arm64]
os: [win32]
- '@esbuild/win32-ia32@0.25.12':
- resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==}
- engines: {node: '>=18'}
- cpu: [ia32]
- os: [win32]
-
'@esbuild/win32-ia32@0.27.2':
resolution: {integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==}
engines: {node: '>=18'}
cpu: [ia32]
os: [win32]
- '@esbuild/win32-x64@0.25.12':
- resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [win32]
-
'@esbuild/win32-x64@0.27.2':
resolution: {integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==}
engines: {node: '>=18'}
cpu: [x64]
os: [win32]
- '@eslint-community/eslint-plugin-eslint-comments@4.5.0':
- resolution: {integrity: sha512-MAhuTKlr4y/CE3WYX26raZjy+I/kS2PLKSzvfmDCGrBLTFHOYwqROZdr4XwPgXwX3K9rjzMr4pSmUWGnzsUyMg==}
+ '@eslint-community/eslint-plugin-eslint-comments@4.6.0':
+ resolution: {integrity: sha512-2EX2bBQq1ez++xz2o9tEeEQkyvfieWgUFMH4rtJJri2q0Azvhja3hZGXsjPXs31R4fQkZDtWzNDDK2zQn5UE5g==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0
- '@eslint-community/eslint-utils@4.9.0':
- resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==}
+ '@eslint-community/eslint-utils@4.9.1':
+ resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
@@ -886,8 +742,8 @@ packages:
'@github/relative-time-element@5.0.0':
resolution: {integrity: sha512-L/2r0DNR/rMbmHWcsdmhtOiy2gESoGOhItNFD4zJ3nZfHl79Dx3N18Vfx/pYr2lruMOdk1cJZb4wEumm+Dxm1w==}
- '@github/text-expander-element@2.9.2':
- resolution: {integrity: sha512-XY8EUMqM4GAloNxXNA1Py1ny+engWwYntbgsnpstQN4piaTI9rIlfYldyd0nnPXhxjGCVqHPmP6yg17Q0/n9Vg==}
+ '@github/text-expander-element@2.9.4':
+ resolution: {integrity: sha512-+zxSlek2r0NrbFmRfymVtYhES9YU033acc/mouXUkN2bs8DaYScPucvBhwg/5d0hsEb2rIykKnkA/2xxWSqCTw==}
'@humanfs/core@0.19.1':
resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
@@ -939,11 +795,11 @@ packages:
'@jridgewell/trace-mapping@0.3.31':
resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
- '@keyv/bigmap@1.3.0':
- resolution: {integrity: sha512-KT01GjzV6AQD5+IYrcpoYLkCu1Jod3nau1Z7EsEuViO3TZGRacSbO9MfHmbJ1WaOXFtWLxPVj169cn2WNKPkIg==}
+ '@keyv/bigmap@1.3.1':
+ resolution: {integrity: sha512-WbzE9sdmQtKy8vrNPa9BRnwZh5UF4s1KTmSK0KUVLo3eff5BlQNNWDnFOouNpKfPKDnms9xynJjsMYjMaT/aFQ==}
engines: {node: '>= 18'}
peerDependencies:
- keyv: ^5.5.4
+ keyv: ^5.6.0
'@keyv/serialize@1.1.1':
resolution: {integrity: sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==}
@@ -963,6 +819,9 @@ packages:
'@napi-rs/wasm-runtime@0.2.12':
resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==}
+ '@napi-rs/wasm-runtime@1.1.1':
+ resolution: {integrity: sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==}
+
'@nodelib/fs.scandir@2.1.5':
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
engines: {node: '>= 8'}
@@ -1038,20 +897,128 @@ packages:
resolution: {integrity: sha512-3dsKlf4Ma7o+uxLIg5OI1Tgwfet2pE8WTbPjEGWvOe6CSjMtK0skJnnSVHaEVX4N4mYU81To0qDeZOPqjaUotg==}
engines: {node: '>=12.4.0'}
+ '@oxc-resolver/binding-android-arm-eabi@11.16.4':
+ resolution: {integrity: sha512-6XUHilmj8D6Ggus+sTBp64x/DUQ7LgC/dvTDdUOt4iMQnDdSep6N1mnvVLIiG+qM5tRnNHravNzBJnUlYwRQoA==}
+ cpu: [arm]
+ os: [android]
+
+ '@oxc-resolver/binding-android-arm64@11.16.4':
+ resolution: {integrity: sha512-5ODwd1F5mdkm6JIg1CNny9yxIrCzrkKpxmqas7Alw23vE0Ot8D4ykqNBW5Z/nIZkXVEo5VDmnm0sMBBIANcpeQ==}
+ cpu: [arm64]
+ os: [android]
+
+ '@oxc-resolver/binding-darwin-arm64@11.16.4':
+ resolution: {integrity: sha512-egwvDK9DMU4Q8F4BG74/n4E22pQ0lT5ukOVB6VXkTj0iG2fnyoStHoFaBnmDseLNRA4r61Mxxz8k940CIaJMDg==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@oxc-resolver/binding-darwin-x64@11.16.4':
+ resolution: {integrity: sha512-HMkODYrAG4HaFNCpaYzSQFkxeiz2wzl+smXwxeORIQVEo1WAgUrWbvYT/0RNJg/A8z2aGMGK5KWTUr2nX5GiMw==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@oxc-resolver/binding-freebsd-x64@11.16.4':
+ resolution: {integrity: sha512-mkcKhIdSlUqnndD928WAVVFMEr1D5EwHOBGHadypW0PkM0h4pn89ZacQvU7Qs/Z2qquzvbyw8m4Mq3jOYI+4Dw==}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@oxc-resolver/binding-linux-arm-gnueabihf@11.16.4':
+ resolution: {integrity: sha512-ZJvzbmXI/cILQVcJL9S2Fp7GLAIY4Yr6mpGb+k6LKLUSEq85yhG+rJ9eWCqgULVIf2BFps/NlmPTa7B7oj8jhQ==}
+ cpu: [arm]
+ os: [linux]
+
+ '@oxc-resolver/binding-linux-arm-musleabihf@11.16.4':
+ resolution: {integrity: sha512-iZUB0W52uB10gBUDAi79eTnzqp1ralikCAjfq7CdokItwZUVJXclNYANnzXmtc0Xr0ox+YsDsG2jGcj875SatA==}
+ cpu: [arm]
+ os: [linux]
+
+ '@oxc-resolver/binding-linux-arm64-gnu@11.16.4':
+ resolution: {integrity: sha512-qNQk0H6q1CnwS9cnvyjk9a+JN8BTbxK7K15Bb5hYfJcKTG1hfloQf6egndKauYOO0wu9ldCMPBrEP1FNIQEhaA==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxc-resolver/binding-linux-arm64-musl@11.16.4':
+ resolution: {integrity: sha512-wEXSaEaYxGGoVSbw0i2etjDDWcqErKr8xSkTdwATP798efsZmodUAcLYJhN0Nd4W35Oq6qAvFGHpKwFrrhpTrA==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@oxc-resolver/binding-linux-ppc64-gnu@11.16.4':
+ resolution: {integrity: sha512-CUFOlpb07DVOFLoYiaTfbSBRPIhNgwc/MtlYeg3p6GJJw+kEm/vzc9lohPSjzF2MLPB5hzsJdk+L/GjrTT3UPw==}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxc-resolver/binding-linux-riscv64-gnu@11.16.4':
+ resolution: {integrity: sha512-d8It4AH8cN9ReK1hW6ZO4x3rMT0hB2LYH0RNidGogV9xtnjLRU+Y3MrCeClLyOSGCibmweJJAjnwB7AQ31GEhg==}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxc-resolver/binding-linux-riscv64-musl@11.16.4':
+ resolution: {integrity: sha512-d09dOww9iKyEHSxuOQ/Iu2aYswl0j7ExBcyy14D6lJ5ijQSP9FXcJYJsJ3yvzboO/PDEFjvRuF41f8O1skiPVg==}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [musl]
+
+ '@oxc-resolver/binding-linux-s390x-gnu@11.16.4':
+ resolution: {integrity: sha512-lhjyGmUzTWHduZF3MkdUSEPMRIdExnhsqv8u1upX3A15epVn6YVwv4msFQPJl1x1wszkACPeDHGOtzHsITXGdw==}
+ cpu: [s390x]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxc-resolver/binding-linux-x64-gnu@11.16.4':
+ resolution: {integrity: sha512-ZtqqiI5rzlrYBm/IMMDIg3zvvVj4WO/90Dg/zX+iA8lWaLN7K5nroXb17MQ4WhI5RqlEAgrnYDXW+hok1D9Kaw==}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxc-resolver/binding-linux-x64-musl@11.16.4':
+ resolution: {integrity: sha512-LM424h7aaKcMlqHnQWgTzO+GRNLyjcNnMpqm8SygEtFRVW693XS+XGXYvjORlmJtsyjo84ej1FMb3U2HE5eyjg==}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@oxc-resolver/binding-openharmony-arm64@11.16.4':
+ resolution: {integrity: sha512-8w8U6A5DDWTBv3OUxSD9fNk37liZuEC5jnAc9wQRv9DeYKAXvuUtBfT09aIZ58swaci0q1WS48/CoMVEO6jdCA==}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@oxc-resolver/binding-wasm32-wasi@11.16.4':
+ resolution: {integrity: sha512-hnjb0mDVQOon6NdfNJ1EmNquonJUjoYkp7UyasjxVa4iiMcApziHP4czzzme6WZbp+vzakhVv2Yi5ACTon3Zlw==}
+ engines: {node: '>=14.0.0'}
+ cpu: [wasm32]
+
+ '@oxc-resolver/binding-win32-arm64-msvc@11.16.4':
+ resolution: {integrity: sha512-+i0XtNfSP7cfnh1T8FMrMm4HxTeh0jxKP/VQCLWbjdUxaAQ4damho4gN9lF5dl0tZahtdszXLUboBFNloSJNOQ==}
+ cpu: [arm64]
+ os: [win32]
+
+ '@oxc-resolver/binding-win32-ia32-msvc@11.16.4':
+ resolution: {integrity: sha512-ePW1islJrv3lPnef/iWwrjrSpRH8kLlftdKf2auQNWvYLx6F0xvcnv9d+r/upnVuttoQY9amLnWJf+JnCRksTw==}
+ cpu: [ia32]
+ os: [win32]
+
+ '@oxc-resolver/binding-win32-x64-msvc@11.16.4':
+ resolution: {integrity: sha512-qnjQhjHI4TDL3hkidZyEmQRK43w2NHl6TP5Rnt/0XxYuLdEgx/1yzShhYidyqWzdnhGhSPTM/WVP2mK66XLegA==}
+ cpu: [x64]
+ os: [win32]
+
'@pkgr/core@0.2.9':
resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==}
engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
- '@playwright/test@1.57.0':
- resolution: {integrity: sha512-6TyEnHgd6SArQO8UO2OMTxshln3QMWBtPGrOCgs3wVEmQmwyuNtB10IZMfmYDE0riwNR1cu4q+pPcxMVtaG3TA==}
+ '@playwright/test@1.58.0':
+ resolution: {integrity: sha512-fWza+Lpbj6SkQKCrU6si4iu+fD2dD3gxNHFhUPxsfXBPhnv3rRSQVd0NtBUT9Z/RhF/boCBcuUaMUSTRTopjZg==}
engines: {node: '>=18'}
hasBin: true
'@popperjs/core@2.11.8':
resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==}
- '@primer/octicons@19.21.1':
- resolution: {integrity: sha512-7tgtBkCNcg75YJnckinzvES+uxysYQCe+CHSEnzr3VYgxttzKRvfmrnVogl3aEuHCQP4xhiE9k2lFDhYwGtTzQ==}
+ '@primer/octicons@19.21.2':
+ resolution: {integrity: sha512-SRTcpAZtKYh2266VQpAqNkXAQpPvYWk6dxggkHDzwI95NrE5mEzJ7cfFt/bSVbqDffKQ+tm7TEdLHoSjEcggfQ==}
'@resvg/resvg-wasm@2.6.2':
resolution: {integrity: sha512-FqALmHI8D4o6lk/LRWDnhw95z5eO+eAa6ORjVg09YRR7BkcM6oPHU9uyC0gtQG5vpFLvgpeU4+zEAz2H8APHNw==}
@@ -1060,113 +1027,141 @@ packages:
'@rolldown/pluginutils@1.0.0-beta.53':
resolution: {integrity: sha512-vENRlFU4YbrwVqNDZ7fLvy+JR1CRkyr01jhSiDpE1u6py3OMzQfztQU2jxykW3ALNxO4kSlqIDeYyD0Y9RcQeQ==}
- '@rollup/rollup-android-arm-eabi@4.53.5':
- resolution: {integrity: sha512-iDGS/h7D8t7tvZ1t6+WPK04KD0MwzLZrG0se1hzBjSi5fyxlsiggoJHwh18PCFNn7tG43OWb6pdZ6Y+rMlmyNQ==}
+ '@rollup/rollup-android-arm-eabi@4.56.0':
+ resolution: {integrity: sha512-LNKIPA5k8PF1+jAFomGe3qN3bbIgJe/IlpDBwuVjrDKrJhVWywgnJvflMt/zkbVNLFtF1+94SljYQS6e99klnw==}
cpu: [arm]
os: [android]
- '@rollup/rollup-android-arm64@4.53.5':
- resolution: {integrity: sha512-wrSAViWvZHBMMlWk6EJhvg8/rjxzyEhEdgfMMjREHEq11EtJ6IP6yfcCH57YAEca2Oe3FNCE9DSTgU70EIGmVw==}
+ '@rollup/rollup-android-arm64@4.56.0':
+ resolution: {integrity: sha512-lfbVUbelYqXlYiU/HApNMJzT1E87UPGvzveGg2h0ktUNlOCxKlWuJ9jtfvs1sKHdwU4fzY7Pl8sAl49/XaEk6Q==}
cpu: [arm64]
os: [android]
- '@rollup/rollup-darwin-arm64@4.53.5':
- resolution: {integrity: sha512-S87zZPBmRO6u1YXQLwpveZm4JfPpAa6oHBX7/ghSiGH3rz/KDgAu1rKdGutV+WUI6tKDMbaBJomhnT30Y2t4VQ==}
+ '@rollup/rollup-darwin-arm64@4.56.0':
+ resolution: {integrity: sha512-EgxD1ocWfhoD6xSOeEEwyE7tDvwTgZc8Bss7wCWe+uc7wO8G34HHCUH+Q6cHqJubxIAnQzAsyUsClt0yFLu06w==}
cpu: [arm64]
os: [darwin]
- '@rollup/rollup-darwin-x64@4.53.5':
- resolution: {integrity: sha512-YTbnsAaHo6VrAczISxgpTva8EkfQus0VPEVJCEaboHtZRIb6h6j0BNxRBOwnDciFTZLDPW5r+ZBmhL/+YpTZgA==}
+ '@rollup/rollup-darwin-x64@4.56.0':
+ resolution: {integrity: sha512-1vXe1vcMOssb/hOF8iv52A7feWW2xnu+c8BV4t1F//m9QVLTfNVpEdja5ia762j/UEJe2Z1jAmEqZAK42tVW3g==}
cpu: [x64]
os: [darwin]
- '@rollup/rollup-freebsd-arm64@4.53.5':
- resolution: {integrity: sha512-1T8eY2J8rKJWzaznV7zedfdhD1BqVs1iqILhmHDq/bqCUZsrMt+j8VCTHhP0vdfbHK3e1IQ7VYx3jlKqwlf+vw==}
+ '@rollup/rollup-freebsd-arm64@4.56.0':
+ resolution: {integrity: sha512-bof7fbIlvqsyv/DtaXSck4VYQ9lPtoWNFCB/JY4snlFuJREXfZnm+Ej6yaCHfQvofJDXLDMTVxWscVSuQvVWUQ==}
cpu: [arm64]
os: [freebsd]
- '@rollup/rollup-freebsd-x64@4.53.5':
- resolution: {integrity: sha512-sHTiuXyBJApxRn+VFMaw1U+Qsz4kcNlxQ742snICYPrY+DDL8/ZbaC4DVIB7vgZmp3jiDaKA0WpBdP0aqPJoBQ==}
+ '@rollup/rollup-freebsd-x64@4.56.0':
+ resolution: {integrity: sha512-KNa6lYHloW+7lTEkYGa37fpvPq+NKG/EHKM8+G/g9WDU7ls4sMqbVRV78J6LdNuVaeeK5WB9/9VAFbKxcbXKYg==}
cpu: [x64]
os: [freebsd]
- '@rollup/rollup-linux-arm-gnueabihf@4.53.5':
- resolution: {integrity: sha512-dV3T9MyAf0w8zPVLVBptVlzaXxka6xg1f16VAQmjg+4KMSTWDvhimI/Y6mp8oHwNrmnmVl9XxJ/w/mO4uIQONA==}
+ '@rollup/rollup-linux-arm-gnueabihf@4.56.0':
+ resolution: {integrity: sha512-E8jKK87uOvLrrLN28jnAAAChNq5LeCd2mGgZF+fGF5D507WlG/Noct3lP/QzQ6MrqJ5BCKNwI9ipADB6jyiq2A==}
cpu: [arm]
os: [linux]
+ libc: [glibc]
- '@rollup/rollup-linux-arm-musleabihf@4.53.5':
- resolution: {integrity: sha512-wIGYC1x/hyjP+KAu9+ewDI+fi5XSNiUi9Bvg6KGAh2TsNMA3tSEs+Sh6jJ/r4BV/bx/CyWu2ue9kDnIdRyafcQ==}
+ '@rollup/rollup-linux-arm-musleabihf@4.56.0':
+ resolution: {integrity: sha512-jQosa5FMYF5Z6prEpTCCmzCXz6eKr/tCBssSmQGEeozA9tkRUty/5Vx06ibaOP9RCrW1Pvb8yp3gvZhHwTDsJw==}
cpu: [arm]
os: [linux]
+ libc: [musl]
- '@rollup/rollup-linux-arm64-gnu@4.53.5':
- resolution: {integrity: sha512-Y+qVA0D9d0y2FRNiG9oM3Hut/DgODZbU9I8pLLPwAsU0tUKZ49cyV1tzmB/qRbSzGvY8lpgGkJuMyuhH7Ma+Vg==}
+ '@rollup/rollup-linux-arm64-gnu@4.56.0':
+ resolution: {integrity: sha512-uQVoKkrC1KGEV6udrdVahASIsaF8h7iLG0U0W+Xn14ucFwi6uS539PsAr24IEF9/FoDtzMeeJXJIBo5RkbNWvQ==}
cpu: [arm64]
os: [linux]
+ libc: [glibc]
- '@rollup/rollup-linux-arm64-musl@4.53.5':
- resolution: {integrity: sha512-juaC4bEgJsyFVfqhtGLz8mbopaWD+WeSOYr5E16y+1of6KQjc0BpwZLuxkClqY1i8sco+MdyoXPNiCkQou09+g==}
+ '@rollup/rollup-linux-arm64-musl@4.56.0':
+ resolution: {integrity: sha512-vLZ1yJKLxhQLFKTs42RwTwa6zkGln+bnXc8ueFGMYmBTLfNu58sl5/eXyxRa2RarTkJbXl8TKPgfS6V5ijNqEA==}
cpu: [arm64]
os: [linux]
+ libc: [musl]
- '@rollup/rollup-linux-loong64-gnu@4.53.5':
- resolution: {integrity: sha512-rIEC0hZ17A42iXtHX+EPJVL/CakHo+tT7W0pbzdAGuWOt2jxDFh7A/lRhsNHBcqL4T36+UiAgwO8pbmn3dE8wA==}
+ '@rollup/rollup-linux-loong64-gnu@4.56.0':
+ resolution: {integrity: sha512-FWfHOCub564kSE3xJQLLIC/hbKqHSVxy8vY75/YHHzWvbJL7aYJkdgwD/xGfUlL5UV2SB7otapLrcCj2xnF1dg==}
cpu: [loong64]
os: [linux]
+ libc: [glibc]
- '@rollup/rollup-linux-ppc64-gnu@4.53.5':
- resolution: {integrity: sha512-T7l409NhUE552RcAOcmJHj3xyZ2h7vMWzcwQI0hvn5tqHh3oSoclf9WgTl+0QqffWFG8MEVZZP1/OBglKZx52Q==}
+ '@rollup/rollup-linux-loong64-musl@4.56.0':
+ resolution: {integrity: sha512-z1EkujxIh7nbrKL1lmIpqFTc/sr0u8Uk0zK/qIEFldbt6EDKWFk/pxFq3gYj4Bjn3aa9eEhYRlL3H8ZbPT1xvA==}
+ cpu: [loong64]
+ os: [linux]
+ libc: [musl]
+
+ '@rollup/rollup-linux-ppc64-gnu@4.56.0':
+ resolution: {integrity: sha512-iNFTluqgdoQC7AIE8Q34R3AuPrJGJirj5wMUErxj22deOcY7XwZRaqYmB6ZKFHoVGqRcRd0mqO+845jAibKCkw==}
cpu: [ppc64]
os: [linux]
+ libc: [glibc]
- '@rollup/rollup-linux-riscv64-gnu@4.53.5':
- resolution: {integrity: sha512-7OK5/GhxbnrMcxIFoYfhV/TkknarkYC1hqUw1wU2xUN3TVRLNT5FmBv4KkheSG2xZ6IEbRAhTooTV2+R5Tk0lQ==}
+ '@rollup/rollup-linux-ppc64-musl@4.56.0':
+ resolution: {integrity: sha512-MtMeFVlD2LIKjp2sE2xM2slq3Zxf9zwVuw0jemsxvh1QOpHSsSzfNOTH9uYW9i1MXFxUSMmLpeVeUzoNOKBaWg==}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [musl]
+
+ '@rollup/rollup-linux-riscv64-gnu@4.56.0':
+ resolution: {integrity: sha512-in+v6wiHdzzVhYKXIk5U74dEZHdKN9KH0Q4ANHOTvyXPG41bajYRsy7a8TPKbYPl34hU7PP7hMVHRvv/5aCSew==}
cpu: [riscv64]
os: [linux]
+ libc: [glibc]
- '@rollup/rollup-linux-riscv64-musl@4.53.5':
- resolution: {integrity: sha512-GwuDBE/PsXaTa76lO5eLJTyr2k8QkPipAyOrs4V/KJufHCZBJ495VCGJol35grx9xryk4V+2zd3Ri+3v7NPh+w==}
+ '@rollup/rollup-linux-riscv64-musl@4.56.0':
+ resolution: {integrity: sha512-yni2raKHB8m9NQpI9fPVwN754mn6dHQSbDTwxdr9SE0ks38DTjLMMBjrwvB5+mXrX+C0npX0CVeCUcvvvD8CNQ==}
cpu: [riscv64]
os: [linux]
+ libc: [musl]
- '@rollup/rollup-linux-s390x-gnu@4.53.5':
- resolution: {integrity: sha512-IAE1Ziyr1qNfnmiQLHBURAD+eh/zH1pIeJjeShleII7Vj8kyEm2PF77o+lf3WTHDpNJcu4IXJxNO0Zluro8bOw==}
+ '@rollup/rollup-linux-s390x-gnu@4.56.0':
+ resolution: {integrity: sha512-zhLLJx9nQPu7wezbxt2ut+CI4YlXi68ndEve16tPc/iwoylWS9B3FxpLS2PkmfYgDQtosah07Mj9E0khc3Y+vQ==}
cpu: [s390x]
os: [linux]
+ libc: [glibc]
- '@rollup/rollup-linux-x64-gnu@4.53.5':
- resolution: {integrity: sha512-Pg6E+oP7GvZ4XwgRJBuSXZjcqpIW3yCBhK4BcsANvb47qMvAbCjR6E+1a/U2WXz1JJxp9/4Dno3/iSJLcm5auw==}
+ '@rollup/rollup-linux-x64-gnu@4.56.0':
+ resolution: {integrity: sha512-MVC6UDp16ZSH7x4rtuJPAEoE1RwS8N4oK9DLHy3FTEdFoUTCFVzMfJl/BVJ330C+hx8FfprA5Wqx4FhZXkj2Kw==}
cpu: [x64]
os: [linux]
+ libc: [glibc]
- '@rollup/rollup-linux-x64-musl@4.53.5':
- resolution: {integrity: sha512-txGtluxDKTxaMDzUduGP0wdfng24y1rygUMnmlUJ88fzCCULCLn7oE5kb2+tRB+MWq1QDZT6ObT5RrR8HFRKqg==}
+ '@rollup/rollup-linux-x64-musl@4.56.0':
+ resolution: {integrity: sha512-ZhGH1eA4Qv0lxaV00azCIS1ChedK0V32952Md3FtnxSqZTBTd6tgil4nZT5cU8B+SIw3PFYkvyR4FKo2oyZIHA==}
cpu: [x64]
os: [linux]
+ libc: [musl]
- '@rollup/rollup-openharmony-arm64@4.53.5':
- resolution: {integrity: sha512-3DFiLPnTxiOQV993fMc+KO8zXHTcIjgaInrqlG8zDp1TlhYl6WgrOHuJkJQ6M8zHEcntSJsUp1XFZSY8C1DYbg==}
+ '@rollup/rollup-openbsd-x64@4.56.0':
+ resolution: {integrity: sha512-O16XcmyDeFI9879pEcmtWvD/2nyxR9mF7Gs44lf1vGGx8Vg2DRNx11aVXBEqOQhWb92WN4z7fW/q4+2NYzCbBA==}
+ cpu: [x64]
+ os: [openbsd]
+
+ '@rollup/rollup-openharmony-arm64@4.56.0':
+ resolution: {integrity: sha512-LhN/Reh+7F3RCgQIRbgw8ZMwUwyqJM+8pXNT6IIJAqm2IdKkzpCh/V9EdgOMBKuebIrzswqy4ATlrDgiOwbRcQ==}
cpu: [arm64]
os: [openharmony]
- '@rollup/rollup-win32-arm64-msvc@4.53.5':
- resolution: {integrity: sha512-nggc/wPpNTgjGg75hu+Q/3i32R00Lq1B6N1DO7MCU340MRKL3WZJMjA9U4K4gzy3dkZPXm9E1Nc81FItBVGRlA==}
+ '@rollup/rollup-win32-arm64-msvc@4.56.0':
+ resolution: {integrity: sha512-kbFsOObXp3LBULg1d3JIUQMa9Kv4UitDmpS+k0tinPBz3watcUiV2/LUDMMucA6pZO3WGE27P7DsfaN54l9ing==}
cpu: [arm64]
os: [win32]
- '@rollup/rollup-win32-ia32-msvc@4.53.5':
- resolution: {integrity: sha512-U/54pTbdQpPLBdEzCT6NBCFAfSZMvmjr0twhnD9f4EIvlm9wy3jjQ38yQj1AGznrNO65EWQMgm/QUjuIVrYF9w==}
+ '@rollup/rollup-win32-ia32-msvc@4.56.0':
+ resolution: {integrity: sha512-vSSgny54D6P4vf2izbtFm/TcWYedw7f8eBrOiGGecyHyQB9q4Kqentjaj8hToe+995nob/Wv48pDqL5a62EWtg==}
cpu: [ia32]
os: [win32]
- '@rollup/rollup-win32-x64-gnu@4.53.5':
- resolution: {integrity: sha512-2NqKgZSuLH9SXBBV2dWNRCZmocgSOx8OJSdpRaEcRlIfX8YrKxUT6z0F1NpvDVhOsl190UFTRh2F2WDWWCYp3A==}
+ '@rollup/rollup-win32-x64-gnu@4.56.0':
+ resolution: {integrity: sha512-FeCnkPCTHQJFbiGG49KjV5YGW/8b9rrXAM2Mz2kiIoktq2qsJxRD5giEMEOD2lPdgs72upzefaUvS+nc8E3UzQ==}
cpu: [x64]
os: [win32]
- '@rollup/rollup-win32-x64-msvc@4.53.5':
- resolution: {integrity: sha512-JRpZUhCfhZ4keB5v0fe02gQJy05GqboPOaxvjugW04RLSYYoB/9t2lx2u/tMs/Na/1NXfY8QYjgRljRpN+MjTQ==}
+ '@rollup/rollup-win32-x64-msvc@4.56.0':
+ resolution: {integrity: sha512-H8AE9Ur/t0+1VXujj90w0HrSOuv0Nq9r1vSZF2t5km20NTfosQsGGUXDaKdQZzwuLts7IyL1fYT4hM95TI9c4g==}
cpu: [x64]
os: [win32]
@@ -1186,6 +1181,10 @@ packages:
'@simonwep/pickr@1.9.0':
resolution: {integrity: sha512-oEYvv15PyfZzjoAzvXYt3UyNGwzsrpFxLaZKzkOSd0WYBVwLd19iJerePDONxC1iF6+DpcswPdLIM2KzCJuYFg==}
+ '@sindresorhus/merge-streams@4.0.0':
+ resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==}
+ engines: {node: '>=18'}
+
'@solid-primitives/refs@1.1.2':
resolution: {integrity: sha512-K7tf2thy7L+YJjdqXspXOg5xvNEOH8tgEWsp0+1mQk3obHBRD6hEjYZk7p7FlJphSZImS35je3UfmWuD7MhDfg==}
peerDependencies:
@@ -1204,17 +1203,17 @@ packages:
'@standard-schema/spec@1.1.0':
resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==}
- '@stylistic/eslint-plugin@5.6.1':
- resolution: {integrity: sha512-JCs+MqoXfXrRPGbGmho/zGS/jMcn3ieKl/A8YImqib76C8kjgZwq5uUFzc30lJkMvcchuRn6/v8IApLxli3Jyw==}
+ '@stylistic/eslint-plugin@5.7.1':
+ resolution: {integrity: sha512-zjTUwIsEfT+k9BmXwq1QEFYsb4afBlsI1AXFyWQBgggMzwBFOuu92pGrE5OFx90IOjNl+lUbQoTG7f8S0PkOdg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: '>=9.0.0'
- '@stylistic/stylelint-plugin@4.0.0':
- resolution: {integrity: sha512-CFwt3K4Y/7bygNCLCQ8Sy4Hzgbhxq3BsNW0FIuYxl17HD3ywptm54ocyeiLVRrk5jtz1Zwks7Xr9eiZt8SWHAw==}
- engines: {node: ^18.12 || >=20.9}
+ '@stylistic/stylelint-plugin@5.0.1':
+ resolution: {integrity: sha512-NaVwCNVZ2LyPA3TnUwvjO9c6P6VUjgRB8UP8SOW+cAOJBVqPPuOIDawsvvtql/LhkuR3JuTdGvr/RM3dUl8l2Q==}
+ engines: {node: '>=20.19.0'}
peerDependencies:
- stylelint: ^16.22.0
+ stylelint: ^17.0.0
'@swc/helpers@0.2.14':
resolution: {integrity: sha512-wpCQMhf5p5GhNg2MmGKXzUNwxe7zRiCsmqYsamez2beP7mKPCSiu+BjZcdN95yYSzO857kr0VfQewmGpS77nqA==}
@@ -1305,8 +1304,8 @@ packages:
'@types/d3-selection@3.0.11':
resolution: {integrity: sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==}
- '@types/d3-shape@3.1.7':
- resolution: {integrity: sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==}
+ '@types/d3-shape@3.1.8':
+ resolution: {integrity: sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==}
'@types/d3-time-format@4.0.3':
resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==}
@@ -1353,14 +1352,17 @@ packages:
'@types/jquery@3.5.33':
resolution: {integrity: sha512-SeyVJXlCZpEki5F0ghuYe+L+PprQta6nRZqhONt9F13dWBtR/ftoaIbdRQ7cis7womE+X2LKhsDdDtkkDhJS6g==}
+ '@types/js-yaml@4.0.9':
+ resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==}
+
'@types/json-schema@7.0.15':
resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
'@types/json5@0.0.29':
resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
- '@types/katex@0.16.7':
- resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==}
+ '@types/katex@0.16.8':
+ resolution: {integrity: sha512-trgaNyfU+Xh2Tc+ABIb44a5AYUpicB3uwirOioeOkNPPbmgRNtcWyDeeFRzjPZENO9Vq8gvVqfhaaXWLlevVwg==}
'@types/marked@4.3.2':
resolution: {integrity: sha512-a79Yc3TOk6dGdituy8hmTTJXjOkZ7zsFYV10L337ttq/rec8lRMDBpV7fL3uLx6TgbFCa5DU/h8FmIBQPSbU0w==}
@@ -1368,11 +1370,8 @@ packages:
'@types/ms@2.1.0':
resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
- '@types/node@20.19.27':
- resolution: {integrity: sha512-N2clP5pJhB2YnZJ3PIHFk5RkygRX5WO/5f0WC08tp0wd+sv0rsJk3MqWn3CbNmT2J505a5336jaQj4ph1AdMug==}
-
- '@types/node@25.0.3':
- resolution: {integrity: sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==}
+ '@types/node@25.0.10':
+ resolution: {integrity: sha512-zWW5KPngR/yvakJgGOmZ5vTBemDoSqF3AcV/LrO5u5wTWyEAVVh+IT39G4gtyAkh3CtTZs8aX/yRM82OfzHJRg==}
'@types/pdfobject@2.2.5':
resolution: {integrity: sha512-7gD5tqc/RUDq0PyoLemL0vEHxBYi+zY0WVaFAx/Y0jBsXFgot1vB9No1GhDZGwRGJMCIZbgAb74QG9MTyTNU/g==}
@@ -1407,63 +1406,66 @@ packages:
'@types/whatwg-mimetype@3.0.2':
resolution: {integrity: sha512-c2AKvDT8ToxLIOUlN51gTiHXflsfIFisS4pO7pDPoKouJCESkhZnEy623gwP9laCy5lnLDAw1vAzu2vM2YLOrA==}
- '@typescript-eslint/eslint-plugin@8.50.0':
- resolution: {integrity: sha512-O7QnmOXYKVtPrfYzMolrCTfkezCJS9+ljLdKW/+DCvRsc3UAz+sbH6Xcsv7p30+0OwUbeWfUDAQE0vpabZ3QLg==}
+ '@types/ws@8.18.1':
+ resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==}
+
+ '@typescript-eslint/eslint-plugin@8.53.1':
+ resolution: {integrity: sha512-cFYYFZ+oQFi6hUnBTbLRXfTJiaQtYE3t4O692agbBl+2Zy+eqSKWtPjhPXJu1G7j4RLjKgeJPDdq3EqOwmX5Ag==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- '@typescript-eslint/parser': ^8.50.0
+ '@typescript-eslint/parser': ^8.53.1
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/parser@8.50.0':
- resolution: {integrity: sha512-6/cmF2piao+f6wSxUsJLZjck7OQsYyRtcOZS02k7XINSNlz93v6emM8WutDQSXnroG2xwYlEVHJI+cPA7CPM3Q==}
+ '@typescript-eslint/parser@8.53.1':
+ resolution: {integrity: sha512-nm3cvFN9SqZGXjmw5bZ6cGmvJSyJPn0wU9gHAZZHDnZl2wF9PhHv78Xf06E0MaNk4zLVHL8hb2/c32XvyJOLQg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/project-service@8.50.0':
- resolution: {integrity: sha512-Cg/nQcL1BcoTijEWyx4mkVC56r8dj44bFDvBdygifuS20f3OZCHmFbjF34DPSi07kwlFvqfv/xOLnJ5DquxSGQ==}
+ '@typescript-eslint/project-service@8.53.1':
+ resolution: {integrity: sha512-WYC4FB5Ra0xidsmlPb+1SsnaSKPmS3gsjIARwbEkHkoWloQmuzcfypljaJcR78uyLA1h8sHdWWPHSLDI+MtNog==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/scope-manager@8.50.0':
- resolution: {integrity: sha512-xCwfuCZjhIqy7+HKxBLrDVT5q/iq7XBVBXLn57RTIIpelLtEIZHXAF/Upa3+gaCpeV1NNS5Z9A+ID6jn50VD4A==}
+ '@typescript-eslint/scope-manager@8.53.1':
+ resolution: {integrity: sha512-Lu23yw1uJMFY8cUeq7JlrizAgeQvWugNQzJp8C3x8Eo5Jw5Q2ykMdiiTB9vBVOOUBysMzmRRmUfwFrZuI2C4SQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/tsconfig-utils@8.50.0':
- resolution: {integrity: sha512-vxd3G/ybKTSlm31MOA96gqvrRGv9RJ7LGtZCn2Vrc5htA0zCDvcMqUkifcjrWNNKXHUU3WCkYOzzVSFBd0wa2w==}
+ '@typescript-eslint/tsconfig-utils@8.53.1':
+ resolution: {integrity: sha512-qfvLXS6F6b1y43pnf0pPbXJ+YoXIC7HKg0UGZ27uMIemKMKA6XH2DTxsEDdpdN29D+vHV07x/pnlPNVLhdhWiA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/type-utils@8.50.0':
- resolution: {integrity: sha512-7OciHT2lKCewR0mFoBrvZJ4AXTMe/sYOe87289WAViOocEmDjjv8MvIOT2XESuKj9jp8u3SZYUSh89QA4S1kQw==}
+ '@typescript-eslint/type-utils@8.53.1':
+ resolution: {integrity: sha512-MOrdtNvyhy0rHyv0ENzub1d4wQYKb2NmIqG7qEqPWFW7Mpy2jzFC3pQ2yKDvirZB7jypm5uGjF2Qqs6OIqu47w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/types@8.50.0':
- resolution: {integrity: sha512-iX1mgmGrXdANhhITbpp2QQM2fGehBse9LbTf0sidWK6yg/NE+uhV5dfU1g6EYPlcReYmkE9QLPq/2irKAmtS9w==}
+ '@typescript-eslint/types@8.53.1':
+ resolution: {integrity: sha512-jr/swrr2aRmUAUjW5/zQHbMaui//vQlsZcJKijZf3M26bnmLj8LyZUpj8/Rd6uzaek06OWsqdofN/Thenm5O8A==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/typescript-estree@8.50.0':
- resolution: {integrity: sha512-W7SVAGBR/IX7zm1t70Yujpbk+zdPq/u4soeFSknWFdXIFuWsBGBOUu/Tn/I6KHSKvSh91OiMuaSnYp3mtPt5IQ==}
+ '@typescript-eslint/typescript-estree@8.53.1':
+ resolution: {integrity: sha512-RGlVipGhQAG4GxV1s34O91cxQ/vWiHJTDHbXRr0li2q/BGg3RR/7NM8QDWgkEgrwQYCvmJV9ichIwyoKCQ+DTg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/utils@8.50.0':
- resolution: {integrity: sha512-87KgUXET09CRjGCi2Ejxy3PULXna63/bMYv72tCAlDJC3Yqwln0HiFJ3VJMst2+mEtNtZu5oFvX4qJGjKsnAgg==}
+ '@typescript-eslint/utils@8.53.1':
+ resolution: {integrity: sha512-c4bMvGVWW4hv6JmDUEG7fSYlWOl3II2I4ylt0NM+seinYQlZMQIaKaXIIVJWt9Ofh6whrpM+EdDQXKXjNovvrg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/visitor-keys@8.50.0':
- resolution: {integrity: sha512-Xzmnb58+Db78gT/CCj/PVCvK+zxbnsw6F+O1oheYszJbBSdEjVhQi3C/Xttzxgi/GLmpvOggRs1RFpiJ8+c34Q==}
+ '@typescript-eslint/visitor-keys@8.53.1':
+ resolution: {integrity: sha512-oy+wV7xDKFPRyNggmXuZQSBzvoLnpmJs+GhzRhPjrxl2b/jIlyjVokzm47CZCDUdXKr2zd7ZLodPfOBpOPyPlg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@unrs/resolver-binding-android-arm-eabi@1.11.1':
@@ -1505,41 +1507,49 @@ packages:
resolution: {integrity: sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==}
cpu: [arm64]
os: [linux]
+ libc: [glibc]
'@unrs/resolver-binding-linux-arm64-musl@1.11.1':
resolution: {integrity: sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==}
cpu: [arm64]
os: [linux]
+ libc: [musl]
'@unrs/resolver-binding-linux-ppc64-gnu@1.11.1':
resolution: {integrity: sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==}
cpu: [ppc64]
os: [linux]
+ libc: [glibc]
'@unrs/resolver-binding-linux-riscv64-gnu@1.11.1':
resolution: {integrity: sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==}
cpu: [riscv64]
os: [linux]
+ libc: [glibc]
'@unrs/resolver-binding-linux-riscv64-musl@1.11.1':
resolution: {integrity: sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==}
cpu: [riscv64]
os: [linux]
+ libc: [musl]
'@unrs/resolver-binding-linux-s390x-gnu@1.11.1':
resolution: {integrity: sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==}
cpu: [s390x]
os: [linux]
+ libc: [glibc]
'@unrs/resolver-binding-linux-x64-gnu@1.11.1':
resolution: {integrity: sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==}
cpu: [x64]
os: [linux]
+ libc: [glibc]
'@unrs/resolver-binding-linux-x64-musl@1.11.1':
resolution: {integrity: sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==}
cpu: [x64]
os: [linux]
+ libc: [musl]
'@unrs/resolver-binding-wasm32-wasi@1.11.1':
resolution: {integrity: sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==}
@@ -1568,8 +1578,8 @@ packages:
vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
vue: ^3.2.25
- '@vitest/eslint-plugin@1.5.2':
- resolution: {integrity: sha512-2t1F2iecXB/b1Ox4U137lhD3chihEE3dRVtu3qMD35tc6UqUjg1VGRJoS1AkFKwpT8zv8OQInzPQO06hrRkeqw==}
+ '@vitest/eslint-plugin@1.6.6':
+ resolution: {integrity: sha512-bwgQxQWRtnTVzsUHK824tBmHzjV0iTx3tZaiQIYDjX3SA7TsQS8CuDVqxXrRY3FaOUMgbGavesCxI9MOfFLm7Q==}
engines: {node: '>=18'}
peerDependencies:
eslint: '>=8.57.0'
@@ -1581,11 +1591,11 @@ packages:
vitest:
optional: true
- '@vitest/expect@4.0.16':
- resolution: {integrity: sha512-eshqULT2It7McaJkQGLkPjPjNph+uevROGuIMJdG3V+0BSR2w9u6J9Lwu+E8cK5TETlfou8GRijhafIMhXsimA==}
+ '@vitest/expect@4.0.18':
+ resolution: {integrity: sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ==}
- '@vitest/mocker@4.0.16':
- resolution: {integrity: sha512-yb6k4AZxJTB+q9ycAvsoxGn+j/po0UaPgajllBgt1PzoMAAmJGYFdDk0uCcRcxb3BrME34I6u8gHZTQlkqSZpg==}
+ '@vitest/mocker@4.0.18':
+ resolution: {integrity: sha512-HhVd0MDnzzsgevnOWCBj5Otnzobjy5wLBe4EdeeFGv8luMsGcYqDuFRMcttKWZA5vVO8RFjexVovXvAM4JoJDQ==}
peerDependencies:
msw: ^2.4.9
vite: ^6.0.0 || ^7.0.0-0
@@ -1595,66 +1605,61 @@ packages:
vite:
optional: true
- '@vitest/pretty-format@4.0.16':
- resolution: {integrity: sha512-eNCYNsSty9xJKi/UdVD8Ou16alu7AYiS2fCPRs0b1OdhJiV89buAXQLpTbe+X8V9L6qrs9CqyvU7OaAopJYPsA==}
+ '@vitest/pretty-format@4.0.18':
+ resolution: {integrity: sha512-P24GK3GulZWC5tz87ux0m8OADrQIUVDPIjjj65vBXYG17ZeU3qD7r+MNZ1RNv4l8CGU2vtTRqixrOi9fYk/yKw==}
- '@vitest/runner@4.0.16':
- resolution: {integrity: sha512-VWEDm5Wv9xEo80ctjORcTQRJ539EGPB3Pb9ApvVRAY1U/WkHXmmYISqU5E79uCwcW7xYUV38gwZD+RV755fu3Q==}
+ '@vitest/runner@4.0.18':
+ resolution: {integrity: sha512-rpk9y12PGa22Jg6g5M3UVVnTS7+zycIGk9ZNGN+m6tZHKQb7jrP7/77WfZy13Y/EUDd52NDsLRQhYKtv7XfPQw==}
- '@vitest/snapshot@4.0.16':
- resolution: {integrity: sha512-sf6NcrYhYBsSYefxnry+DR8n3UV4xWZwWxYbCJUt2YdvtqzSPR7VfGrY0zsv090DAbjFZsi7ZaMi1KnSRyK1XA==}
+ '@vitest/snapshot@4.0.18':
+ resolution: {integrity: sha512-PCiV0rcl7jKQjbgYqjtakly6T1uwv/5BQ9SwBLekVg/EaYeQFPiXcgrC2Y7vDMA8dM1SUEAEV82kgSQIlXNMvA==}
- '@vitest/spy@4.0.16':
- resolution: {integrity: sha512-4jIOWjKP0ZUaEmJm00E0cOBLU+5WE0BpeNr3XN6TEF05ltro6NJqHWxXD0kA8/Zc8Nh23AT8WQxwNG+WeROupw==}
+ '@vitest/spy@4.0.18':
+ resolution: {integrity: sha512-cbQt3PTSD7P2OARdVW3qWER5EGq7PHlvE+QfzSC0lbwO+xnt7+XH06ZzFjFRgzUX//JmpxrCu92VdwvEPlWSNw==}
- '@vitest/utils@4.0.16':
- resolution: {integrity: sha512-h8z9yYhV3e1LEfaQ3zdypIrnAg/9hguReGZoS7Gl0aBG5xgA410zBqECqmaF/+RkTggRsfnzc1XaAHA6bmUufA==}
+ '@vitest/utils@4.0.18':
+ resolution: {integrity: sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA==}
- '@volar/language-core@2.4.26':
- resolution: {integrity: sha512-hH0SMitMxnB43OZpyF1IFPS9bgb2I3bpCh76m2WEK7BE0A0EzpYsRp0CCH2xNKshr7kacU5TQBLYn4zj7CG60A==}
+ '@volar/language-core@2.4.27':
+ resolution: {integrity: sha512-DjmjBWZ4tJKxfNC1F6HyYERNHPYS7L7OPFyCrestykNdUZMFYzI9WTyvwPcaNaHlrEUwESHYsfEw3isInncZxQ==}
- '@volar/source-map@2.4.26':
- resolution: {integrity: sha512-JJw0Tt/kSFsIRmgTQF4JSt81AUSI1aEye5Zl65EeZ8H35JHnTvFGmpDOBn5iOxd48fyGE+ZvZBp5FcgAy/1Qhw==}
+ '@volar/source-map@2.4.27':
+ resolution: {integrity: sha512-ynlcBReMgOZj2i6po+qVswtDUeeBRCTgDurjMGShbm8WYZgJ0PA4RmtebBJ0BCYol1qPv3GQF6jK7C9qoVc7lg==}
- '@volar/typescript@2.4.26':
- resolution: {integrity: sha512-N87ecLD48Sp6zV9zID/5yuS1+5foj0DfuYGdQ6KHj/IbKvyKv1zNX6VCmnKYwtmHadEO6mFc2EKISiu3RDPAvA==}
+ '@volar/typescript@2.4.27':
+ resolution: {integrity: sha512-eWaYCcl/uAPInSK2Lze6IqVWaBu/itVqR5InXcHXFyles4zO++Mglt3oxdgj75BDcv1Knr9Y93nowS8U3wqhxg==}
- '@vue/compiler-core@3.5.25':
- resolution: {integrity: sha512-vay5/oQJdsNHmliWoZfHPoVZZRmnSWhug0BYT34njkYTPqClh3DNWLkZNJBVSjsNMrg0CCrBfoKkjZQPM/QVUw==}
+ '@vue/compiler-core@3.5.27':
+ resolution: {integrity: sha512-gnSBQjZA+//qDZen+6a2EdHqJ68Z7uybrMf3SPjEGgG4dicklwDVmMC1AeIHxtLVPT7sn6sH1KOO+tS6gwOUeQ==}
- '@vue/compiler-dom@3.5.25':
- resolution: {integrity: sha512-4We0OAcMZsKgYoGlMjzYvaoErltdFI2/25wqanuTu+S4gismOTRTBPi4IASOjxWdzIwrYSjnqONfKvuqkXzE2Q==}
+ '@vue/compiler-dom@3.5.27':
+ resolution: {integrity: sha512-oAFea8dZgCtVVVTEC7fv3T5CbZW9BxpFzGGxC79xakTr6ooeEqmRuvQydIiDAkglZEAd09LgVf1RoDnL54fu5w==}
- '@vue/compiler-sfc@3.5.25':
- resolution: {integrity: sha512-PUgKp2rn8fFsI++lF2sO7gwO2d9Yj57Utr5yEsDf3GNaQcowCLKL7sf+LvVFvtJDXUp/03+dC6f2+LCv5aK1ag==}
+ '@vue/compiler-sfc@3.5.27':
+ resolution: {integrity: sha512-sHZu9QyDPeDmN/MRoshhggVOWE5WlGFStKFwu8G52swATgSny27hJRWteKDSUUzUH+wp+bmeNbhJnEAel/auUQ==}
- '@vue/compiler-ssr@3.5.25':
- resolution: {integrity: sha512-ritPSKLBcParnsKYi+GNtbdbrIE1mtuFEJ4U1sWeuOMlIziK5GtOL85t5RhsNy4uWIXPgk+OUdpnXiTdzn8o3A==}
+ '@vue/compiler-ssr@3.5.27':
+ resolution: {integrity: sha512-Sj7h+JHt512fV1cTxKlYhg7qxBvack+BGncSpH+8vnN+KN95iPIcqB5rsbblX40XorP+ilO7VIKlkuu3Xq2vjw==}
- '@vue/language-core@3.1.8':
- resolution: {integrity: sha512-PfwAW7BLopqaJbneChNL6cUOTL3GL+0l8paYP5shhgY5toBNidWnMXWM+qDwL7MC9+zDtzCF2enT8r6VPu64iw==}
+ '@vue/language-core@3.2.3':
+ resolution: {integrity: sha512-VpN/GnYDzGLh44AI6i1OB/WsLXo6vwnl0EWHBelGc4TyC0yEq6azwNaed/+Tgr8anFlSdWYnMEkyHJDPe7ii7A==}
+
+ '@vue/reactivity@3.5.27':
+ resolution: {integrity: sha512-vvorxn2KXfJ0nBEnj4GYshSgsyMNFnIQah/wczXlsNXt+ijhugmW+PpJ2cNPe4V6jpnBcs0MhCODKllWG+nvoQ==}
+
+ '@vue/runtime-core@3.5.27':
+ resolution: {integrity: sha512-fxVuX/fzgzeMPn/CLQecWeDIFNt3gQVhxM0rW02Tvp/YmZfXQgcTXlakq7IMutuZ/+Ogbn+K0oct9J3JZfyk3A==}
+
+ '@vue/runtime-dom@3.5.27':
+ resolution: {integrity: sha512-/QnLslQgYqSJ5aUmb5F0z0caZPGHRB8LEAQ1s81vHFM5CBfnun63rxhvE/scVb/j3TbBuoZwkJyiLCkBluMpeg==}
+
+ '@vue/server-renderer@3.5.27':
+ resolution: {integrity: sha512-qOz/5thjeP1vAFc4+BY3Nr6wxyLhpeQgAE/8dDtKo6a6xdk+L4W46HDZgNmLOBUDEkFXV3G7pRiUqxjX0/2zWA==}
peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ vue: 3.5.27
- '@vue/reactivity@3.5.25':
- resolution: {integrity: sha512-5xfAypCQepv4Jog1U4zn8cZIcbKKFka3AgWHEFQeK65OW+Ys4XybP6z2kKgws4YB43KGpqp5D/K3go2UPPunLA==}
-
- '@vue/runtime-core@3.5.25':
- resolution: {integrity: sha512-Z751v203YWwYzy460bzsYQISDfPjHTl+6Zzwo/a3CsAf+0ccEjQ8c+0CdX1WsumRTHeywvyUFtW6KvNukT/smA==}
-
- '@vue/runtime-dom@3.5.25':
- resolution: {integrity: sha512-a4WrkYFbb19i9pjkz38zJBg8wa/rboNERq3+hRRb0dHiJh13c+6kAbgqCPfMaJ2gg4weWD3APZswASOfmKwamA==}
-
- '@vue/server-renderer@3.5.25':
- resolution: {integrity: sha512-UJaXR54vMG61i8XNIzTSf2Q7MOqZHpp8+x3XLGtE3+fL+nQd+k7O5+X3D/uWrnQXOdMw5VPih+Uremcw+u1woQ==}
- peerDependencies:
- vue: 3.5.25
-
- '@vue/shared@3.5.25':
- resolution: {integrity: sha512-AbOPdQQnAnzs58H2FrrDxYj/TJfmeS2jdfEEhgiKINy+bnOANmVizIEgq1r+C5zsbs6l1CCQxtcj71rwNQ4jWg==}
+ '@vue/shared@3.5.27':
+ resolution: {integrity: sha512-dXr/3CgqXsJkZ0n9F3I4elY8wM9jMJpP3pvRG52r6m0tu/MsAFIe6JpXVGeNMd/D9F4hQynWT8Rfuj0bdm9kFQ==}
'@webassemblyjs/ast@1.14.1':
resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==}
@@ -1776,8 +1781,8 @@ packages:
ajv@8.17.1:
resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==}
- alien-signals@3.1.1:
- resolution: {integrity: sha512-ogkIWbVrLwKtHY6oOAXaYkAxP+cTH7V5FZ5+Tm4NZFd8VDZ6uNMDrfzqctTZ42eTMCSR3ne3otpcxmqSnFfPYA==}
+ alien-signals@3.1.2:
+ resolution: {integrity: sha512-d9dYqZTS90WLiU0I5c6DHj/HcKkF8ZyGN3G5x8wSbslulz70KOxaqCT0hQCo9KOyhVqzqGojvNdJXoTumZOtcw==}
ansi-regex@5.0.1:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
@@ -1819,12 +1824,8 @@ packages:
resolution: {integrity: sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==}
engines: {node: '>=0.10.0'}
- array-union@2.1.0:
- resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
- engines: {node: '>=8'}
-
- asciinema-player@3.13.5:
- resolution: {integrity: sha512-mgpJc9g6I+k4Tz5qVUNd0H+GoYlhiUwvlay6vD6IXiuiWOWhBOjxbvqQ1bcI/HPTrOYxhTyxZuzHIXM36Tw60Q==}
+ asciinema-player@3.14.0:
+ resolution: {integrity: sha512-44m3CpNavn8i7DSr/AeeV+rJpHpcqc/OCildCs9FAu5gnXB6XNBdbhfg6mHMG4uU3R1rxFNA3ZRTt8FMhHC48Q==}
assertion-error@2.0.1:
resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==}
@@ -1842,8 +1843,8 @@ packages:
engines: {node: '>= 4.5.0'}
hasBin: true
- axe-core@4.11.0:
- resolution: {integrity: sha512-ilYanEU8vxxBexpJd8cWM4ElSQq4QctCLKih0TSfjIfCQTeyH/6zVrmIJfLPrKTKJRbiG+cfnZbQIjAlJmF1jQ==}
+ axe-core@4.11.1:
+ resolution: {integrity: sha512-BASOg+YwO2C+346x3LZOeoovTIoTrRqEsqMa6fmfAV0P+U9mFr9NsyOEpiYvFjbc64NMrSswhV50WdXzdb/Z5A==}
engines: {node: '>=4'}
axobject-query@4.1.0:
@@ -1853,14 +1854,15 @@ packages:
balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
- balanced-match@2.0.0:
- resolution: {integrity: sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==}
+ balanced-match@3.0.1:
+ resolution: {integrity: sha512-vjtV3hiLqYDNRoiAv0zC4QaGAMPomEoq83PRmYIofPswwZurCeWR5LByXm7SyoL0Zh5+2z0+HC7jG8gSZJUh0w==}
+ engines: {node: '>= 16'}
base64-js@1.5.1:
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
- baseline-browser-mapping@2.9.9:
- resolution: {integrity: sha512-V8fbOCSeOFvlDj7LLChUcqbZrdKD9RU/VR260piF1790vT0mfLSwGc/Qzxv3IqiTukOpNtItePa0HBpMAj7MDg==}
+ baseline-browser-mapping@2.9.17:
+ resolution: {integrity: sha512-agD0MgJFUP/4nvjqzIB29zRPUuCF7Ge6mEv9s8dHrtYD7QWXRcx75rOADE/d5ah1NI+0vkDl0yorDd5U852IQQ==}
hasBin: true
big.js@5.2.2:
@@ -1906,8 +1908,8 @@ packages:
resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
engines: {node: '>= 0.8'}
- cacheable@2.3.1:
- resolution: {integrity: sha512-yr+FSHWn1ZUou5LkULX/S+jhfgfnLbuKQjE40tyEd4fxGZVMbBL5ifno0J0OauykS8UiCSgHi+DV/YD+rjFxFg==}
+ cacheable@2.3.2:
+ resolution: {integrity: sha512-w+ZuRNmex9c1TR9RcsxbfTKCjSL0rh1WA5SABbrWprIHeNBdmyQLSYonlDy9gpD+63XT8DgZ/wNh1Smvc9WnJA==}
callsites@3.1.0:
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
@@ -1917,11 +1919,11 @@ packages:
resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
engines: {node: '>= 6'}
- caniuse-lite@1.0.30001760:
- resolution: {integrity: sha512-7AAMPcueWELt1p3mi13HR/LHH0TJLT11cnwDJEs3xA4+CK/PLKeO9Kl1oru24htkyUKtkGCvAx4ohB0Ttry8Dw==}
+ caniuse-lite@1.0.30001766:
+ resolution: {integrity: sha512-4C0lfJ0/YPjJQHagaE9x2Elb69CIqEPZeG0anQt9SIvIoOH4a4uaRl73IavyO+0qZh6MDLH//DrXThEYKHkmYA==}
- chai@6.2.1:
- resolution: {integrity: sha512-p4Z49OGG5W/WBCPSS/dH3jQ73kD6tiMmUM+bckNK6Jr5JHMG3k9bg/BvKR8lKmtVBKmOiuVaV2ws8s9oSbwysg==}
+ chai@6.2.2:
+ resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==}
engines: {node: '>=18'}
chalk@4.1.2:
@@ -2039,8 +2041,8 @@ packages:
resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
engines: {node: '>= 12'}
- comment-parser@1.4.1:
- resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==}
+ comment-parser@1.4.5:
+ resolution: {integrity: sha512-aRDkn3uyIlCFfk5NUA+VdwMmMsh8JGhc4hapfV4yxymHGQ3BVskMQfoXGpCo5IoBuQ9tS5iiVKhCpTcB4pW4qw==}
engines: {node: '>= 12.0.0'}
compare-versions@6.1.1:
@@ -2052,8 +2054,8 @@ packages:
confbox@0.1.8:
resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==}
- core-js-compat@3.47.0:
- resolution: {integrity: sha512-IGfuznZ/n7Kp9+nypamBhvwdwLsW6KC8IOaURw2doAK5e98AG3acVLdh0woOnEqCfUtS+Vu882JE4k/DAm3ItQ==}
+ core-js-compat@3.48.0:
+ resolution: {integrity: sha512-OM4cAF3D6VtH/WkLtWvyNC56EZVXsZdU3iqaMG2B4WvYrlqU831pc4UtG5yp0sE9z8Y02wVN7PjW5Zf9Gt0f1Q==}
core-js@3.32.2:
resolution: {integrity: sha512-pxXSw1mYZPDGvTQqEc5vgIb83jGQKFGYWY76z4a7weZXUolw3G+OvpZqSRcfYOoOVUQJYEPsWeQK8pKEnUtWxQ==}
@@ -2196,8 +2198,8 @@ packages:
resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==}
engines: {node: '>=12'}
- d3-format@3.1.0:
- resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==}
+ d3-format@3.1.2:
+ resolution: {integrity: sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==}
engines: {node: '>=12'}
d3-geo@3.1.1:
@@ -2305,8 +2307,8 @@ packages:
supports-color:
optional: true
- decode-named-character-reference@1.2.0:
- resolution: {integrity: sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==}
+ decode-named-character-reference@1.3.0:
+ resolution: {integrity: sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==}
decode-uri-component@0.2.2:
resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==}
@@ -2336,10 +2338,6 @@ packages:
didyoumean@1.2.2:
resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
- dir-glob@3.0.1:
- resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
- engines: {node: '>=8'}
-
dlv@1.1.3:
resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
@@ -2375,8 +2373,8 @@ packages:
easymde@2.20.0:
resolution: {integrity: sha512-V1Z5f92TfR42Na852OWnIZMbM7zotWQYTddNaLYZFVKj7APBbyZ3FYJ27gBw2grMW3R6Qdv9J8n5Ij7XRSIgXQ==}
- electron-to-chromium@1.5.267:
- resolution: {integrity: sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==}
+ electron-to-chromium@1.5.278:
+ resolution: {integrity: sha512-dQ0tM1svDRQOwxnXxm+twlGTjr9Upvt8UFWAgmLsxEzFQxhbti4VwxmMjsDxVC51Zo84swW7FVCXEV+VAkhuPw==}
emoji-regex@10.6.0:
resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==}
@@ -2399,6 +2397,10 @@ packages:
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
engines: {node: '>=0.12'}
+ entities@7.0.1:
+ resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==}
+ engines: {node: '>=0.12'}
+
env-paths@2.2.1:
resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==}
engines: {node: '>=6'}
@@ -2417,16 +2419,11 @@ packages:
es-module-lexer@2.0.0:
resolution: {integrity: sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==}
- esbuild-loader@4.4.0:
- resolution: {integrity: sha512-4J+hXTpTtEdzUNLoY8ReqDNJx2NoldfiljRCiKbeYUuZmVaiJeDqFgyAzz8uOopaekwRoCcqBFyEroGQLFVZ1g==}
+ esbuild-loader@4.4.2:
+ resolution: {integrity: sha512-8LdoT9sC7fzfvhxhsIAiWhzLJr9yT3ggmckXxsgvM07wgrRxhuT98XhLn3E7VczU5W5AFsPKv9DdWcZIubbWkQ==}
peerDependencies:
webpack: ^4.40.0 || ^5.0.0
- esbuild@0.25.12:
- resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==}
- engines: {node: '>=18'}
- hasBin: true
-
esbuild@0.27.2:
resolution: {integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==}
engines: {node: '>=18'}
@@ -2568,14 +2565,14 @@ packages:
resolution: {integrity: sha512-brcKcxGnISN2CcVhXJ/kEQlNa0MEfGRtwKtWA16SkqXHKitaKIMrfemJKLKX1YqDU5C/5JY3PvZXd5jEW04e0Q==}
engines: {node: '>=5.0.0'}
- eslint-plugin-playwright@2.4.0:
- resolution: {integrity: sha512-MWNXfXlLfwXAjj4Z80PvCCFCXgCYy5OCHan57Z/beGrjkJ3maG1GanuGX8Ck6T6fagplBx2ZdkifxSfByftaTQ==}
+ eslint-plugin-playwright@2.5.0:
+ resolution: {integrity: sha512-1ckFw7Abdz+l23wtw5Tg4GTK3Y+MgEQQNjEr7FTJP3wwmIOj8DkbJ6G655aPc09c0Kfn/NoGA4xpMZzeSO4NWw==}
engines: {node: '>=16.9.0'}
peerDependencies:
eslint: '>=8.40.0'
- eslint-plugin-prettier@5.5.4:
- resolution: {integrity: sha512-swNtI95SToIz05YINMA6Ox5R057IMAmWZ26GqPxusAp1TZzj+IdY9tXNWWD3vkF/wEqydCONcwjTFpxybBqZsg==}
+ eslint-plugin-prettier@5.5.5:
+ resolution: {integrity: sha512-hscXkbqUZ2sPithAuLm5MXL+Wph+U7wHngPBv9OMWwlP8iaflyxpjTYZkmdgB4/vPIhemRlBEoLrH7UC1n7aUw==}
engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies:
'@types/eslint': '>=8.0.0'
@@ -2588,11 +2585,11 @@ packages:
eslint-config-prettier:
optional: true
- eslint-plugin-regexp@2.10.0:
- resolution: {integrity: sha512-ovzQT8ESVn5oOe5a7gIDPD5v9bCSjIFJu57sVPDqgPRXicQzOnYfFN21WoQBQF18vrhT5o7UMKFwJQVVjyJ0ng==}
- engines: {node: ^18 || >=20}
+ eslint-plugin-regexp@3.0.0:
+ resolution: {integrity: sha512-iW7hgAV8NOG6E2dz+VeKpq67YLQ9jaajOKYpoOSic2/q8y9BMdXBKkSR9gcMtbqEhNQzdW41E3wWzvhp8ExYwQ==}
+ engines: {node: ^20.19.0 || ^22.13.0 || >=24}
peerDependencies:
- eslint: '>=8.44.0'
+ eslint: '>=9.38.0'
eslint-plugin-sonarjs@3.0.5:
resolution: {integrity: sha512-dI62Ff3zMezUToi161hs2i1HX1ie8Ia2hO0jtNBfdgRBicAG4ydy2WPt0rMTrAe3ZrlqhpAO3w1jcQEdneYoFA==}
@@ -2612,8 +2609,8 @@ packages:
eslint: '>=5.0.0'
vue-eslint-parser: '>=7.1.0'
- eslint-plugin-vue@10.6.2:
- resolution: {integrity: sha512-nA5yUs/B1KmKzvC42fyD0+l9Yd+LtEpVhWRbXuDj0e+ZURcTtyRbMDWUeJmTAh2wC6jC83raS63anNM2YT3NPw==}
+ eslint-plugin-vue@10.7.0:
+ resolution: {integrity: sha512-r2XFCK4qlo1sxEoAMIoTTX0PZAdla0JJDt1fmYiworZUX67WeEGqm+JbyAg3M+pGiJ5U6Mp5WQbontXWtIW7TA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
'@stylistic/eslint-plugin': ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0
@@ -2665,8 +2662,8 @@ packages:
resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- esquery@1.6.0:
- resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
+ esquery@1.7.0:
+ resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==}
engines: {node: '>=0.10'}
esrecurse@4.3.0:
@@ -2725,8 +2722,11 @@ packages:
resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==}
engines: {node: '>= 4.9.1'}
- fastq@1.19.1:
- resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==}
+ fastq@1.20.1:
+ resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==}
+
+ fd-package-json@2.0.0:
+ resolution: {integrity: sha512-jKmm9YtsNXN789RS/0mSzOC1NUq9mkVd65vbSSVsKdjGvYXBuE4oWe2QOEoFeRmJg+lPuZxpmrfFclNhoRMneQ==}
fdir@6.5.0:
resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
@@ -2743,8 +2743,8 @@ packages:
fflate@0.8.2:
resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==}
- file-entry-cache@11.1.1:
- resolution: {integrity: sha512-TPVFSDE7q91Dlk1xpFLvFllf8r0HyOMOlnWy7Z2HBku5H3KhIeOGInexrIeg2D64DosVB/JXkrrk6N/7Wriq4A==}
+ file-entry-cache@11.1.2:
+ resolution: {integrity: sha512-N2WFfK12gmrK1c1GXOqiAJ1tc5YE+R53zvQ+t5P8S5XhnmKYVB5eZEiLNZKDSmoG8wqqbF9EXYBBW/nef19log==}
file-entry-cache@8.0.0:
resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
@@ -2770,8 +2770,8 @@ packages:
resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
engines: {node: '>=16'}
- flat-cache@6.1.19:
- resolution: {integrity: sha512-l/K33newPTZMTGAnnzaiqSl6NnH7Namh8jBNjrgjprWxGmZUuxx/sJNIRaijOh3n7q7ESbhNZC+pvVZMFdeU4A==}
+ flat-cache@6.1.20:
+ resolution: {integrity: sha512-AhHYqwvN62NVLp4lObVXGVluiABTHapoB57EyegZVmazN+hhGhLTn3uZbOofoTw4DSDvVCadzzyChXhOAvy8uQ==}
flat@5.0.2:
resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==}
@@ -2780,6 +2780,11 @@ packages:
flatted@3.3.3:
resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
+ formatly@0.3.0:
+ resolution: {integrity: sha512-9XNj/o4wrRFyhSMJOvsuyMwy8aUfBaZ1VrqHVfohyXf0Sw0e+yfKG+xZaY3arGCOMdwFsqObtzVOc1gU9KiT9w==}
+ engines: {node: '>=18.3.0'}
+ hasBin: true
+
fs.realpath@1.0.0:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
@@ -2834,9 +2839,13 @@ packages:
resolution: {integrity: sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==}
engines: {node: '>=18'}
- globby@11.1.0:
- resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
- engines: {node: '>=10'}
+ globals@17.1.0:
+ resolution: {integrity: sha512-8HoIcWI5fCvG5NADj4bDav+er9B9JMj2vyL2pI8D0eismKyUvPLTSs+Ln3wqhwcp306i73iyVnEKx3F6T47TGw==}
+ engines: {node: '>=18'}
+
+ globby@16.1.0:
+ resolution: {integrity: sha512-+A4Hq7m7Ze592k9gZRy4gJ27DrXRNnC1vPjxTt1qQxEY8RxagBkBxivkCwg7FxSTG0iLLEMaUx13oOr0R2/qcQ==}
+ engines: {node: '>=20'}
globjoin@0.1.4:
resolution: {integrity: sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==}
@@ -2851,27 +2860,31 @@ packages:
resolution: {integrity: sha512-tSQXBXS/MWQOn/RKckawJ61vvsDpCom87JgxiYdGwHdOa0ht0vzUWDlfioofFCRU0L+6NGDt6XzbgoJvZkMeRQ==}
engines: {node: '>=0.8.0'}
- happy-dom@20.0.11:
- resolution: {integrity: sha512-QsCdAUHAmiDeKeaNojb1OHOPF7NjcWPBR7obdu3NwH2a/oyQaLg5d0aaCy/9My6CdPChYF07dvz5chaXBGaD4g==}
+ happy-dom@20.3.7:
+ resolution: {integrity: sha512-sb5IzoRl1WJKsUSRe+IloJf3z1iDq5PQ7Yk/ULMsZ5IAQEs9ZL7RsFfiKBXU7nK9QmO+iz0e59EH8r8jexTZ/g==}
engines: {node: '>=20.0.0'}
has-flag@4.0.0:
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
engines: {node: '>=8'}
+ has-flag@5.0.1:
+ resolution: {integrity: sha512-CsNUt5x9LUdx6hnk/E2SZLsDyvfqANZSUq4+D3D8RzDJ2M+HDTIkF60ibS1vHaK55vzgiZw1bEPFG9yH7l33wA==}
+ engines: {node: '>=12'}
+
hash-sum@2.0.0:
resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==}
- hashery@1.3.0:
- resolution: {integrity: sha512-fWltioiy5zsSAs9ouEnvhsVJeAXRybGCNNv0lvzpzNOSDbULXRy7ivFWwCCv4I5Am6kSo75hmbsCduOoc2/K4w==}
+ hashery@1.4.0:
+ resolution: {integrity: sha512-Wn2i1In6XFxl8Az55kkgnFRiAlIAushzh26PTjL2AKtQcEfXrcLa7Hn5QOWGZEf3LU057P9TwwZjFyxfS1VuvQ==}
engines: {node: '>=20'}
- hookified@1.14.0:
- resolution: {integrity: sha512-pi1ynXIMFx/uIIwpWJ/5CEtOHLGtnUB0WhGeeYT+fKcQ+WCQbm3/rrkAXnpfph++PgepNqPdTC2WTj8A6k6zoQ==}
+ hookified@1.15.0:
+ resolution: {integrity: sha512-51w+ZZGt7Zw5q7rM3nC4t3aLn/xvKDETsXqMczndvwyVQhAHfUmUuFBRFcos8Iyebtk7OAE9dL26wFNzZVVOkw==}
- html-tags@3.3.1:
- resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==}
- engines: {node: '>=8'}
+ html-tags@5.1.0:
+ resolution: {integrity: sha512-n6l5uca7/y5joxZ3LUePhzmBFUJ+U2YWzhMa8XUTecSeSlQiZdF5XAd/Q3/WUl0VsXgUwWi8I7CNIwdI5WN1SQ==}
+ engines: {node: '>=20.10'}
htmlparser2@8.0.2:
resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==}
@@ -2912,6 +2925,9 @@ packages:
engines: {node: '>=8'}
hasBin: true
+ import-meta-resolve@4.2.0:
+ resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==}
+
imurmurhash@0.1.4:
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
engines: {node: '>=0.8.19'}
@@ -2990,6 +3006,10 @@ packages:
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
engines: {node: '>=0.12.0'}
+ is-path-inside@4.0.0:
+ resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==}
+ engines: {node: '>=12'}
+
is-plain-object@2.0.4:
resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==}
engines: {node: '>=0.10.0'}
@@ -3023,8 +3043,8 @@ packages:
resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==}
hasBin: true
- jquery@3.7.1:
- resolution: {integrity: sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==}
+ jquery@4.0.0:
+ resolution: {integrity: sha512-TXCHVR3Lb6TZdtw1l3RTLf8RBWVGexdxL6AC8/e0xZKEpBflBsjh9/8LXw+dkNFuOyW9B7iB3O1sP7hS0Kiacg==}
js-levenshtein-esm@2.0.0:
resolution: {integrity: sha512-1n4LEPOL4wRXY8rOQcuA7Iuaphe5xCMayvufCzlLAi+hRsnBRDbSS6XPuV58CBVJxj5D9ApFLyjQ7KzFToyHBw==}
@@ -3039,9 +3059,9 @@ packages:
resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==}
hasBin: true
- jsdoc-type-pratt-parser@4.8.0:
- resolution: {integrity: sha512-iZ8Bdb84lWRuGHamRXFyML07r21pcwBrLkHEuHgEY5UbCouBwv7ECknDRKzsQIXMiqpPymqtIf8TC/shYKB5rw==}
- engines: {node: '>=12.0.0'}
+ jsdoc-type-pratt-parser@7.1.0:
+ resolution: {integrity: sha512-SX7q7XyCwzM/MEDCYz0l8GgGbJAACGFII9+WfNYr5SLEKukHWRy2Jk3iWRe7P+lpYJNs7oQ+OSei4JtKGUjd7A==}
+ engines: {node: '>=20.0.0'}
jsesc@3.1.0:
resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
@@ -3097,8 +3117,8 @@ packages:
keyv@4.5.4:
resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
- keyv@5.5.5:
- resolution: {integrity: sha512-FA5LmZVF1VziNc0bIdCSA1IoSVnDCqE8HJIZZv2/W8YmoAM50+tnUgJR/gQZwEeIMleuIOnRnHA/UaZRNeV4iQ==}
+ keyv@5.6.0:
+ resolution: {integrity: sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==}
khroma@2.1.0:
resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==}
@@ -3111,6 +3131,14 @@ packages:
resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
engines: {node: '>=0.10.0'}
+ knip@5.82.1:
+ resolution: {integrity: sha512-1nQk+5AcnkqL40kGQXfouzAEXkTR+eSrgo/8m1d0BMei4eAzFwghoXC4gOKbACgBiCof7hE8wkBVDsEvznf85w==}
+ engines: {node: '>=18.18.0'}
+ hasBin: true
+ peerDependencies:
+ '@types/node': '>=18'
+ typescript: '>=5.0.4 <7'
+
known-css-properties@0.37.0:
resolution: {integrity: sha512-JCDrsP4Z1Sb9JwG0aJ8Eo2r7k4Ou5MwmThS/6lcIe1ICyb7UBJKGRIUUdqc2ASdE/42lgz6zFUnzAIhtXnBVrQ==}
@@ -3164,8 +3192,8 @@ packages:
lodash-es@4.17.21:
resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
- lodash-es@4.17.22:
- resolution: {integrity: sha512-XEawp1t0gxSi9x01glktRZ5HDy0HXqrM0x5pXQM98EaI0NxO6jVM7omDOxsuEo5UIASAnm2bRp1Jt/e0a2XU8Q==}
+ lodash-es@4.17.23:
+ resolution: {integrity: sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==}
lodash.camelcase@4.3.0:
resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==}
@@ -3188,8 +3216,8 @@ packages:
lodash.upperfirst@4.3.1:
resolution: {integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==}
- lodash@4.17.21:
- resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
+ lodash@4.17.23:
+ resolution: {integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==}
magic-string@0.30.21:
resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
@@ -3222,12 +3250,12 @@ packages:
engines: {node: '>= 12'}
hasBin: true
- material-icon-theme@5.29.0:
- resolution: {integrity: sha512-Kr6D+NgLCWYJjsTjGuIOoKUFG/uomUpLREhyV/9g4qWJMNfm7b1BYYMglRIdQg1IiY7WKqyTws8Ufsad6oFLUA==}
+ material-icon-theme@5.31.0:
+ resolution: {integrity: sha512-PPeGSRa+8stQEKvCr2Xym9KIqf2SPwl1chc7cxbK+aY6ORpwOcowtARQEXstZBjQwXTE5GnfE0zg0MFFy+XPzA==}
engines: {vscode: ^1.55.0}
- mathml-tag-names@2.1.3:
- resolution: {integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==}
+ mathml-tag-names@4.0.0:
+ resolution: {integrity: sha512-aa6AU2Pcx0VP/XWnh8IGL0SYSgQHDT6Ucror2j2mXeFAlN3ahaNs8EZtG1YiticMkSLj3Gt6VPFfZogt7G5iFQ==}
mdn-data@2.0.28:
resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==}
@@ -3238,9 +3266,9 @@ packages:
mdurl@2.0.0:
resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==}
- meow@13.2.0:
- resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==}
- engines: {node: '>=18'}
+ meow@14.0.0:
+ resolution: {integrity: sha512-JhC3R1f6dbspVtmF3vKjAWz1EVIvwFrGGPLSdU6rK79xBwHWTuHoLnRX/t1/zHS1Ch1Y2UtIrih7DAHuH9JFJA==}
+ engines: {node: '>=20'}
merge-stream@2.0.0:
resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
@@ -3339,8 +3367,8 @@ packages:
resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
engines: {node: '>= 0.6'}
- mini-css-extract-plugin@2.9.4:
- resolution: {integrity: sha512-ZWYT7ln73Hptxqxk2DxPU9MmapXRhxkJD6tkSR04dnQxm8BGu2hzgKLugK5yySD97u/8yy7Ma7E76k9ZdvtjkQ==}
+ mini-css-extract-plugin@2.10.0:
+ resolution: {integrity: sha512-540P2c5dYnJlyJxTaSloliZexv8rji6rY8FhQN+WF/82iHQfA23j/xtJx97L+mXOML27EqksSek/g4eK7jaL3g==}
engines: {node: '>= 12.13.0'}
peerDependencies:
webpack: ^5.0.0
@@ -3449,13 +3477,16 @@ packages:
once@1.4.0:
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
- online-3d-viewer@0.17.0:
- resolution: {integrity: sha512-CTymQf5hozDHCqgypWYTmwq6+moVyWSDZdCkSovGklipP1oQy7YCEupLvkmJjex27Sxeeyq2Q9GH3+cxKUwpvg==}
+ online-3d-viewer@0.18.0:
+ resolution: {integrity: sha512-y7ZlV/zkakNUyjqcXz6XecA7vXgLEUnaAey9tyx8o6/wcdV64RfjXAQOjGXGY2JOZoDi4Cg1ic9icSWMWAvRQA==}
optionator@0.9.4:
resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
engines: {node: '>= 0.8.0'}
+ oxc-resolver@11.16.4:
+ resolution: {integrity: sha512-nvJr3orFz1wNaBA4neRw7CAn0SsjgVaEw1UHpgO/lzVW12w+nsFnvU/S6vVX3kYyFaZdxZheTExi/fa8R8PrZA==}
+
p-limit@2.3.0:
resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
engines: {node: '>=6'}
@@ -3511,18 +3542,14 @@ packages:
path-parse@1.0.7:
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
- path-type@4.0.0:
- resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
- engines: {node: '>=8'}
-
pathe@2.0.3:
resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
pdfobject@2.3.1:
resolution: {integrity: sha512-vluuGiSDmMGpOvWFGiUY4trNB8aGKLDVxIXuuGHjX0kK3bMxCANUVtLivctE7uejLBScWCnbVarKatFVvdwXaQ==}
- perfect-debounce@2.0.0:
- resolution: {integrity: sha512-fkEH/OBiKrqqI/yIgjR92lMfs2K8105zt/VT6+7eTjNwisrsh47CeIED9z58zI7DfKdH3uHAn25ziRZn3kgAow==}
+ perfect-debounce@2.1.0:
+ resolution: {integrity: sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g==}
picocolors@1.1.1:
resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
@@ -3550,13 +3577,13 @@ packages:
pkg-types@1.3.1:
resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==}
- playwright-core@1.57.0:
- resolution: {integrity: sha512-agTcKlMw/mjBWOnD6kFZttAAGHgi/Nw0CZ2o6JqWSbMlI219lAFLZZCyqByTsvVAJq5XA5H8cA6PrvBRpBWEuQ==}
+ playwright-core@1.58.0:
+ resolution: {integrity: sha512-aaoB1RWrdNi3//rOeKuMiS65UCcgOVljU46At6eFcOFPFHWtd2weHRRow6z/n+Lec0Lvu0k9ZPKJSjPugikirw==}
engines: {node: '>=18'}
hasBin: true
- playwright@1.57.0:
- resolution: {integrity: sha512-ilYQj1s8sr2ppEJ2YVadYBN0Mb3mdo9J0wQ+UuDhzYqURwSoW4n1Xs5vs7ORwgDGmyEh33tRMeS8KhdkMoLXQw==}
+ playwright@1.58.0:
+ resolution: {integrity: sha512-2SVA0sbPktiIY/MCOPX8e86ehA/e+tDNq+e5Y8qjKYti2Z/JG7xnronT/TXTIkKbYGWlCbuucZ6dziEgkoEjQQ==}
engines: {node: '>=18'}
hasBin: true
@@ -3570,8 +3597,8 @@ packages:
points-on-path@0.2.1:
resolution: {integrity: sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==}
- postcss-html@1.8.0:
- resolution: {integrity: sha512-5mMeb1TgLWoRKxZ0Xh9RZDfwUUIqRrcxO2uXO+Ezl1N5lqpCiSU5Gk6+1kZediBfBHFtPCdopr2UZ2SgUsKcgQ==}
+ postcss-html@1.8.1:
+ resolution: {integrity: sha512-OLF6P7qctfAWayOhLpcVnTGqVeJzu2W3WpIYelfz2+JV5oGxfkcEvweN9U4XpeqE0P98dcD9ssusGwlF0TK0uQ==}
engines: {node: ^12 || >=14}
postcss-import@15.1.0:
@@ -3641,9 +3668,6 @@ packages:
peerDependencies:
postcss: ^8.2.14
- postcss-resolve-nested-selector@0.1.6:
- resolution: {integrity: sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==}
-
postcss-safe-parser@6.0.0:
resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==}
engines: {node: '>=12.0'}
@@ -3685,12 +3709,12 @@ packages:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
- prettier-linter-helpers@1.0.0:
- resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==}
+ prettier-linter-helpers@1.0.1:
+ resolution: {integrity: sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg==}
engines: {node: '>=6.0.0'}
- prettier@3.7.4:
- resolution: {integrity: sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==}
+ prettier@3.8.1:
+ resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==}
engines: {node: '>=14'}
hasBin: true
@@ -3702,8 +3726,8 @@ packages:
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
- qified@0.5.3:
- resolution: {integrity: sha512-kXuQdQTB6oN3KhI6V4acnBSZx8D2I4xzZvn9+wFLLFCoBNQY/sFnCW6c43OL7pOQ2HvGV4lnWIXNmgfp7cTWhQ==}
+ qified@0.6.0:
+ resolution: {integrity: sha512-tsSGN1x3h569ZSU1u6diwhltLyfUWDp3YbFHedapTmpBl0B3P6U3+Qptg7xu+v+1io1EwhdPyyRHYbEw0KN2FA==}
engines: {node: '>=20'}
queue-microtask@1.2.3:
@@ -3774,8 +3798,8 @@ packages:
robust-predicates@3.0.2:
resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==}
- rollup@4.53.5:
- resolution: {integrity: sha512-iTNAbFSlRpcHeeWu73ywU/8KuU/LZmNCSxp6fjQkJBD3ivUb8tpDrXhIxEzA05HlYMEwmtaUnb3RP+YNv162OQ==}
+ rollup@4.56.0:
+ resolution: {integrity: sha512-9FwVqlgUHzbXtDg9RCMgodF3Ua4Na6Gau+Sdt9vyCN4RhHfVKX2DCHy3BjMLTDd47ITDhYAnTwGulWTblJSDLg==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
@@ -3795,8 +3819,9 @@ packages:
sax@1.2.4:
resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==}
- sax@1.4.3:
- resolution: {integrity: sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ==}
+ sax@1.4.4:
+ resolution: {integrity: sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==}
+ engines: {node: '>=11.0.0'}
schema-utils@4.3.3:
resolution: {integrity: sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==}
@@ -3823,14 +3848,14 @@ packages:
serialize-javascript@6.0.2:
resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==}
- seroval-plugins@1.3.3:
- resolution: {integrity: sha512-16OL3NnUBw8JG1jBLUoZJsLnQq0n5Ua6aHalhJK4fMQkz1lqR7Osz1sA30trBtd9VUDc2NgkuRCn8+/pBwqZ+w==}
+ seroval-plugins@1.5.0:
+ resolution: {integrity: sha512-EAHqADIQondwRZIdeW2I636zgsODzoBDwb3PT/+7TLDWyw1Dy/Xv7iGUIEXXav7usHDE9HVhOU61irI3EnyyHA==}
engines: {node: '>=10'}
peerDependencies:
seroval: ^1.0
- seroval@1.3.2:
- resolution: {integrity: sha512-RbcPH1n5cfwKrru7v7+zrZvjLurgHhGyso3HTyGtRivGWgYjbOmGuivCQaORNELjNONoK35nj28EoWul9sb1zQ==}
+ seroval@1.5.0:
+ resolution: {integrity: sha512-OE4cvmJ1uSPrKorFIH9/w/Qwuvi/IMcGbv5RKgcJ/zjA/IohDLU6SVaxFN9FwajbP7nsX0dQqMDes1whk3y+yw==}
engines: {node: '>=10'}
shallow-clone@3.0.1:
@@ -3852,9 +3877,9 @@ packages:
resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
engines: {node: '>=14'}
- slash@3.0.0:
- resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
- engines: {node: '>=8'}
+ slash@5.1.0:
+ resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==}
+ engines: {node: '>=14.16'}
slice-ansi@4.0.0:
resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==}
@@ -3864,8 +3889,12 @@ packages:
resolution: {integrity: sha512-QlaZEqcAH3/RtNyet1IPIYPsEWAaYyXXv1Krsi+1L/QHppjX4Ifm8MQsBISz9vE8cHicIq3clogsheili5vhaQ==}
engines: {node: '>= 18'}
- solid-js@1.9.10:
- resolution: {integrity: sha512-Coz956cos/EPDlhs6+jsdTxKuJDPT7B5SVIWgABwROyxjY7Xbr8wkzD68Et+NxnV7DLJ3nJdAC2r9InuV/4Jew==}
+ smol-toml@1.6.0:
+ resolution: {integrity: sha512-4zemZi0HvTnYwLfrpk/CF9LOd9Lt87kAt50GnqhMpyF9U3poDAP2+iukq2bZsO/ufegbYehBkqINbsWxj4l4cw==}
+ engines: {node: '>= 18'}
+
+ solid-js@1.9.11:
+ resolution: {integrity: sha512-WEJtcc5mkh/BnHA6Yrg4whlF8g6QwpmXXRg4P2ztPmcKeHHlH4+djYecBLhSpecZY2RRECXYUwIc/C2r3yzQ4Q==}
solid-transition-group@0.2.3:
resolution: {integrity: sha512-iB72c9N5Kz9ykRqIXl0lQohOau4t0dhel9kjwFvx81UZJbVwaChMuBuyhiZmK24b8aKEK0w3uFM96ZxzcyZGdg==}
@@ -3966,14 +3995,18 @@ packages:
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
engines: {node: '>=8'}
+ strip-json-comments@5.0.3:
+ resolution: {integrity: sha512-1tB5mhVo7U+ETBKNf92xT4hrQa3pm0MZ0PQvuDnWgAAGHDsfp4lPSpiS6psrSiet87wyGPh9ft6wmhOMQ0hDiw==}
+ engines: {node: '>=14.16'}
+
style-search@0.1.0:
resolution: {integrity: sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==}
- stylelint-config-recommended@17.0.0:
- resolution: {integrity: sha512-WaMSdEiPfZTSFVoYmJbxorJfA610O0tlYuU2aEwY33UQhSPgFbClrVJYWvy3jGJx+XW37O+LyNLiZOEXhKhJmA==}
- engines: {node: '>=18.12.0'}
+ stylelint-config-recommended@18.0.0:
+ resolution: {integrity: sha512-mxgT2XY6YZ3HWWe3Di8umG6aBmWmHTblTgu/f10rqFXnyWxjKWwNdjSWkgkwCtxIKnqjSJzvFmPT5yabVIRxZg==}
+ engines: {node: '>=20.19.0'}
peerDependencies:
- stylelint: ^16.23.0
+ stylelint: ^17.0.0
stylelint-declaration-block-no-ignored-properties@2.8.0:
resolution: {integrity: sha512-Ws8Cav7Y+SPN0JsV407LrnNXWOrqGjxShf+37GBtnU/C58Syve9c0+I/xpLcFOosST3ternykn3Lp77f3ITnFw==}
@@ -3987,15 +4020,15 @@ packages:
peerDependencies:
stylelint: '>=7 <=16'
- stylelint-value-no-unknown-custom-properties@6.0.1:
- resolution: {integrity: sha512-N60PTdaTknB35j6D4FhW0GL2LlBRV++bRpXMMldWMQZ240yFQaoltzlLY4lXXs7Z0J5mNUYZQ/gjyVtU2DhCMA==}
+ stylelint-value-no-unknown-custom-properties@6.1.1:
+ resolution: {integrity: sha512-eQ1zidKD5t9zMEaskjGUY4W47lH76qMlmsDSmCAPEwtaGzB4Ls7ORTfysC1D6hamp2zFC+vN1vpQ+GFz3Tw3lw==}
engines: {node: '>=18.12.0'}
peerDependencies:
stylelint: '>=16'
- stylelint@16.26.1:
- resolution: {integrity: sha512-v20V59/crfc8sVTAtge0mdafI3AdnzQ2KsWe6v523L4OA1bJO02S7MO2oyXDCS6iWb9ckIPnqAFVItqSBQr7jw==}
- engines: {node: '>=18.12.0'}
+ stylelint@17.0.0:
+ resolution: {integrity: sha512-saMZ2mqdQre4AfouxcbTdpVglDRcROb4MIucKHvgsDb/0IX7ODhcaz+EOIyfxAsm8Zjl/7j4hJj6MgIYYM8Xwg==}
+ engines: {node: '>=20.19.0'}
hasBin: true
stylis@4.3.6:
@@ -4013,6 +4046,10 @@ packages:
superstruct@0.10.13:
resolution: {integrity: sha512-W4SitSZ9MOyMPbHreoZVEneSZyPEeNGbdfJo/7FkJyRs/M3wQRFzq+t3S/NBwlrFSWdx1ONLjLb9pB+UKe4IqQ==}
+ supports-color@10.2.2:
+ resolution: {integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==}
+ engines: {node: '>=18'}
+
supports-color@7.2.0:
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
engines: {node: '>=8'}
@@ -4021,9 +4058,9 @@ packages:
resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
engines: {node: '>=10'}
- supports-hyperlinks@3.2.0:
- resolution: {integrity: sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==}
- engines: {node: '>=14.18'}
+ supports-hyperlinks@4.4.0:
+ resolution: {integrity: sha512-UKbpT93hN5Nr9go5UY7bopIB9YQlMz9nm/ct4IXt/irb5YRkn9WaqrOBJGZ5Pwvsd5FQzSVeYlGdXoCAPQZrPg==}
+ engines: {node: '>=20'}
supports-preserve-symlinks-flag@1.0.0:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
@@ -4050,8 +4087,8 @@ packages:
resolution: {integrity: sha512-esiWJ7ixSKGpd9DJPBTC4ckChqdOjIwJfYhVHkcQ2Gnm41323p1TRmEI+esTQ9ppD+b5opps2OTEGTCGX5kF+g==}
engines: {node: '>=14'}
- synckit@0.11.11:
- resolution: {integrity: sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==}
+ synckit@0.11.12:
+ resolution: {integrity: sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==}
engines: {node: ^14.18.0 || >=16.0.0}
table@6.9.0:
@@ -4083,8 +4120,8 @@ packages:
uglify-js:
optional: true
- terser@5.44.1:
- resolution: {integrity: sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw==}
+ terser@5.46.0:
+ resolution: {integrity: sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==}
engines: {node: '>=10'}
hasBin: true
@@ -4136,8 +4173,8 @@ packages:
tributejs@5.1.3:
resolution: {integrity: sha512-B5CXihaVzXw+1UHhNFyAwUTMDk1EfoLP5Tj1VhD9yybZ1I8DZJEv8tZ1l0RJo0t0tk9ZhR8eG5tEsaCvRigmdQ==}
- ts-api-utils@2.1.0:
- resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==}
+ ts-api-utils@2.4.0:
+ resolution: {integrity: sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==}
engines: {node: '>=18.12'}
peerDependencies:
typescript: '>=4.8.4'
@@ -4159,8 +4196,8 @@ packages:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
engines: {node: '>= 0.8.0'}
- typescript-eslint@8.50.0:
- resolution: {integrity: sha512-Q1/6yNUmCpH94fbgMUMg2/BSAr/6U7GBk61kZTv1/asghQOWOjTlp9K8mixS5NcJmm2creY+UFfGeW/+OcA64A==}
+ typescript-eslint@8.53.1:
+ resolution: {integrity: sha512-gB+EVQfP5RDElh9ittfXlhZJdjSU4jUSTyE2+ia8CYyNvet4ElfaLlAIqDvQV9JPknKx0jQH1racTYe/4LaLSg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
@@ -4177,18 +4214,19 @@ packages:
uc.micro@2.1.0:
resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==}
- ufo@1.6.1:
- resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==}
+ ufo@1.6.3:
+ resolution: {integrity: sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==}
uint8-to-base64@0.2.1:
resolution: {integrity: sha512-uO/84GaoDUfiAxpa8EksjVLE77A9Kc7ZTziN4zRpq4de9yLaLcZn3jx1/sVjyupsywcVX6RKWbqLe7gUNyzH+Q==}
- undici-types@6.21.0:
- resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
-
undici-types@7.16.0:
resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==}
+ unicorn-magic@0.4.0:
+ resolution: {integrity: sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw==}
+ engines: {node: '>=20'}
+
unrs-resolver@1.11.1:
resolution: {integrity: sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==}
@@ -4198,8 +4236,8 @@ packages:
peerDependencies:
browserslist: '>= 4.21.0'
- updates@17.0.7:
- resolution: {integrity: sha512-VyFnSuoXC5qxpq2XVM2BaR0sjTXpDGYj6aTCNu92KvxtnpBVh1nPYJsSXKktgRGx4jsGXFjLhPsXndYpv/o8AA==}
+ updates@17.0.8:
+ resolution: {integrity: sha512-K5z2Dgni1V2JUllUC0AvIxL1E31rn1ZTU1bvZyTwvxLeAcLmhC0RZyWOrUcJJvlFBxFgxLz5cqTnbFXTEYdIjA==}
engines: {node: '>=22'}
hasBin: true
@@ -4216,11 +4254,13 @@ packages:
vanilla-colorful@0.7.2:
resolution: {integrity: sha512-z2YZusTFC6KnLERx1cgoIRX2CjPRP0W75N+3CC6gbvdX5Ch47rZkEMGO2Xnf+IEmi3RiFLxS18gayMA27iU7Kg==}
- vite-string-plugin@1.4.9:
- resolution: {integrity: sha512-mO7PVkMs8+FuTK9ZjBBCRSjabC9cobvUEbN2EjWtGJo6nu35SbW99bYesOh5Ho39ug/KSbT4VwM4GPC26Xk/mQ==}
+ vite-string-plugin@1.5.0:
+ resolution: {integrity: sha512-Ne+67igo8iNoM7N1/59EhQxS1QYvFE3xMK2BEzVKj6QdBRxpOIfG8Y7Uvyv7aDWK+HneU9iwqS1nlaKwtC9OTQ==}
+ peerDependencies:
+ vite: '*'
- vite@7.3.0:
- resolution: {integrity: sha512-dZwN5L1VlUBewiP6H9s2+B3e3Jg96D0vzN+Ry73sOefebhYr9f94wwkMNN/9ouoU8pV1BqA1d1zGk8928cx0rg==}
+ vite@7.3.1:
+ resolution: {integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
peerDependencies:
@@ -4259,18 +4299,18 @@ packages:
yaml:
optional: true
- vitest@4.0.16:
- resolution: {integrity: sha512-E4t7DJ9pESL6E3I8nFjPa4xGUd3PmiWDLsDztS2qXSJWfHtbQnwAWylaBvSNY48I3vr8PTqIZlyK8TE3V3CA4Q==}
+ vitest@4.0.18:
+ resolution: {integrity: sha512-hOQuK7h0FGKgBAas7v0mSAsnvrIgAvWmRFjmzpJ7SwFHH3g1k2u37JtYwOwmEKhK6ZO3v9ggDBBm0La1LCK4uQ==}
engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0}
hasBin: true
peerDependencies:
'@edge-runtime/vm': '*'
'@opentelemetry/api': ^1.9.0
'@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0
- '@vitest/browser-playwright': 4.0.16
- '@vitest/browser-preview': 4.0.16
- '@vitest/browser-webdriverio': 4.0.16
- '@vitest/ui': 4.0.16
+ '@vitest/browser-playwright': 4.0.18
+ '@vitest/browser-preview': 4.0.18
+ '@vitest/browser-webdriverio': 4.0.18
+ '@vitest/ui': 4.0.18
happy-dom: '*'
jsdom: '*'
peerDependenciesMeta:
@@ -4343,22 +4383,26 @@ packages:
vue:
optional: true
- vue-tsc@3.1.8:
- resolution: {integrity: sha512-deKgwx6exIHeZwF601P1ktZKNF0bepaSN4jBU3AsbldPx9gylUc1JDxYppl82yxgkAgaz0Y0LCLOi+cXe9HMYA==}
+ vue-tsc@3.2.3:
+ resolution: {integrity: sha512-1RdRB7rQXGFMdpo0aXf9spVzWEPGAk7PEb/ejHQwVrcuQA/HsGiixIc3uBQeqY2YjeEEgvr2ShQewBgcN4c1Cw==}
hasBin: true
peerDependencies:
typescript: '>=5.0.0'
- vue@3.5.25:
- resolution: {integrity: sha512-YLVdgv2K13WJ6n+kD5owehKtEXwdwXuj2TTyJMsO7pSeKw2bfRNZGjhB7YzrpbMYj5b5QsUebHpOqR3R3ziy/g==}
+ vue@3.5.27:
+ resolution: {integrity: sha512-aJ/UtoEyFySPBGarREmN4z6qNKpbEguYHMmXSiOGk69czc+zhs0NF6tEFrY8TZKAl8N/LYAkd4JHVd5E/AsSmw==}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
- watchpack@2.4.4:
- resolution: {integrity: sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==}
+ walk-up-path@4.0.0:
+ resolution: {integrity: sha512-3hu+tD8YzSLGuFYtPRb48vdhKMi0KQV5sn+uWr8+7dMEq/2G/dtLrdDinkLjqq5TIbIBjYJ4Ax/n3YiaW7QM8A==}
+ engines: {node: 20 || >=22}
+
+ watchpack@2.5.1:
+ resolution: {integrity: sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==}
engines: {node: '>=10.13.0'}
webidl-conversions@3.0.1:
@@ -4389,8 +4433,8 @@ packages:
resolution: {integrity: sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==}
engines: {node: '>=10.13.0'}
- webpack@5.104.0:
- resolution: {integrity: sha512-5DeICTX8BVgNp6afSPYXAFjskIgWGlygQH58bcozPOXgo2r/6xx39Y1+cULZ3gTxUYQP88jmwLj2anu4Xaq84g==}
+ webpack@5.104.1:
+ resolution: {integrity: sha512-Qphch25abbMNtekmEGJmeRUhLDbe+QfiWTiqpKYkpCOWY64v9eyl+KRRLmqOFA2AvKPpc9DC6+u2n76tQLBoaA==}
engines: {node: '>=10.13.0'}
hasBin: true
peerDependencies:
@@ -4438,9 +4482,21 @@ packages:
wrappy@1.0.2:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
- write-file-atomic@5.0.1:
- resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ write-file-atomic@7.0.0:
+ resolution: {integrity: sha512-YnlPC6JqnZl6aO4uRc+dx5PHguiR9S6WeoLtpxNT9wIG+BDya7ZNE1q7KOjVgaA73hKhKLpVPgJ5QA9THQ5BRg==}
+ engines: {node: ^20.17.0 || >=22.9.0}
+
+ ws@8.19.0:
+ resolution: {integrity: sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==}
+ 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
xml-lexer@0.2.2:
resolution: {integrity: sha512-G0i98epIwiUEiKmMcavmVdhtymW+pCAohMRgybyIME9ygfVu8QheIi+YoQh3ngiThsT0SQzJT4R0sKDEv8Ou0w==}
@@ -4461,6 +4517,9 @@ packages:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
+ zod@4.3.6:
+ resolution: {integrity: sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==}
+
snapshots:
'@alloc/quick-lru@5.2.0': {}
@@ -4470,7 +4529,7 @@ snapshots:
package-manager-detector: 1.6.0
tinyexec: 1.0.2
- '@babel/code-frame@7.27.1':
+ '@babel/code-frame@7.28.6':
dependencies:
'@babel/helper-validator-identifier': 7.28.5
js-tokens: 4.0.0
@@ -4480,30 +4539,30 @@ snapshots:
'@babel/helper-validator-identifier@7.28.5': {}
- '@babel/parser@7.28.5':
+ '@babel/parser@7.28.6':
dependencies:
- '@babel/types': 7.28.5
+ '@babel/types': 7.28.6
- '@babel/runtime@7.28.4': {}
+ '@babel/runtime@7.28.6': {}
- '@babel/types@7.28.5':
+ '@babel/types@7.28.6':
dependencies:
'@babel/helper-string-parser': 7.27.1
'@babel/helper-validator-identifier': 7.28.5
'@braintree/sanitize-url@7.1.1': {}
- '@cacheable/memory@2.0.6':
+ '@cacheable/memory@2.0.7':
dependencies:
- '@cacheable/utils': 2.3.2
- '@keyv/bigmap': 1.3.0(keyv@5.5.5)
- hookified: 1.14.0
- keyv: 5.5.5
+ '@cacheable/utils': 2.3.3
+ '@keyv/bigmap': 1.3.1(keyv@5.6.0)
+ hookified: 1.15.0
+ keyv: 5.6.0
- '@cacheable/utils@2.3.2':
+ '@cacheable/utils@2.3.3':
dependencies:
- hashery: 1.3.0
- keyv: 5.5.5
+ hashery: 1.4.0
+ keyv: 5.6.0
'@chevrotain/cst-dts-gen@11.0.3':
dependencies:
@@ -4542,72 +4601,74 @@ snapshots:
'@citation-js/name': 0.4.2
moo: 0.5.2
- '@citation-js/plugin-cff@0.6.1':
+ '@citation-js/plugin-cff@0.6.2':
dependencies:
'@citation-js/date': 0.5.1
- '@citation-js/plugin-yaml': 0.6.1
+ '@citation-js/plugin-yaml': 0.6.2
- '@citation-js/plugin-csl@0.7.21(@citation-js/core@0.7.21)':
+ '@citation-js/plugin-csl@0.7.22(@citation-js/core@0.7.21)':
dependencies:
'@citation-js/core': 0.7.21
'@citation-js/date': 0.5.1
citeproc: 2.4.63
- '@citation-js/plugin-github@0.6.1':
+ '@citation-js/plugin-github@0.6.2':
dependencies:
'@citation-js/date': 0.5.1
'@citation-js/name': 0.4.2
- '@citation-js/plugin-npm@0.6.1':
+ '@citation-js/plugin-npm@0.6.2':
dependencies:
'@citation-js/date': 0.5.1
'@citation-js/name': 0.4.2
- '@citation-js/plugin-software-formats@0.6.1':
+ '@citation-js/plugin-software-formats@0.6.2':
dependencies:
- '@citation-js/plugin-cff': 0.6.1
- '@citation-js/plugin-github': 0.6.1
- '@citation-js/plugin-npm': 0.6.1
- '@citation-js/plugin-yaml': 0.6.1
- '@citation-js/plugin-zenodo': 0.6.1
+ '@citation-js/plugin-cff': 0.6.2
+ '@citation-js/plugin-github': 0.6.2
+ '@citation-js/plugin-npm': 0.6.2
+ '@citation-js/plugin-yaml': 0.6.2
+ '@citation-js/plugin-zenodo': 0.6.2
- '@citation-js/plugin-yaml@0.6.1':
+ '@citation-js/plugin-yaml@0.6.2':
dependencies:
js-yaml: 4.1.1
- '@citation-js/plugin-zenodo@0.6.1':
+ '@citation-js/plugin-zenodo@0.6.2':
dependencies:
'@citation-js/date': 0.5.1
'@citation-js/name': 0.4.2
- '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)':
+ '@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0)':
dependencies:
- '@csstools/css-tokenizer': 3.0.4
+ '@csstools/css-tokenizer': 4.0.0
- '@csstools/css-syntax-patches-for-csstree@1.0.21': {}
+ '@csstools/css-syntax-patches-for-csstree@1.0.25': {}
- '@csstools/css-tokenizer@3.0.4': {}
+ '@csstools/css-tokenizer@4.0.0': {}
- '@csstools/media-query-list-parser@4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)':
+ '@csstools/media-query-list-parser@5.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)':
dependencies:
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
+ '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0)
+ '@csstools/css-tokenizer': 4.0.0
- '@csstools/selector-specificity@5.0.0(postcss-selector-parser@7.1.1)':
+ '@csstools/selector-resolve-nested@4.0.0(postcss-selector-parser@7.1.1)':
+ dependencies:
+ postcss-selector-parser: 7.1.1
+
+ '@csstools/selector-specificity@6.0.0(postcss-selector-parser@7.1.1)':
dependencies:
postcss-selector-parser: 7.1.1
'@discoveryjs/json-ext@0.6.3': {}
- '@dual-bundle/import-meta-resolve@4.2.1': {}
-
- '@emnapi/core@1.7.1':
+ '@emnapi/core@1.8.1':
dependencies:
'@emnapi/wasi-threads': 1.1.0
tslib: 2.8.1
optional: true
- '@emnapi/runtime@1.7.1':
+ '@emnapi/runtime@1.8.1':
dependencies:
tslib: 2.8.1
optional: true
@@ -4617,169 +4678,91 @@ snapshots:
tslib: 2.8.1
optional: true
- '@esbuild/aix-ppc64@0.25.12':
- optional: true
-
'@esbuild/aix-ppc64@0.27.2':
optional: true
- '@esbuild/android-arm64@0.25.12':
- optional: true
-
'@esbuild/android-arm64@0.27.2':
optional: true
- '@esbuild/android-arm@0.25.12':
- optional: true
-
'@esbuild/android-arm@0.27.2':
optional: true
- '@esbuild/android-x64@0.25.12':
- optional: true
-
'@esbuild/android-x64@0.27.2':
optional: true
- '@esbuild/darwin-arm64@0.25.12':
- optional: true
-
'@esbuild/darwin-arm64@0.27.2':
optional: true
- '@esbuild/darwin-x64@0.25.12':
- optional: true
-
'@esbuild/darwin-x64@0.27.2':
optional: true
- '@esbuild/freebsd-arm64@0.25.12':
- optional: true
-
'@esbuild/freebsd-arm64@0.27.2':
optional: true
- '@esbuild/freebsd-x64@0.25.12':
- optional: true
-
'@esbuild/freebsd-x64@0.27.2':
optional: true
- '@esbuild/linux-arm64@0.25.12':
- optional: true
-
'@esbuild/linux-arm64@0.27.2':
optional: true
- '@esbuild/linux-arm@0.25.12':
- optional: true
-
'@esbuild/linux-arm@0.27.2':
optional: true
- '@esbuild/linux-ia32@0.25.12':
- optional: true
-
'@esbuild/linux-ia32@0.27.2':
optional: true
- '@esbuild/linux-loong64@0.25.12':
- optional: true
-
'@esbuild/linux-loong64@0.27.2':
optional: true
- '@esbuild/linux-mips64el@0.25.12':
- optional: true
-
'@esbuild/linux-mips64el@0.27.2':
optional: true
- '@esbuild/linux-ppc64@0.25.12':
- optional: true
-
'@esbuild/linux-ppc64@0.27.2':
optional: true
- '@esbuild/linux-riscv64@0.25.12':
- optional: true
-
'@esbuild/linux-riscv64@0.27.2':
optional: true
- '@esbuild/linux-s390x@0.25.12':
- optional: true
-
'@esbuild/linux-s390x@0.27.2':
optional: true
- '@esbuild/linux-x64@0.25.12':
- optional: true
-
'@esbuild/linux-x64@0.27.2':
optional: true
- '@esbuild/netbsd-arm64@0.25.12':
- optional: true
-
'@esbuild/netbsd-arm64@0.27.2':
optional: true
- '@esbuild/netbsd-x64@0.25.12':
- optional: true
-
'@esbuild/netbsd-x64@0.27.2':
optional: true
- '@esbuild/openbsd-arm64@0.25.12':
- optional: true
-
'@esbuild/openbsd-arm64@0.27.2':
optional: true
- '@esbuild/openbsd-x64@0.25.12':
- optional: true
-
'@esbuild/openbsd-x64@0.27.2':
optional: true
- '@esbuild/openharmony-arm64@0.25.12':
- optional: true
-
'@esbuild/openharmony-arm64@0.27.2':
optional: true
- '@esbuild/sunos-x64@0.25.12':
- optional: true
-
'@esbuild/sunos-x64@0.27.2':
optional: true
- '@esbuild/win32-arm64@0.25.12':
- optional: true
-
'@esbuild/win32-arm64@0.27.2':
optional: true
- '@esbuild/win32-ia32@0.25.12':
- optional: true
-
'@esbuild/win32-ia32@0.27.2':
optional: true
- '@esbuild/win32-x64@0.25.12':
- optional: true
-
'@esbuild/win32-x64@0.27.2':
optional: true
- '@eslint-community/eslint-plugin-eslint-comments@4.5.0(eslint@9.39.2(jiti@2.6.1))':
+ '@eslint-community/eslint-plugin-eslint-comments@4.6.0(eslint@9.39.2(jiti@2.6.1))':
dependencies:
escape-string-regexp: 4.0.0
eslint: 9.39.2(jiti@2.6.1)
- ignore: 5.3.2
+ ignore: 7.0.5
- '@eslint-community/eslint-utils@4.9.0(eslint@9.39.2(jiti@2.6.1))':
+ '@eslint-community/eslint-utils@4.9.1(eslint@9.39.2(jiti@2.6.1))':
dependencies:
eslint: 9.39.2(jiti@2.6.1)
eslint-visitor-keys: 3.4.3
@@ -4850,7 +4833,7 @@ snapshots:
'@github/relative-time-element@5.0.0': {}
- '@github/text-expander-element@2.9.2':
+ '@github/text-expander-element@2.9.4':
dependencies:
'@github/combobox-nav': 2.3.1
dom-input-range: 2.0.1
@@ -4901,11 +4884,11 @@ snapshots:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.5
- '@keyv/bigmap@1.3.0(keyv@5.5.5)':
+ '@keyv/bigmap@1.3.1(keyv@5.6.0)':
dependencies:
- hashery: 1.3.0
- hookified: 1.14.0
- keyv: 5.5.5
+ hashery: 1.4.0
+ hookified: 1.15.0
+ keyv: 5.6.0
'@keyv/serialize@1.1.1': {}
@@ -4923,8 +4906,15 @@ snapshots:
'@napi-rs/wasm-runtime@0.2.12':
dependencies:
- '@emnapi/core': 1.7.1
- '@emnapi/runtime': 1.7.1
+ '@emnapi/core': 1.8.1
+ '@emnapi/runtime': 1.8.1
+ '@tybys/wasm-util': 0.10.1
+ optional: true
+
+ '@napi-rs/wasm-runtime@1.1.1':
+ dependencies:
+ '@emnapi/core': 1.8.1
+ '@emnapi/runtime': 1.8.1
'@tybys/wasm-util': 0.10.1
optional: true
@@ -4938,7 +4928,7 @@ snapshots:
'@nodelib/fs.walk@1.2.8':
dependencies:
'@nodelib/fs.scandir': 2.1.5
- fastq: 1.19.1
+ fastq: 1.20.1
'@nolyfill/array-includes@1.0.44':
dependencies:
@@ -4992,15 +4982,77 @@ snapshots:
dependencies:
'@nolyfill/shared': 1.0.44
+ '@oxc-resolver/binding-android-arm-eabi@11.16.4':
+ optional: true
+
+ '@oxc-resolver/binding-android-arm64@11.16.4':
+ optional: true
+
+ '@oxc-resolver/binding-darwin-arm64@11.16.4':
+ optional: true
+
+ '@oxc-resolver/binding-darwin-x64@11.16.4':
+ optional: true
+
+ '@oxc-resolver/binding-freebsd-x64@11.16.4':
+ optional: true
+
+ '@oxc-resolver/binding-linux-arm-gnueabihf@11.16.4':
+ optional: true
+
+ '@oxc-resolver/binding-linux-arm-musleabihf@11.16.4':
+ optional: true
+
+ '@oxc-resolver/binding-linux-arm64-gnu@11.16.4':
+ optional: true
+
+ '@oxc-resolver/binding-linux-arm64-musl@11.16.4':
+ optional: true
+
+ '@oxc-resolver/binding-linux-ppc64-gnu@11.16.4':
+ optional: true
+
+ '@oxc-resolver/binding-linux-riscv64-gnu@11.16.4':
+ optional: true
+
+ '@oxc-resolver/binding-linux-riscv64-musl@11.16.4':
+ optional: true
+
+ '@oxc-resolver/binding-linux-s390x-gnu@11.16.4':
+ optional: true
+
+ '@oxc-resolver/binding-linux-x64-gnu@11.16.4':
+ optional: true
+
+ '@oxc-resolver/binding-linux-x64-musl@11.16.4':
+ optional: true
+
+ '@oxc-resolver/binding-openharmony-arm64@11.16.4':
+ optional: true
+
+ '@oxc-resolver/binding-wasm32-wasi@11.16.4':
+ dependencies:
+ '@napi-rs/wasm-runtime': 1.1.1
+ optional: true
+
+ '@oxc-resolver/binding-win32-arm64-msvc@11.16.4':
+ optional: true
+
+ '@oxc-resolver/binding-win32-ia32-msvc@11.16.4':
+ optional: true
+
+ '@oxc-resolver/binding-win32-x64-msvc@11.16.4':
+ optional: true
+
'@pkgr/core@0.2.9': {}
- '@playwright/test@1.57.0':
+ '@playwright/test@1.58.0':
dependencies:
- playwright: 1.57.0
+ playwright: 1.58.0
'@popperjs/core@2.11.8': {}
- '@primer/octicons@19.21.1':
+ '@primer/octicons@19.21.2':
dependencies:
object-assign: 4.1.1
@@ -5008,134 +5060,145 @@ snapshots:
'@rolldown/pluginutils@1.0.0-beta.53': {}
- '@rollup/rollup-android-arm-eabi@4.53.5':
+ '@rollup/rollup-android-arm-eabi@4.56.0':
optional: true
- '@rollup/rollup-android-arm64@4.53.5':
+ '@rollup/rollup-android-arm64@4.56.0':
optional: true
- '@rollup/rollup-darwin-arm64@4.53.5':
+ '@rollup/rollup-darwin-arm64@4.56.0':
optional: true
- '@rollup/rollup-darwin-x64@4.53.5':
+ '@rollup/rollup-darwin-x64@4.56.0':
optional: true
- '@rollup/rollup-freebsd-arm64@4.53.5':
+ '@rollup/rollup-freebsd-arm64@4.56.0':
optional: true
- '@rollup/rollup-freebsd-x64@4.53.5':
+ '@rollup/rollup-freebsd-x64@4.56.0':
optional: true
- '@rollup/rollup-linux-arm-gnueabihf@4.53.5':
+ '@rollup/rollup-linux-arm-gnueabihf@4.56.0':
optional: true
- '@rollup/rollup-linux-arm-musleabihf@4.53.5':
+ '@rollup/rollup-linux-arm-musleabihf@4.56.0':
optional: true
- '@rollup/rollup-linux-arm64-gnu@4.53.5':
+ '@rollup/rollup-linux-arm64-gnu@4.56.0':
optional: true
- '@rollup/rollup-linux-arm64-musl@4.53.5':
+ '@rollup/rollup-linux-arm64-musl@4.56.0':
optional: true
- '@rollup/rollup-linux-loong64-gnu@4.53.5':
+ '@rollup/rollup-linux-loong64-gnu@4.56.0':
optional: true
- '@rollup/rollup-linux-ppc64-gnu@4.53.5':
+ '@rollup/rollup-linux-loong64-musl@4.56.0':
optional: true
- '@rollup/rollup-linux-riscv64-gnu@4.53.5':
+ '@rollup/rollup-linux-ppc64-gnu@4.56.0':
optional: true
- '@rollup/rollup-linux-riscv64-musl@4.53.5':
+ '@rollup/rollup-linux-ppc64-musl@4.56.0':
optional: true
- '@rollup/rollup-linux-s390x-gnu@4.53.5':
+ '@rollup/rollup-linux-riscv64-gnu@4.56.0':
optional: true
- '@rollup/rollup-linux-x64-gnu@4.53.5':
+ '@rollup/rollup-linux-riscv64-musl@4.56.0':
optional: true
- '@rollup/rollup-linux-x64-musl@4.53.5':
+ '@rollup/rollup-linux-s390x-gnu@4.56.0':
optional: true
- '@rollup/rollup-openharmony-arm64@4.53.5':
+ '@rollup/rollup-linux-x64-gnu@4.56.0':
optional: true
- '@rollup/rollup-win32-arm64-msvc@4.53.5':
+ '@rollup/rollup-linux-x64-musl@4.56.0':
optional: true
- '@rollup/rollup-win32-ia32-msvc@4.53.5':
+ '@rollup/rollup-openbsd-x64@4.56.0':
optional: true
- '@rollup/rollup-win32-x64-gnu@4.53.5':
+ '@rollup/rollup-openharmony-arm64@4.56.0':
optional: true
- '@rollup/rollup-win32-x64-msvc@4.53.5':
+ '@rollup/rollup-win32-arm64-msvc@4.56.0':
+ optional: true
+
+ '@rollup/rollup-win32-ia32-msvc@4.56.0':
+ optional: true
+
+ '@rollup/rollup-win32-x64-gnu@4.56.0':
+ optional: true
+
+ '@rollup/rollup-win32-x64-msvc@4.56.0':
optional: true
'@rtsao/scc@1.1.0': {}
'@scarf/scarf@1.4.0': {}
- '@silverwind/vue3-calendar-heatmap@2.1.1(tippy.js@6.3.7)(vue@3.5.25(typescript@5.9.3))':
+ '@silverwind/vue3-calendar-heatmap@2.1.1(tippy.js@6.3.7)(vue@3.5.27(typescript@5.9.3))':
dependencies:
tippy.js: 6.3.7
- vue: 3.5.25(typescript@5.9.3)
+ vue: 3.5.27(typescript@5.9.3)
'@simonwep/pickr@1.9.0':
dependencies:
core-js: 3.32.2
nanopop: 2.3.0
- '@solid-primitives/refs@1.1.2(solid-js@1.9.10)':
- dependencies:
- '@solid-primitives/utils': 6.3.2(solid-js@1.9.10)
- solid-js: 1.9.10
+ '@sindresorhus/merge-streams@4.0.0': {}
- '@solid-primitives/transition-group@1.1.2(solid-js@1.9.10)':
+ '@solid-primitives/refs@1.1.2(solid-js@1.9.11)':
dependencies:
- solid-js: 1.9.10
+ '@solid-primitives/utils': 6.3.2(solid-js@1.9.11)
+ solid-js: 1.9.11
- '@solid-primitives/utils@6.3.2(solid-js@1.9.10)':
+ '@solid-primitives/transition-group@1.1.2(solid-js@1.9.11)':
dependencies:
- solid-js: 1.9.10
+ solid-js: 1.9.11
+
+ '@solid-primitives/utils@6.3.2(solid-js@1.9.11)':
+ dependencies:
+ solid-js: 1.9.11
'@standard-schema/spec@1.1.0': {}
- '@stylistic/eslint-plugin@5.6.1(eslint@9.39.2(jiti@2.6.1))':
+ '@stylistic/eslint-plugin@5.7.1(eslint@9.39.2(jiti@2.6.1))':
dependencies:
- '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.2(jiti@2.6.1))
- '@typescript-eslint/types': 8.50.0
+ '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1))
+ '@typescript-eslint/types': 8.53.1
eslint: 9.39.2(jiti@2.6.1)
eslint-visitor-keys: 4.2.1
espree: 10.4.0
estraverse: 5.3.0
picomatch: 4.0.3
- '@stylistic/stylelint-plugin@4.0.0(stylelint@16.26.1(typescript@5.9.3))':
+ '@stylistic/stylelint-plugin@5.0.1(stylelint@17.0.0(typescript@5.9.3))':
dependencies:
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
- '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0)
+ '@csstools/css-tokenizer': 4.0.0
+ '@csstools/media-query-list-parser': 5.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)
postcss: 8.5.6
postcss-selector-parser: 7.1.1
postcss-value-parser: 4.2.0
style-search: 0.1.0
- stylelint: 16.26.1(typescript@5.9.3)
+ stylelint: 17.0.0(typescript@5.9.3)
'@swc/helpers@0.2.14': {}
- '@techknowlogick/license-checker-webpack-plugin@0.3.0(webpack@5.104.0)':
+ '@techknowlogick/license-checker-webpack-plugin@0.3.0(webpack@5.104.1)':
dependencies:
glob: 7.2.3
- lodash: 4.17.21
+ lodash: 4.17.23
minimatch: 3.1.2
semver: 6.3.1
spdx-expression-validate: 2.0.0
spdx-satisfies: 5.0.1
superstruct: 0.10.13
- webpack: 5.104.0(webpack-cli@6.0.1)
+ webpack: 5.104.1(webpack-cli@6.0.1)
webpack-sources: 1.4.3
wrap-ansi: 6.2.0
@@ -5218,7 +5281,7 @@ snapshots:
'@types/d3-selection@3.0.11': {}
- '@types/d3-shape@3.1.7':
+ '@types/d3-shape@3.1.8':
dependencies:
'@types/d3-path': 3.1.1
@@ -5263,7 +5326,7 @@ snapshots:
'@types/d3-scale': 4.0.9
'@types/d3-scale-chromatic': 3.1.0
'@types/d3-selection': 3.0.11
- '@types/d3-shape': 3.1.7
+ '@types/d3-shape': 3.1.8
'@types/d3-time': 3.0.4
'@types/d3-time-format': 4.0.3
'@types/d3-timer': 3.0.2
@@ -5300,21 +5363,19 @@ snapshots:
dependencies:
'@types/sizzle': 2.3.10
+ '@types/js-yaml@4.0.9': {}
+
'@types/json-schema@7.0.15': {}
'@types/json5@0.0.29': {}
- '@types/katex@0.16.7': {}
+ '@types/katex@0.16.8': {}
'@types/marked@4.3.2': {}
'@types/ms@2.1.0': {}
- '@types/node@20.19.27':
- dependencies:
- undici-types: 6.21.0
-
- '@types/node@25.0.3':
+ '@types/node@25.0.10':
dependencies:
undici-types: 7.16.0
@@ -5343,95 +5404,99 @@ snapshots:
'@types/whatwg-mimetype@3.0.2': {}
- '@typescript-eslint/eslint-plugin@8.50.0(@typescript-eslint/parser@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)':
+ '@types/ws@8.18.1':
+ dependencies:
+ '@types/node': 25.0.10
+
+ '@typescript-eslint/eslint-plugin@8.53.1(@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)':
dependencies:
'@eslint-community/regexpp': 4.12.2
- '@typescript-eslint/parser': 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
- '@typescript-eslint/scope-manager': 8.50.0
- '@typescript-eslint/type-utils': 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
- '@typescript-eslint/utils': 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
- '@typescript-eslint/visitor-keys': 8.50.0
+ '@typescript-eslint/parser': 8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/scope-manager': 8.53.1
+ '@typescript-eslint/type-utils': 8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/visitor-keys': 8.53.1
eslint: 9.39.2(jiti@2.6.1)
ignore: 7.0.5
natural-compare: 1.4.0
- ts-api-utils: 2.1.0(typescript@5.9.3)
+ ts-api-utils: 2.4.0(typescript@5.9.3)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)':
+ '@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/scope-manager': 8.50.0
- '@typescript-eslint/types': 8.50.0
- '@typescript-eslint/typescript-estree': 8.50.0(typescript@5.9.3)
- '@typescript-eslint/visitor-keys': 8.50.0
+ '@typescript-eslint/scope-manager': 8.53.1
+ '@typescript-eslint/types': 8.53.1
+ '@typescript-eslint/typescript-estree': 8.53.1(typescript@5.9.3)
+ '@typescript-eslint/visitor-keys': 8.53.1
debug: 4.4.3
eslint: 9.39.2(jiti@2.6.1)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/project-service@8.50.0(typescript@5.9.3)':
+ '@typescript-eslint/project-service@8.53.1(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/tsconfig-utils': 8.50.0(typescript@5.9.3)
- '@typescript-eslint/types': 8.50.0
+ '@typescript-eslint/tsconfig-utils': 8.53.1(typescript@5.9.3)
+ '@typescript-eslint/types': 8.53.1
debug: 4.4.3
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/scope-manager@8.50.0':
+ '@typescript-eslint/scope-manager@8.53.1':
dependencies:
- '@typescript-eslint/types': 8.50.0
- '@typescript-eslint/visitor-keys': 8.50.0
+ '@typescript-eslint/types': 8.53.1
+ '@typescript-eslint/visitor-keys': 8.53.1
- '@typescript-eslint/tsconfig-utils@8.50.0(typescript@5.9.3)':
+ '@typescript-eslint/tsconfig-utils@8.53.1(typescript@5.9.3)':
dependencies:
typescript: 5.9.3
- '@typescript-eslint/type-utils@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)':
+ '@typescript-eslint/type-utils@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/types': 8.50.0
- '@typescript-eslint/typescript-estree': 8.50.0(typescript@5.9.3)
- '@typescript-eslint/utils': 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/types': 8.53.1
+ '@typescript-eslint/typescript-estree': 8.53.1(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
debug: 4.4.3
eslint: 9.39.2(jiti@2.6.1)
- ts-api-utils: 2.1.0(typescript@5.9.3)
+ ts-api-utils: 2.4.0(typescript@5.9.3)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/types@8.50.0': {}
+ '@typescript-eslint/types@8.53.1': {}
- '@typescript-eslint/typescript-estree@8.50.0(typescript@5.9.3)':
+ '@typescript-eslint/typescript-estree@8.53.1(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/project-service': 8.50.0(typescript@5.9.3)
- '@typescript-eslint/tsconfig-utils': 8.50.0(typescript@5.9.3)
- '@typescript-eslint/types': 8.50.0
- '@typescript-eslint/visitor-keys': 8.50.0
+ '@typescript-eslint/project-service': 8.53.1(typescript@5.9.3)
+ '@typescript-eslint/tsconfig-utils': 8.53.1(typescript@5.9.3)
+ '@typescript-eslint/types': 8.53.1
+ '@typescript-eslint/visitor-keys': 8.53.1
debug: 4.4.3
minimatch: 9.0.5
semver: 7.7.3
tinyglobby: 0.2.15
- ts-api-utils: 2.1.0(typescript@5.9.3)
+ ts-api-utils: 2.4.0(typescript@5.9.3)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)':
+ '@typescript-eslint/utils@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)':
dependencies:
- '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.2(jiti@2.6.1))
- '@typescript-eslint/scope-manager': 8.50.0
- '@typescript-eslint/types': 8.50.0
- '@typescript-eslint/typescript-estree': 8.50.0(typescript@5.9.3)
+ '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1))
+ '@typescript-eslint/scope-manager': 8.53.1
+ '@typescript-eslint/types': 8.53.1
+ '@typescript-eslint/typescript-estree': 8.53.1(typescript@5.9.3)
eslint: 9.39.2(jiti@2.6.1)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/visitor-keys@8.50.0':
+ '@typescript-eslint/visitor-keys@8.53.1':
dependencies:
- '@typescript-eslint/types': 8.50.0
+ '@typescript-eslint/types': 8.53.1
eslint-visitor-keys: 4.2.1
'@unrs/resolver-binding-android-arm-eabi@1.11.1':
@@ -5493,139 +5558,137 @@ snapshots:
'@unrs/resolver-binding-win32-x64-msvc@1.11.1':
optional: true
- '@vitejs/plugin-vue@6.0.3(vite@7.3.0(@types/node@25.0.3)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.25(typescript@5.9.3))':
+ '@vitejs/plugin-vue@6.0.3(vite@7.3.1(@types/node@25.0.10)(jiti@2.6.1)(stylus@0.57.0)(terser@5.46.0)(yaml@2.8.2))(vue@3.5.27(typescript@5.9.3))':
dependencies:
'@rolldown/pluginutils': 1.0.0-beta.53
- vite: 7.3.0(@types/node@25.0.3)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.1)(yaml@2.8.2)
- vue: 3.5.25(typescript@5.9.3)
+ vite: 7.3.1(@types/node@25.0.10)(jiti@2.6.1)(stylus@0.57.0)(terser@5.46.0)(yaml@2.8.2)
+ vue: 3.5.27(typescript@5.9.3)
- '@vitest/eslint-plugin@1.5.2(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)(vitest@4.0.16(@types/node@25.0.3)(happy-dom@20.0.11)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.1)(yaml@2.8.2))':
+ '@vitest/eslint-plugin@1.6.6(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)(vitest@4.0.18(@types/node@25.0.10)(happy-dom@20.3.7)(jiti@2.6.1)(stylus@0.57.0)(terser@5.46.0)(yaml@2.8.2))':
dependencies:
- '@typescript-eslint/scope-manager': 8.50.0
- '@typescript-eslint/utils': 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/scope-manager': 8.53.1
+ '@typescript-eslint/utils': 8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
eslint: 9.39.2(jiti@2.6.1)
optionalDependencies:
typescript: 5.9.3
- vitest: 4.0.16(@types/node@25.0.3)(happy-dom@20.0.11)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.1)(yaml@2.8.2)
+ vitest: 4.0.18(@types/node@25.0.10)(happy-dom@20.3.7)(jiti@2.6.1)(stylus@0.57.0)(terser@5.46.0)(yaml@2.8.2)
transitivePeerDependencies:
- supports-color
- '@vitest/expect@4.0.16':
+ '@vitest/expect@4.0.18':
dependencies:
'@standard-schema/spec': 1.1.0
'@types/chai': 5.2.3
- '@vitest/spy': 4.0.16
- '@vitest/utils': 4.0.16
- chai: 6.2.1
+ '@vitest/spy': 4.0.18
+ '@vitest/utils': 4.0.18
+ chai: 6.2.2
tinyrainbow: 3.0.3
- '@vitest/mocker@4.0.16(vite@7.3.0(@types/node@25.0.3)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.1)(yaml@2.8.2))':
+ '@vitest/mocker@4.0.18(vite@7.3.1(@types/node@25.0.10)(jiti@2.6.1)(stylus@0.57.0)(terser@5.46.0)(yaml@2.8.2))':
dependencies:
- '@vitest/spy': 4.0.16
+ '@vitest/spy': 4.0.18
estree-walker: 3.0.3
magic-string: 0.30.21
optionalDependencies:
- vite: 7.3.0(@types/node@25.0.3)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.1)(yaml@2.8.2)
+ vite: 7.3.1(@types/node@25.0.10)(jiti@2.6.1)(stylus@0.57.0)(terser@5.46.0)(yaml@2.8.2)
- '@vitest/pretty-format@4.0.16':
+ '@vitest/pretty-format@4.0.18':
dependencies:
tinyrainbow: 3.0.3
- '@vitest/runner@4.0.16':
+ '@vitest/runner@4.0.18':
dependencies:
- '@vitest/utils': 4.0.16
+ '@vitest/utils': 4.0.18
pathe: 2.0.3
- '@vitest/snapshot@4.0.16':
+ '@vitest/snapshot@4.0.18':
dependencies:
- '@vitest/pretty-format': 4.0.16
+ '@vitest/pretty-format': 4.0.18
magic-string: 0.30.21
pathe: 2.0.3
- '@vitest/spy@4.0.16': {}
+ '@vitest/spy@4.0.18': {}
- '@vitest/utils@4.0.16':
+ '@vitest/utils@4.0.18':
dependencies:
- '@vitest/pretty-format': 4.0.16
+ '@vitest/pretty-format': 4.0.18
tinyrainbow: 3.0.3
- '@volar/language-core@2.4.26':
+ '@volar/language-core@2.4.27':
dependencies:
- '@volar/source-map': 2.4.26
+ '@volar/source-map': 2.4.27
- '@volar/source-map@2.4.26': {}
+ '@volar/source-map@2.4.27': {}
- '@volar/typescript@2.4.26':
+ '@volar/typescript@2.4.27':
dependencies:
- '@volar/language-core': 2.4.26
+ '@volar/language-core': 2.4.27
path-browserify: 1.0.1
vscode-uri: 3.1.0
- '@vue/compiler-core@3.5.25':
+ '@vue/compiler-core@3.5.27':
dependencies:
- '@babel/parser': 7.28.5
- '@vue/shared': 3.5.25
- entities: 4.5.0
+ '@babel/parser': 7.28.6
+ '@vue/shared': 3.5.27
+ entities: 7.0.1
estree-walker: 2.0.2
source-map-js: 1.2.1
- '@vue/compiler-dom@3.5.25':
+ '@vue/compiler-dom@3.5.27':
dependencies:
- '@vue/compiler-core': 3.5.25
- '@vue/shared': 3.5.25
+ '@vue/compiler-core': 3.5.27
+ '@vue/shared': 3.5.27
- '@vue/compiler-sfc@3.5.25':
+ '@vue/compiler-sfc@3.5.27':
dependencies:
- '@babel/parser': 7.28.5
- '@vue/compiler-core': 3.5.25
- '@vue/compiler-dom': 3.5.25
- '@vue/compiler-ssr': 3.5.25
- '@vue/shared': 3.5.25
+ '@babel/parser': 7.28.6
+ '@vue/compiler-core': 3.5.27
+ '@vue/compiler-dom': 3.5.27
+ '@vue/compiler-ssr': 3.5.27
+ '@vue/shared': 3.5.27
estree-walker: 2.0.2
magic-string: 0.30.21
postcss: 8.5.6
source-map-js: 1.2.1
- '@vue/compiler-ssr@3.5.25':
+ '@vue/compiler-ssr@3.5.27':
dependencies:
- '@vue/compiler-dom': 3.5.25
- '@vue/shared': 3.5.25
+ '@vue/compiler-dom': 3.5.27
+ '@vue/shared': 3.5.27
- '@vue/language-core@3.1.8(typescript@5.9.3)':
+ '@vue/language-core@3.2.3':
dependencies:
- '@volar/language-core': 2.4.26
- '@vue/compiler-dom': 3.5.25
- '@vue/shared': 3.5.25
- alien-signals: 3.1.1
+ '@volar/language-core': 2.4.27
+ '@vue/compiler-dom': 3.5.27
+ '@vue/shared': 3.5.27
+ alien-signals: 3.1.2
muggle-string: 0.4.1
path-browserify: 1.0.1
picomatch: 4.0.3
- optionalDependencies:
- typescript: 5.9.3
- '@vue/reactivity@3.5.25':
+ '@vue/reactivity@3.5.27':
dependencies:
- '@vue/shared': 3.5.25
+ '@vue/shared': 3.5.27
- '@vue/runtime-core@3.5.25':
+ '@vue/runtime-core@3.5.27':
dependencies:
- '@vue/reactivity': 3.5.25
- '@vue/shared': 3.5.25
+ '@vue/reactivity': 3.5.27
+ '@vue/shared': 3.5.27
- '@vue/runtime-dom@3.5.25':
+ '@vue/runtime-dom@3.5.27':
dependencies:
- '@vue/reactivity': 3.5.25
- '@vue/runtime-core': 3.5.25
- '@vue/shared': 3.5.25
+ '@vue/reactivity': 3.5.27
+ '@vue/runtime-core': 3.5.27
+ '@vue/shared': 3.5.27
csstype: 3.2.3
- '@vue/server-renderer@3.5.25(vue@3.5.25(typescript@5.9.3))':
+ '@vue/server-renderer@3.5.27(vue@3.5.27(typescript@5.9.3))':
dependencies:
- '@vue/compiler-ssr': 3.5.25
- '@vue/shared': 3.5.25
- vue: 3.5.25(typescript@5.9.3)
+ '@vue/compiler-ssr': 3.5.27
+ '@vue/shared': 3.5.27
+ vue: 3.5.27(typescript@5.9.3)
- '@vue/shared@3.5.25': {}
+ '@vue/shared@3.5.27': {}
'@webassemblyjs/ast@1.14.1':
dependencies:
@@ -5703,20 +5766,20 @@ snapshots:
'@webassemblyjs/ast': 1.14.1
'@xtuc/long': 4.2.2
- '@webpack-cli/configtest@3.0.1(webpack-cli@6.0.1)(webpack@5.104.0)':
+ '@webpack-cli/configtest@3.0.1(webpack-cli@6.0.1)(webpack@5.104.1)':
dependencies:
- webpack: 5.104.0(webpack-cli@6.0.1)
- webpack-cli: 6.0.1(webpack@5.104.0)
+ webpack: 5.104.1(webpack-cli@6.0.1)
+ webpack-cli: 6.0.1(webpack@5.104.1)
- '@webpack-cli/info@3.0.1(webpack-cli@6.0.1)(webpack@5.104.0)':
+ '@webpack-cli/info@3.0.1(webpack-cli@6.0.1)(webpack@5.104.1)':
dependencies:
- webpack: 5.104.0(webpack-cli@6.0.1)
- webpack-cli: 6.0.1(webpack@5.104.0)
+ webpack: 5.104.1(webpack-cli@6.0.1)
+ webpack-cli: 6.0.1(webpack@5.104.1)
- '@webpack-cli/serve@3.0.1(webpack-cli@6.0.1)(webpack@5.104.0)':
+ '@webpack-cli/serve@3.0.1(webpack-cli@6.0.1)(webpack@5.104.1)':
dependencies:
- webpack: 5.104.0(webpack-cli@6.0.1)
- webpack-cli: 6.0.1(webpack@5.104.0)
+ webpack: 5.104.1(webpack-cli@6.0.1)
+ webpack-cli: 6.0.1(webpack@5.104.1)
'@xtuc/ieee754@1.2.0': {}
@@ -5732,9 +5795,9 @@ snapshots:
acorn@8.15.0: {}
- add-asset-webpack-plugin@3.1.1(webpack@5.104.0):
+ add-asset-webpack-plugin@3.1.1(webpack@5.104.1):
optionalDependencies:
- webpack: 5.104.0(webpack-cli@6.0.1)
+ webpack: 5.104.1(webpack-cli@6.0.1)
ajv-formats@2.1.1(ajv@8.17.1):
optionalDependencies:
@@ -5759,7 +5822,7 @@ snapshots:
json-schema-traverse: 1.0.0
require-from-string: 2.0.2
- alien-signals@3.1.1: {}
+ alien-signals@3.1.2: {}
ansi-regex@5.0.1: {}
@@ -5788,13 +5851,11 @@ snapshots:
array-find-index@1.0.2: {}
- array-union@2.1.0: {}
-
- asciinema-player@3.13.5:
+ asciinema-player@3.14.0:
dependencies:
- '@babel/runtime': 7.28.4
- solid-js: 1.9.10
- solid-transition-group: 0.2.3(solid-js@1.9.10)
+ '@babel/runtime': 7.28.6
+ solid-js: 1.9.11
+ solid-transition-group: 0.2.3(solid-js@1.9.11)
assertion-error@2.0.1: {}
@@ -5804,17 +5865,17 @@ snapshots:
atob@2.1.2: {}
- axe-core@4.11.0: {}
+ axe-core@4.11.1: {}
axobject-query@4.1.0: {}
balanced-match@1.0.2: {}
- balanced-match@2.0.0: {}
+ balanced-match@3.0.1: {}
base64-js@1.5.1: {}
- baseline-browser-mapping@2.9.9: {}
+ baseline-browser-mapping@2.9.17: {}
big.js@5.2.2: {}
@@ -5837,9 +5898,9 @@ snapshots:
browserslist@4.28.1:
dependencies:
- baseline-browser-mapping: 2.9.9
- caniuse-lite: 1.0.30001760
- electron-to-chromium: 1.5.267
+ baseline-browser-mapping: 2.9.17
+ caniuse-lite: 1.0.30001766
+ electron-to-chromium: 1.5.278
node-releases: 2.0.27
update-browserslist-db: 1.2.3(browserslist@4.28.1)
@@ -5856,21 +5917,21 @@ snapshots:
bytes@3.1.2: {}
- cacheable@2.3.1:
+ cacheable@2.3.2:
dependencies:
- '@cacheable/memory': 2.0.6
- '@cacheable/utils': 2.3.2
- hookified: 1.14.0
- keyv: 5.5.5
- qified: 0.5.3
+ '@cacheable/memory': 2.0.7
+ '@cacheable/utils': 2.3.3
+ hookified: 1.15.0
+ keyv: 5.6.0
+ qified: 0.6.0
callsites@3.1.0: {}
camelcase-css@2.0.1: {}
- caniuse-lite@1.0.30001760: {}
+ caniuse-lite@1.0.30001766: {}
- chai@6.2.1: {}
+ chai@6.2.2: {}
chalk@4.1.2:
dependencies:
@@ -5903,7 +5964,7 @@ snapshots:
chevrotain-allstar@0.3.1(chevrotain@11.0.3):
dependencies:
chevrotain: 11.0.3
- lodash-es: 4.17.22
+ lodash-es: 4.17.23
chevrotain@11.0.3:
dependencies:
@@ -5976,7 +6037,7 @@ snapshots:
commander@8.3.0: {}
- comment-parser@1.4.1: {}
+ comment-parser@1.4.5: {}
compare-versions@6.1.1: {}
@@ -5984,7 +6045,7 @@ snapshots:
confbox@0.1.8: {}
- core-js-compat@3.47.0:
+ core-js-compat@3.48.0:
dependencies:
browserslist: 4.28.1
@@ -6017,7 +6078,7 @@ snapshots:
css-functions-list@3.2.3: {}
- css-loader@7.1.2(webpack@5.104.0):
+ css-loader@7.1.2(webpack@5.104.1):
dependencies:
icss-utils: 5.1.0(postcss@8.5.6)
postcss: 8.5.6
@@ -6028,7 +6089,7 @@ snapshots:
postcss-value-parser: 4.2.0
semver: 7.7.3
optionalDependencies:
- webpack: 5.104.0(webpack-cli@6.0.1)
+ webpack: 5.104.1(webpack-cli@6.0.1)
css-select@5.2.2:
dependencies:
@@ -6133,7 +6194,7 @@ snapshots:
d3-quadtree: 3.0.1
d3-timer: 3.0.1
- d3-format@3.1.0: {}
+ d3-format@3.1.2: {}
d3-geo@3.1.1:
dependencies:
@@ -6168,7 +6229,7 @@ snapshots:
d3-scale@4.0.2:
dependencies:
d3-array: 3.2.4
- d3-format: 3.1.0
+ d3-format: 3.1.2
d3-interpolate: 3.0.1
d3-time: 3.1.0
d3-time-format: 4.1.0
@@ -6225,7 +6286,7 @@ snapshots:
d3-ease: 3.0.1
d3-fetch: 3.0.1
d3-force: 3.0.0
- d3-format: 3.1.0
+ d3-format: 3.1.2
d3-geo: 3.1.1
d3-hierarchy: 3.1.2
d3-interpolate: 3.0.1
@@ -6246,7 +6307,7 @@ snapshots:
dagre-d3-es@7.0.13:
dependencies:
d3: 7.9.0
- lodash-es: 4.17.22
+ lodash-es: 4.17.23
damerau-levenshtein@1.0.8: {}
@@ -6260,7 +6321,7 @@ snapshots:
dependencies:
ms: 2.1.3
- decode-named-character-reference@1.2.0:
+ decode-named-character-reference@1.3.0:
dependencies:
character-entities: 2.0.2
@@ -6287,10 +6348,6 @@ snapshots:
didyoumean@1.2.2: {}
- dir-glob@3.0.1:
- dependencies:
- path-type: 4.0.0
-
dlv@1.1.3: {}
doctrine@2.1.0:
@@ -6338,7 +6395,7 @@ snapshots:
codemirror-spell-checker: 1.1.2
marked: 4.3.0
- electron-to-chromium@1.5.267: {}
+ electron-to-chromium@1.5.278: {}
emoji-regex@10.6.0: {}
@@ -6355,6 +6412,8 @@ snapshots:
entities@4.5.0: {}
+ entities@7.0.1: {}
+
env-paths@2.2.1: {}
envinfo@7.21.0: {}
@@ -6367,43 +6426,14 @@ snapshots:
es-module-lexer@2.0.0: {}
- esbuild-loader@4.4.0(webpack@5.104.0):
+ esbuild-loader@4.4.2(webpack@5.104.1):
dependencies:
- esbuild: 0.25.12
+ esbuild: 0.27.2
get-tsconfig: 4.13.0
loader-utils: 2.0.4
- webpack: 5.104.0(webpack-cli@6.0.1)
+ webpack: 5.104.1(webpack-cli@6.0.1)
webpack-sources: 1.4.3
- esbuild@0.25.12:
- optionalDependencies:
- '@esbuild/aix-ppc64': 0.25.12
- '@esbuild/android-arm': 0.25.12
- '@esbuild/android-arm64': 0.25.12
- '@esbuild/android-x64': 0.25.12
- '@esbuild/darwin-arm64': 0.25.12
- '@esbuild/darwin-x64': 0.25.12
- '@esbuild/freebsd-arm64': 0.25.12
- '@esbuild/freebsd-x64': 0.25.12
- '@esbuild/linux-arm': 0.25.12
- '@esbuild/linux-arm64': 0.25.12
- '@esbuild/linux-ia32': 0.25.12
- '@esbuild/linux-loong64': 0.25.12
- '@esbuild/linux-mips64el': 0.25.12
- '@esbuild/linux-ppc64': 0.25.12
- '@esbuild/linux-riscv64': 0.25.12
- '@esbuild/linux-s390x': 0.25.12
- '@esbuild/linux-x64': 0.25.12
- '@esbuild/netbsd-arm64': 0.25.12
- '@esbuild/netbsd-x64': 0.25.12
- '@esbuild/openbsd-arm64': 0.25.12
- '@esbuild/openbsd-x64': 0.25.12
- '@esbuild/openharmony-arm64': 0.25.12
- '@esbuild/sunos-x64': 0.25.12
- '@esbuild/win32-arm64': 0.25.12
- '@esbuild/win32-ia32': 0.25.12
- '@esbuild/win32-x64': 0.25.12
-
esbuild@0.27.2:
optionalDependencies:
'@esbuild/aix-ppc64': 0.27.2
@@ -6463,7 +6493,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-import-resolver-typescript@4.4.4(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.2(jiti@2.6.1)))(eslint-plugin-import@2.32.0)(eslint@9.39.2(jiti@2.6.1)):
+ eslint-import-resolver-typescript@4.4.4(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.2(jiti@2.6.1)))(eslint-plugin-import@2.32.0)(eslint@9.39.2(jiti@2.6.1)):
dependencies:
debug: 4.4.3
eslint: 9.39.2(jiti@2.6.1)
@@ -6474,19 +6504,19 @@ snapshots:
tinyglobby: 0.2.15
unrs-resolver: 1.11.1
optionalDependencies:
- eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-typescript@4.4.4)(eslint@9.39.2(jiti@2.6.1))
- eslint-plugin-import-x: 4.16.1(@typescript-eslint/utils@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.2(jiti@2.6.1))
+ eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-typescript@4.4.4)(eslint@9.39.2(jiti@2.6.1))
+ eslint-plugin-import-x: 4.16.1(@typescript-eslint/utils@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.2(jiti@2.6.1))
transitivePeerDependencies:
- supports-color
- eslint-module-utils@2.12.1(@typescript-eslint/parser@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4)(eslint@9.39.2(jiti@2.6.1)):
+ eslint-module-utils@2.12.1(@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4)(eslint@9.39.2(jiti@2.6.1)):
dependencies:
debug: 3.2.7
optionalDependencies:
- '@typescript-eslint/parser': 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/parser': 8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
eslint: 9.39.2(jiti@2.6.1)
eslint-import-resolver-node: 0.3.9
- eslint-import-resolver-typescript: 4.4.4(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.2(jiti@2.6.1)))(eslint-plugin-import@2.32.0)(eslint@9.39.2(jiti@2.6.1))
+ eslint-import-resolver-typescript: 4.4.4(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.2(jiti@2.6.1)))(eslint-plugin-import@2.32.0)(eslint@9.39.2(jiti@2.6.1))
transitivePeerDependencies:
- supports-color
@@ -6519,8 +6549,8 @@ snapshots:
'@eslint/eslintrc': 3.3.3
'@eslint/js': 9.39.2
'@github/browserslist-config': 1.0.0
- '@typescript-eslint/eslint-plugin': 8.50.0(@typescript-eslint/parser@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
- '@typescript-eslint/parser': 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/eslint-plugin': 8.53.1(@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/parser': 8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
aria-query: 5.3.2
eslint: 9.39.2(jiti@2.6.1)
eslint-config-prettier: 10.1.8(eslint@9.39.2(jiti@2.6.1))
@@ -6528,17 +6558,17 @@ snapshots:
eslint-plugin-eslint-comments: 3.2.0(eslint@9.39.2(jiti@2.6.1))
eslint-plugin-filenames: 1.3.2(eslint@9.39.2(jiti@2.6.1))
eslint-plugin-i18n-text: 1.0.1(eslint@9.39.2(jiti@2.6.1))
- eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-typescript@4.4.4)(eslint@9.39.2(jiti@2.6.1))
+ eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-typescript@4.4.4)(eslint@9.39.2(jiti@2.6.1))
eslint-plugin-jsx-a11y: 6.10.2(eslint@9.39.2(jiti@2.6.1))
eslint-plugin-no-only-tests: 3.3.0
- eslint-plugin-prettier: 5.5.4(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1))(prettier@3.7.4)
+ eslint-plugin-prettier: 5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1))(prettier@3.8.1)
eslint-rule-documentation: 1.0.23
globals: 16.5.0
jsx-ast-utils: 3.3.5
- prettier: 3.7.4
+ prettier: 3.8.1
svg-element-attributes: 1.3.1
typescript: 5.9.3
- typescript-eslint: 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ typescript-eslint: 8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
transitivePeerDependencies:
- '@types/eslint'
- eslint-import-resolver-typescript
@@ -6549,10 +6579,10 @@ snapshots:
dependencies:
eslint: 9.39.2(jiti@2.6.1)
- eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.2(jiti@2.6.1)):
+ eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.2(jiti@2.6.1)):
dependencies:
- '@typescript-eslint/types': 8.50.0
- comment-parser: 1.4.1
+ '@typescript-eslint/types': 8.53.1
+ comment-parser: 1.4.5
debug: 4.4.3
eslint: 9.39.2(jiti@2.6.1)
eslint-import-context: 0.1.9(unrs-resolver@1.11.1)
@@ -6562,12 +6592,12 @@ snapshots:
stable-hash-x: 0.2.0
unrs-resolver: 1.11.1
optionalDependencies:
- '@typescript-eslint/utils': 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
eslint-import-resolver-node: 0.3.9
transitivePeerDependencies:
- supports-color
- eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-typescript@4.4.4)(eslint@9.39.2(jiti@2.6.1)):
+ eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-typescript@4.4.4)(eslint@9.39.2(jiti@2.6.1)):
dependencies:
'@rtsao/scc': 1.1.0
array-includes: '@nolyfill/array-includes@1.0.44'
@@ -6578,7 +6608,7 @@ snapshots:
doctrine: 2.1.0
eslint: 9.39.2(jiti@2.6.1)
eslint-import-resolver-node: 0.3.9
- eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4)(eslint@9.39.2(jiti@2.6.1))
+ eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4)(eslint@9.39.2(jiti@2.6.1))
hasown: '@nolyfill/hasown@1.0.44'
is-core-module: '@nolyfill/is-core-module@1.0.39'
is-glob: 4.0.3
@@ -6590,7 +6620,7 @@ snapshots:
string.prototype.trimend: '@nolyfill/string.prototype.trimend@1.0.44'
tsconfig-paths: 3.15.0
optionalDependencies:
- '@typescript-eslint/parser': 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/parser': 8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
@@ -6602,7 +6632,7 @@ snapshots:
array-includes: '@nolyfill/array-includes@1.0.44'
array.prototype.flatmap: '@nolyfill/array.prototype.flatmap@1.0.44'
ast-types-flow: 0.0.8
- axe-core: 4.11.0
+ axe-core: 4.11.1
axobject-query: 4.1.0
damerau-levenshtein: 1.0.8
emoji-regex: 9.2.2
@@ -6617,28 +6647,28 @@ snapshots:
eslint-plugin-no-only-tests@3.3.0: {}
- eslint-plugin-playwright@2.4.0(eslint@9.39.2(jiti@2.6.1)):
+ eslint-plugin-playwright@2.5.0(eslint@9.39.2(jiti@2.6.1)):
dependencies:
eslint: 9.39.2(jiti@2.6.1)
globals: 16.5.0
- eslint-plugin-prettier@5.5.4(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1))(prettier@3.7.4):
+ eslint-plugin-prettier@5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1))(prettier@3.8.1):
dependencies:
eslint: 9.39.2(jiti@2.6.1)
- prettier: 3.7.4
- prettier-linter-helpers: 1.0.0
- synckit: 0.11.11
+ prettier: 3.8.1
+ prettier-linter-helpers: 1.0.1
+ synckit: 0.11.12
optionalDependencies:
'@types/eslint': 9.6.1
eslint-config-prettier: 10.1.8(eslint@9.39.2(jiti@2.6.1))
- eslint-plugin-regexp@2.10.0(eslint@9.39.2(jiti@2.6.1)):
+ eslint-plugin-regexp@3.0.0(eslint@9.39.2(jiti@2.6.1)):
dependencies:
- '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.2(jiti@2.6.1))
+ '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1))
'@eslint-community/regexpp': 4.12.2
- comment-parser: 1.4.1
+ comment-parser: 1.4.5
eslint: 9.39.2(jiti@2.6.1)
- jsdoc-type-pratt-parser: 4.8.0
+ jsdoc-type-pratt-parser: 7.1.0
refa: 0.12.1
regexp-ast-analysis: 0.7.1
scslre: 0.3.0
@@ -6660,14 +6690,14 @@ snapshots:
eslint-plugin-unicorn@62.0.0(eslint@9.39.2(jiti@2.6.1)):
dependencies:
'@babel/helper-validator-identifier': 7.28.5
- '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.2(jiti@2.6.1))
+ '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1))
'@eslint/plugin-kit': 0.4.1
change-case: 5.4.4
ci-info: 4.3.1
clean-regexp: 1.0.0
- core-js-compat: 3.47.0
+ core-js-compat: 3.48.0
eslint: 9.39.2(jiti@2.6.1)
- esquery: 1.6.0
+ esquery: 1.7.0
find-up-simple: 1.0.1
globals: 16.5.0
indent-string: 5.0.0
@@ -6681,10 +6711,10 @@ snapshots:
eslint-plugin-vue-scoped-css@2.12.0(eslint@9.39.2(jiti@2.6.1))(vue-eslint-parser@10.2.0(eslint@9.39.2(jiti@2.6.1))):
dependencies:
- '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.2(jiti@2.6.1))
+ '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1))
eslint: 9.39.2(jiti@2.6.1)
eslint-compat-utils: 0.6.5(eslint@9.39.2(jiti@2.6.1))
- lodash: 4.17.21
+ lodash: 4.17.23
postcss: 8.5.6
postcss-safe-parser: 6.0.0(postcss@8.5.6)
postcss-scss: 4.0.9(postcss@8.5.6)
@@ -6694,9 +6724,9 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-plugin-vue@10.6.2(@stylistic/eslint-plugin@5.6.1(eslint@9.39.2(jiti@2.6.1)))(@typescript-eslint/parser@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(vue-eslint-parser@10.2.0(eslint@9.39.2(jiti@2.6.1))):
+ eslint-plugin-vue@10.7.0(@stylistic/eslint-plugin@5.7.1(eslint@9.39.2(jiti@2.6.1)))(@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(vue-eslint-parser@10.2.0(eslint@9.39.2(jiti@2.6.1))):
dependencies:
- '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.2(jiti@2.6.1))
+ '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1))
eslint: 9.39.2(jiti@2.6.1)
natural-compare: 1.4.0
nth-check: 2.1.1
@@ -6705,8 +6735,8 @@ snapshots:
vue-eslint-parser: 10.2.0(eslint@9.39.2(jiti@2.6.1))
xml-name-validator: 4.0.0
optionalDependencies:
- '@stylistic/eslint-plugin': 5.6.1(eslint@9.39.2(jiti@2.6.1))
- '@typescript-eslint/parser': 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ '@stylistic/eslint-plugin': 5.7.1(eslint@9.39.2(jiti@2.6.1))
+ '@typescript-eslint/parser': 8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
eslint-plugin-wc@3.0.2(eslint@9.39.2(jiti@2.6.1)):
dependencies:
@@ -6732,7 +6762,7 @@ snapshots:
eslint@9.39.2(jiti@2.6.1):
dependencies:
- '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.2(jiti@2.6.1))
+ '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1))
'@eslint-community/regexpp': 4.12.2
'@eslint/config-array': 0.21.1
'@eslint/config-helpers': 0.4.2
@@ -6752,7 +6782,7 @@ snapshots:
eslint-scope: 8.4.0
eslint-visitor-keys: 4.2.1
espree: 10.4.0
- esquery: 1.6.0
+ esquery: 1.7.0
esutils: 2.0.3
fast-deep-equal: 3.1.3
file-entry-cache: 8.0.0
@@ -6777,7 +6807,7 @@ snapshots:
acorn-jsx: 5.3.2(acorn@8.15.0)
eslint-visitor-keys: 4.2.1
- esquery@1.6.0:
+ esquery@1.7.0:
dependencies:
estraverse: 5.3.0
@@ -6823,10 +6853,14 @@ snapshots:
fastest-levenshtein@1.0.16: {}
- fastq@1.19.1:
+ fastq@1.20.1:
dependencies:
reusify: 1.1.0
+ fd-package-json@2.0.0:
+ dependencies:
+ walk-up-path: 4.0.0
+
fdir@6.5.0(picomatch@4.0.3):
optionalDependencies:
picomatch: 4.0.3
@@ -6839,9 +6873,9 @@ snapshots:
fflate@0.8.2: {}
- file-entry-cache@11.1.1:
+ file-entry-cache@11.1.2:
dependencies:
- flat-cache: 6.1.19
+ flat-cache: 6.1.20
file-entry-cache@8.0.0:
dependencies:
@@ -6868,16 +6902,20 @@ snapshots:
flatted: 3.3.3
keyv: 4.5.4
- flat-cache@6.1.19:
+ flat-cache@6.1.20:
dependencies:
- cacheable: 2.3.1
+ cacheable: 2.3.2
flatted: 3.3.3
- hookified: 1.14.0
+ hookified: 1.15.0
flat@5.0.2: {}
flatted@3.3.3: {}
+ formatly@0.3.0:
+ dependencies:
+ fd-package-json: 2.0.0
+
fs.realpath@1.0.0: {}
fsevents@2.3.2:
@@ -6927,14 +6965,16 @@ snapshots:
globals@16.5.0: {}
- globby@11.1.0:
+ globals@17.1.0: {}
+
+ globby@16.1.0:
dependencies:
- array-union: 2.1.0
- dir-glob: 3.0.1
+ '@sindresorhus/merge-streams': 4.0.0
fast-glob: 3.3.3
- ignore: 5.3.2
- merge2: 1.4.1
- slash: 3.0.0
+ ignore: 7.0.5
+ is-path-inside: 4.0.0
+ slash: 5.1.0
+ unicorn-magic: 0.4.0
globjoin@0.1.4: {}
@@ -6944,23 +6984,31 @@ snapshots:
hammerjs@2.0.8: {}
- happy-dom@20.0.11:
+ happy-dom@20.3.7:
dependencies:
- '@types/node': 20.19.27
+ '@types/node': 25.0.10
'@types/whatwg-mimetype': 3.0.2
+ '@types/ws': 8.18.1
+ entities: 4.5.0
whatwg-mimetype: 3.0.0
+ ws: 8.19.0
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
has-flag@4.0.0: {}
+ has-flag@5.0.1: {}
+
hash-sum@2.0.0: {}
- hashery@1.3.0:
+ hashery@1.4.0:
dependencies:
- hookified: 1.14.0
+ hookified: 1.15.0
- hookified@1.14.0: {}
+ hookified@1.15.0: {}
- html-tags@3.3.1: {}
+ html-tags@5.1.0: {}
htmlparser2@8.0.2:
dependencies:
@@ -6997,6 +7045,8 @@ snapshots:
pkg-dir: 4.2.0
resolve-cwd: 3.0.0
+ import-meta-resolve@4.2.0: {}
+
imurmurhash@0.1.4: {}
indent-string@5.0.0: {}
@@ -7055,6 +7105,8 @@ snapshots:
is-number@7.0.0: {}
+ is-path-inside@4.0.0: {}
+
is-plain-object@2.0.4:
dependencies:
isobject: 3.0.1
@@ -7073,7 +7125,7 @@ snapshots:
jest-worker@27.5.1:
dependencies:
- '@types/node': 25.0.3
+ '@types/node': 25.0.10
merge-stream: 2.0.0
supports-color: 8.1.1
@@ -7081,7 +7133,7 @@ snapshots:
jiti@2.6.1: {}
- jquery@3.7.1: {}
+ jquery@4.0.0: {}
js-levenshtein-esm@2.0.0: {}
@@ -7093,7 +7145,7 @@ snapshots:
dependencies:
argparse: 2.0.1
- jsdoc-type-pratt-parser@4.8.0: {}
+ jsdoc-type-pratt-parser@7.1.0: {}
jsesc@3.1.0: {}
@@ -7136,7 +7188,7 @@ snapshots:
dependencies:
json-buffer: 3.0.1
- keyv@5.5.5:
+ keyv@5.6.0:
dependencies:
'@keyv/serialize': 1.1.1
@@ -7148,6 +7200,23 @@ snapshots:
kind-of@6.0.3: {}
+ knip@5.82.1(@types/node@25.0.10)(typescript@5.9.3):
+ dependencies:
+ '@nodelib/fs.walk': 1.2.8
+ '@types/node': 25.0.10
+ fast-glob: 3.3.3
+ formatly: 0.3.0
+ jiti: 2.6.1
+ js-yaml: 4.1.1
+ minimist: 1.2.8
+ oxc-resolver: 11.16.4
+ picocolors: 1.1.1
+ picomatch: 4.0.3
+ smol-toml: 1.6.0
+ strip-json-comments: 5.0.3
+ typescript: 5.9.3
+ zod: 4.3.6
+
known-css-properties@0.37.0: {}
langium@3.3.1:
@@ -7199,7 +7268,7 @@ snapshots:
lodash-es@4.17.21: {}
- lodash-es@4.17.22: {}
+ lodash-es@4.17.23: {}
lodash.camelcase@4.3.0: {}
@@ -7215,7 +7284,7 @@ snapshots:
lodash.upperfirst@4.3.1: {}
- lodash@4.17.21: {}
+ lodash@4.17.23: {}
magic-string@0.30.21:
dependencies:
@@ -7267,14 +7336,14 @@ snapshots:
marked@4.3.0: {}
- material-icon-theme@5.29.0:
+ material-icon-theme@5.31.0:
dependencies:
chroma-js: 3.2.0
events: 3.3.0
fast-deep-equal: 3.1.3
svgson: 5.3.1
- mathml-tag-names@2.1.3: {}
+ mathml-tag-names@4.0.0: {}
mdn-data@2.0.28: {}
@@ -7282,7 +7351,7 @@ snapshots:
mdurl@2.0.0: {}
- meow@13.2.0: {}
+ meow@14.0.0: {}
merge-stream@2.0.0: {}
@@ -7304,7 +7373,7 @@ snapshots:
dompurify: 3.3.1
katex: 0.16.27
khroma: 2.1.0
- lodash-es: 4.17.22
+ lodash-es: 4.17.23
marked: 16.4.2
roughjs: 4.6.6
stylis: 4.3.6
@@ -7313,7 +7382,7 @@ snapshots:
micromark-core-commonmark@2.0.3:
dependencies:
- decode-named-character-reference: 1.2.0
+ decode-named-character-reference: 1.3.0
devlop: 1.1.0
micromark-factory-destination: 2.0.1
micromark-factory-label: 2.0.1
@@ -7368,7 +7437,7 @@ snapshots:
micromark-extension-math@3.1.0:
dependencies:
- '@types/katex': 0.16.7
+ '@types/katex': 0.16.8
devlop: 1.1.0
katex: 0.16.27
micromark-factory-space: 2.0.1
@@ -7465,7 +7534,7 @@ snapshots:
dependencies:
'@types/debug': 4.1.12
debug: 4.4.3
- decode-named-character-reference: 1.2.0
+ decode-named-character-reference: 1.3.0
devlop: 1.1.0
micromark-core-commonmark: 2.0.3
micromark-factory-space: 2.0.1
@@ -7494,11 +7563,11 @@ snapshots:
dependencies:
mime-db: 1.52.0
- mini-css-extract-plugin@2.9.4(webpack@5.104.0):
+ mini-css-extract-plugin@2.10.0(webpack@5.104.1):
dependencies:
schema-utils: 4.3.3
tapable: 2.3.0
- webpack: 5.104.0(webpack-cli@6.0.1)
+ webpack: 5.104.1(webpack-cli@6.0.1)
minimatch@10.1.1:
dependencies:
@@ -7519,13 +7588,13 @@ snapshots:
acorn: 8.15.0
pathe: 2.0.3
pkg-types: 1.3.1
- ufo: 1.6.1
+ ufo: 1.6.3
- monaco-editor-webpack-plugin@7.1.1(monaco-editor@0.55.1)(webpack@5.104.0):
+ monaco-editor-webpack-plugin@7.1.1(monaco-editor@0.55.1)(webpack@5.104.1):
dependencies:
loader-utils: 2.0.4
monaco-editor: 0.55.1
- webpack: 5.104.0(webpack-cli@6.0.1)
+ webpack: 5.104.1(webpack-cli@6.0.1)
monaco-editor@0.55.1:
dependencies:
@@ -7582,7 +7651,7 @@ snapshots:
dependencies:
wrappy: 1.0.2
- online-3d-viewer@0.17.0:
+ online-3d-viewer@0.18.0:
dependencies:
'@simonwep/pickr': 1.9.0
fflate: 0.8.2
@@ -7597,6 +7666,29 @@ snapshots:
type-check: 0.4.0
word-wrap: 1.2.5
+ oxc-resolver@11.16.4:
+ optionalDependencies:
+ '@oxc-resolver/binding-android-arm-eabi': 11.16.4
+ '@oxc-resolver/binding-android-arm64': 11.16.4
+ '@oxc-resolver/binding-darwin-arm64': 11.16.4
+ '@oxc-resolver/binding-darwin-x64': 11.16.4
+ '@oxc-resolver/binding-freebsd-x64': 11.16.4
+ '@oxc-resolver/binding-linux-arm-gnueabihf': 11.16.4
+ '@oxc-resolver/binding-linux-arm-musleabihf': 11.16.4
+ '@oxc-resolver/binding-linux-arm64-gnu': 11.16.4
+ '@oxc-resolver/binding-linux-arm64-musl': 11.16.4
+ '@oxc-resolver/binding-linux-ppc64-gnu': 11.16.4
+ '@oxc-resolver/binding-linux-riscv64-gnu': 11.16.4
+ '@oxc-resolver/binding-linux-riscv64-musl': 11.16.4
+ '@oxc-resolver/binding-linux-s390x-gnu': 11.16.4
+ '@oxc-resolver/binding-linux-x64-gnu': 11.16.4
+ '@oxc-resolver/binding-linux-x64-musl': 11.16.4
+ '@oxc-resolver/binding-openharmony-arm64': 11.16.4
+ '@oxc-resolver/binding-wasm32-wasi': 11.16.4
+ '@oxc-resolver/binding-win32-arm64-msvc': 11.16.4
+ '@oxc-resolver/binding-win32-ia32-msvc': 11.16.4
+ '@oxc-resolver/binding-win32-x64-msvc': 11.16.4
+
p-limit@2.3.0:
dependencies:
p-try: 2.2.0
@@ -7626,14 +7718,14 @@ snapshots:
'@types/unist': 2.0.11
character-entities-legacy: 3.0.0
character-reference-invalid: 2.0.1
- decode-named-character-reference: 1.2.0
+ decode-named-character-reference: 1.3.0
is-alphanumerical: 2.0.1
is-decimal: 2.0.1
is-hexadecimal: 2.0.1
parse-json@5.2.0:
dependencies:
- '@babel/code-frame': 7.27.1
+ '@babel/code-frame': 7.28.6
error-ex: 1.3.4
json-parse-even-better-errors: 2.3.1
lines-and-columns: 1.2.4
@@ -7650,13 +7742,11 @@ snapshots:
path-parse@1.0.7: {}
- path-type@4.0.0: {}
-
pathe@2.0.3: {}
pdfobject@2.3.1: {}
- perfect-debounce@2.0.0: {}
+ perfect-debounce@2.1.0: {}
picocolors@1.1.1: {}
@@ -7678,11 +7768,11 @@ snapshots:
mlly: 1.8.0
pathe: 2.0.3
- playwright-core@1.57.0: {}
+ playwright-core@1.58.0: {}
- playwright@1.57.0:
+ playwright@1.58.0:
dependencies:
- playwright-core: 1.57.0
+ playwright-core: 1.58.0
optionalDependencies:
fsevents: 2.3.2
@@ -7695,7 +7785,7 @@ snapshots:
path-data-parser: 0.1.0
points-on-curve: 0.2.0
- postcss-html@1.8.0:
+ postcss-html@1.8.1:
dependencies:
htmlparser2: 8.0.2
js-tokens: 9.0.1
@@ -7721,14 +7811,14 @@ snapshots:
optionalDependencies:
postcss: 8.5.6
- postcss-loader@8.2.0(postcss@8.5.6)(typescript@5.9.3)(webpack@5.104.0):
+ postcss-loader@8.2.0(postcss@8.5.6)(typescript@5.9.3)(webpack@5.104.1):
dependencies:
cosmiconfig: 9.0.0(typescript@5.9.3)
jiti: 2.6.1
postcss: 8.5.6
semver: 7.7.3
optionalDependencies:
- webpack: 5.104.0(webpack-cli@6.0.1)
+ webpack: 5.104.1(webpack-cli@6.0.1)
transitivePeerDependencies:
- typescript
@@ -7758,8 +7848,6 @@ snapshots:
postcss: 8.5.6
postcss-selector-parser: 6.1.2
- postcss-resolve-nested-selector@0.1.6: {}
-
postcss-safe-parser@6.0.0(postcss@8.5.6):
dependencies:
postcss: 8.5.6
@@ -7802,19 +7890,19 @@ snapshots:
prelude-ls@1.2.1: {}
- prettier-linter-helpers@1.0.0:
+ prettier-linter-helpers@1.0.1:
dependencies:
fast-diff: 1.3.0
- prettier@3.7.4: {}
+ prettier@3.8.1: {}
punycode.js@2.3.1: {}
punycode@2.3.1: {}
- qified@0.5.3:
+ qified@0.6.0:
dependencies:
- hookified: 1.14.0
+ hookified: 1.15.0
queue-microtask@1.2.3: {}
@@ -7873,32 +7961,35 @@ snapshots:
robust-predicates@3.0.2: {}
- rollup@4.53.5:
+ rollup@4.56.0:
dependencies:
'@types/estree': 1.0.8
optionalDependencies:
- '@rollup/rollup-android-arm-eabi': 4.53.5
- '@rollup/rollup-android-arm64': 4.53.5
- '@rollup/rollup-darwin-arm64': 4.53.5
- '@rollup/rollup-darwin-x64': 4.53.5
- '@rollup/rollup-freebsd-arm64': 4.53.5
- '@rollup/rollup-freebsd-x64': 4.53.5
- '@rollup/rollup-linux-arm-gnueabihf': 4.53.5
- '@rollup/rollup-linux-arm-musleabihf': 4.53.5
- '@rollup/rollup-linux-arm64-gnu': 4.53.5
- '@rollup/rollup-linux-arm64-musl': 4.53.5
- '@rollup/rollup-linux-loong64-gnu': 4.53.5
- '@rollup/rollup-linux-ppc64-gnu': 4.53.5
- '@rollup/rollup-linux-riscv64-gnu': 4.53.5
- '@rollup/rollup-linux-riscv64-musl': 4.53.5
- '@rollup/rollup-linux-s390x-gnu': 4.53.5
- '@rollup/rollup-linux-x64-gnu': 4.53.5
- '@rollup/rollup-linux-x64-musl': 4.53.5
- '@rollup/rollup-openharmony-arm64': 4.53.5
- '@rollup/rollup-win32-arm64-msvc': 4.53.5
- '@rollup/rollup-win32-ia32-msvc': 4.53.5
- '@rollup/rollup-win32-x64-gnu': 4.53.5
- '@rollup/rollup-win32-x64-msvc': 4.53.5
+ '@rollup/rollup-android-arm-eabi': 4.56.0
+ '@rollup/rollup-android-arm64': 4.56.0
+ '@rollup/rollup-darwin-arm64': 4.56.0
+ '@rollup/rollup-darwin-x64': 4.56.0
+ '@rollup/rollup-freebsd-arm64': 4.56.0
+ '@rollup/rollup-freebsd-x64': 4.56.0
+ '@rollup/rollup-linux-arm-gnueabihf': 4.56.0
+ '@rollup/rollup-linux-arm-musleabihf': 4.56.0
+ '@rollup/rollup-linux-arm64-gnu': 4.56.0
+ '@rollup/rollup-linux-arm64-musl': 4.56.0
+ '@rollup/rollup-linux-loong64-gnu': 4.56.0
+ '@rollup/rollup-linux-loong64-musl': 4.56.0
+ '@rollup/rollup-linux-ppc64-gnu': 4.56.0
+ '@rollup/rollup-linux-ppc64-musl': 4.56.0
+ '@rollup/rollup-linux-riscv64-gnu': 4.56.0
+ '@rollup/rollup-linux-riscv64-musl': 4.56.0
+ '@rollup/rollup-linux-s390x-gnu': 4.56.0
+ '@rollup/rollup-linux-x64-gnu': 4.56.0
+ '@rollup/rollup-linux-x64-musl': 4.56.0
+ '@rollup/rollup-openbsd-x64': 4.56.0
+ '@rollup/rollup-openharmony-arm64': 4.56.0
+ '@rollup/rollup-win32-arm64-msvc': 4.56.0
+ '@rollup/rollup-win32-ia32-msvc': 4.56.0
+ '@rollup/rollup-win32-x64-gnu': 4.56.0
+ '@rollup/rollup-win32-x64-msvc': 4.56.0
fsevents: 2.3.3
roughjs@4.6.6:
@@ -7923,7 +8014,7 @@ snapshots:
sax@1.2.4: {}
- sax@1.4.3: {}
+ sax@1.4.4: {}
schema-utils@4.3.3:
dependencies:
@@ -7948,11 +8039,11 @@ snapshots:
dependencies:
randombytes: 2.1.0
- seroval-plugins@1.3.3(seroval@1.3.2):
+ seroval-plugins@1.5.0(seroval@1.5.0):
dependencies:
- seroval: 1.3.2
+ seroval: 1.5.0
- seroval@1.3.2: {}
+ seroval@1.5.0: {}
shallow-clone@3.0.1:
dependencies:
@@ -7968,7 +8059,7 @@ snapshots:
signal-exit@4.1.0: {}
- slash@3.0.0: {}
+ slash@5.1.0: {}
slice-ansi@4.0.0:
dependencies:
@@ -7978,17 +8069,19 @@ snapshots:
smol-toml@1.5.2: {}
- solid-js@1.9.10:
+ smol-toml@1.6.0: {}
+
+ solid-js@1.9.11:
dependencies:
csstype: 3.2.3
- seroval: 1.3.2
- seroval-plugins: 1.3.3(seroval@1.3.2)
+ seroval: 1.5.0
+ seroval-plugins: 1.5.0(seroval@1.5.0)
- solid-transition-group@0.2.3(solid-js@1.9.10):
+ solid-transition-group@0.2.3(solid-js@1.9.11):
dependencies:
- '@solid-primitives/refs': 1.1.2(solid-js@1.9.10)
- '@solid-primitives/transition-group': 1.1.2(solid-js@1.9.10)
- solid-js: 1.9.10
+ '@solid-primitives/refs': 1.1.2(solid-js@1.9.11)
+ '@solid-primitives/transition-group': 1.1.2(solid-js@1.9.11)
+ solid-js: 1.9.11
sortablejs@1.15.6: {}
@@ -8078,35 +8171,37 @@ snapshots:
strip-json-comments@3.1.1: {}
+ strip-json-comments@5.0.3: {}
+
style-search@0.1.0: {}
- stylelint-config-recommended@17.0.0(stylelint@16.26.1(typescript@5.9.3)):
+ stylelint-config-recommended@18.0.0(stylelint@17.0.0(typescript@5.9.3)):
dependencies:
- stylelint: 16.26.1(typescript@5.9.3)
+ stylelint: 17.0.0(typescript@5.9.3)
- stylelint-declaration-block-no-ignored-properties@2.8.0(stylelint@16.26.1(typescript@5.9.3)):
+ stylelint-declaration-block-no-ignored-properties@2.8.0(stylelint@17.0.0(typescript@5.9.3)):
dependencies:
- stylelint: 16.26.1(typescript@5.9.3)
+ stylelint: 17.0.0(typescript@5.9.3)
- stylelint-declaration-strict-value@1.10.11(stylelint@16.26.1(typescript@5.9.3)):
+ stylelint-declaration-strict-value@1.10.11(stylelint@17.0.0(typescript@5.9.3)):
dependencies:
- stylelint: 16.26.1(typescript@5.9.3)
+ stylelint: 17.0.0(typescript@5.9.3)
- stylelint-value-no-unknown-custom-properties@6.0.1(stylelint@16.26.1(typescript@5.9.3)):
+ stylelint-value-no-unknown-custom-properties@6.1.1(stylelint@17.0.0(typescript@5.9.3)):
dependencies:
postcss-value-parser: 4.2.0
resolve: 1.22.11
- stylelint: 16.26.1(typescript@5.9.3)
+ stylelint: 17.0.0(typescript@5.9.3)
- stylelint@16.26.1(typescript@5.9.3):
+ stylelint@17.0.0(typescript@5.9.3):
dependencies:
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-syntax-patches-for-csstree': 1.0.21
- '@csstools/css-tokenizer': 3.0.4
- '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
- '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.1)
- '@dual-bundle/import-meta-resolve': 4.2.1
- balanced-match: 2.0.0
+ '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0)
+ '@csstools/css-syntax-patches-for-csstree': 1.0.25
+ '@csstools/css-tokenizer': 4.0.0
+ '@csstools/media-query-list-parser': 5.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)
+ '@csstools/selector-resolve-nested': 4.0.0(postcss-selector-parser@7.1.1)
+ '@csstools/selector-specificity': 6.0.0(postcss-selector-parser@7.1.1)
+ balanced-match: 3.0.1
colord: 2.9.3
cosmiconfig: 9.0.0(typescript@5.9.3)
css-functions-list: 3.2.3
@@ -8114,31 +8209,30 @@ snapshots:
debug: 4.4.3
fast-glob: 3.3.3
fastest-levenshtein: 1.0.16
- file-entry-cache: 11.1.1
+ file-entry-cache: 11.1.2
global-modules: 2.0.0
- globby: 11.1.0
+ globby: 16.1.0
globjoin: 0.1.4
- html-tags: 3.3.1
+ html-tags: 5.1.0
ignore: 7.0.5
+ import-meta-resolve: 4.2.0
imurmurhash: 0.1.4
is-plain-object: 5.0.0
known-css-properties: 0.37.0
- mathml-tag-names: 2.1.3
- meow: 13.2.0
+ mathml-tag-names: 4.0.0
+ meow: 14.0.0
micromatch: 4.0.8
normalize-path: 3.0.0
picocolors: 1.1.1
postcss: 8.5.6
- postcss-resolve-nested-selector: 0.1.6
postcss-safe-parser: 7.0.1(postcss@8.5.6)
postcss-selector-parser: 7.1.1
postcss-value-parser: 4.2.0
- resolve-from: 5.0.0
- string-width: 4.2.3
- supports-hyperlinks: 3.2.0
+ string-width: 8.1.0
+ supports-hyperlinks: 4.4.0
svg-tags: 1.0.0
table: 6.9.0
- write-file-atomic: 5.0.1
+ write-file-atomic: 7.0.0
transitivePeerDependencies:
- supports-color
- typescript
@@ -8168,6 +8262,8 @@ snapshots:
superstruct@0.10.13: {}
+ supports-color@10.2.2: {}
+
supports-color@7.2.0:
dependencies:
has-flag: 4.0.0
@@ -8176,10 +8272,10 @@ snapshots:
dependencies:
has-flag: 4.0.0
- supports-hyperlinks@3.2.0:
+ supports-hyperlinks@4.4.0:
dependencies:
- has-flag: 4.0.0
- supports-color: 7.2.0
+ has-flag: 5.0.1
+ supports-color: 10.2.2
supports-preserve-symlinks-flag@1.0.0: {}
@@ -8195,7 +8291,7 @@ snapshots:
css-what: 6.2.2
csso: 5.0.5
picocolors: 1.1.1
- sax: 1.4.3
+ sax: 1.4.4
svgson@5.3.1:
dependencies:
@@ -8213,7 +8309,7 @@ snapshots:
transitivePeerDependencies:
- encoding
- synckit@0.11.11:
+ synckit@0.11.12:
dependencies:
'@pkgr/core': 0.2.9
@@ -8254,16 +8350,16 @@ snapshots:
tapable@2.3.0: {}
- terser-webpack-plugin@5.3.16(webpack@5.104.0):
+ terser-webpack-plugin@5.3.16(webpack@5.104.1):
dependencies:
'@jridgewell/trace-mapping': 0.3.31
jest-worker: 27.5.1
schema-utils: 4.3.3
serialize-javascript: 6.0.2
- terser: 5.44.1
- webpack: 5.104.0(webpack-cli@6.0.1)
+ terser: 5.46.0
+ webpack: 5.104.1(webpack-cli@6.0.1)
- terser@5.44.1:
+ terser@5.46.0:
dependencies:
'@jridgewell/source-map': 0.3.11
acorn: 8.15.0
@@ -8309,7 +8405,7 @@ snapshots:
tributejs@5.1.3: {}
- ts-api-utils@2.1.0(typescript@5.9.3):
+ ts-api-utils@2.4.0(typescript@5.9.3):
dependencies:
typescript: 5.9.3
@@ -8331,12 +8427,12 @@ snapshots:
dependencies:
prelude-ls: 1.2.1
- typescript-eslint@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3):
+ typescript-eslint@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3):
dependencies:
- '@typescript-eslint/eslint-plugin': 8.50.0(@typescript-eslint/parser@8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
- '@typescript-eslint/parser': 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
- '@typescript-eslint/typescript-estree': 8.50.0(typescript@5.9.3)
- '@typescript-eslint/utils': 8.50.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/eslint-plugin': 8.53.1(@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/parser': 8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/typescript-estree': 8.53.1(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
eslint: 9.39.2(jiti@2.6.1)
typescript: 5.9.3
transitivePeerDependencies:
@@ -8348,14 +8444,14 @@ snapshots:
uc.micro@2.1.0: {}
- ufo@1.6.1: {}
+ ufo@1.6.3: {}
uint8-to-base64@0.2.1: {}
- undici-types@6.21.0: {}
-
undici-types@7.16.0: {}
+ unicorn-magic@0.4.0: {}
+
unrs-resolver@1.11.1:
dependencies:
napi-postinstall: 0.3.4
@@ -8386,7 +8482,7 @@ snapshots:
escalade: 3.2.0
picocolors: 1.1.1
- updates@17.0.7: {}
+ updates@17.0.8: {}
uri-js@4.4.1:
dependencies:
@@ -8398,33 +8494,35 @@ snapshots:
vanilla-colorful@0.7.2: {}
- vite-string-plugin@1.4.9: {}
+ vite-string-plugin@1.5.0(vite@7.3.1(@types/node@25.0.10)(jiti@2.6.1)(stylus@0.57.0)(terser@5.46.0)(yaml@2.8.2)):
+ dependencies:
+ vite: 7.3.1(@types/node@25.0.10)(jiti@2.6.1)(stylus@0.57.0)(terser@5.46.0)(yaml@2.8.2)
- vite@7.3.0(@types/node@25.0.3)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.1)(yaml@2.8.2):
+ vite@7.3.1(@types/node@25.0.10)(jiti@2.6.1)(stylus@0.57.0)(terser@5.46.0)(yaml@2.8.2):
dependencies:
esbuild: 0.27.2
fdir: 6.5.0(picomatch@4.0.3)
picomatch: 4.0.3
postcss: 8.5.6
- rollup: 4.53.5
+ rollup: 4.56.0
tinyglobby: 0.2.15
optionalDependencies:
- '@types/node': 25.0.3
+ '@types/node': 25.0.10
fsevents: 2.3.3
jiti: 2.6.1
stylus: 0.57.0
- terser: 5.44.1
+ terser: 5.46.0
yaml: 2.8.2
- vitest@4.0.16(@types/node@25.0.3)(happy-dom@20.0.11)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.1)(yaml@2.8.2):
+ vitest@4.0.18(@types/node@25.0.10)(happy-dom@20.3.7)(jiti@2.6.1)(stylus@0.57.0)(terser@5.46.0)(yaml@2.8.2):
dependencies:
- '@vitest/expect': 4.0.16
- '@vitest/mocker': 4.0.16(vite@7.3.0(@types/node@25.0.3)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.1)(yaml@2.8.2))
- '@vitest/pretty-format': 4.0.16
- '@vitest/runner': 4.0.16
- '@vitest/snapshot': 4.0.16
- '@vitest/spy': 4.0.16
- '@vitest/utils': 4.0.16
+ '@vitest/expect': 4.0.18
+ '@vitest/mocker': 4.0.18(vite@7.3.1(@types/node@25.0.10)(jiti@2.6.1)(stylus@0.57.0)(terser@5.46.0)(yaml@2.8.2))
+ '@vitest/pretty-format': 4.0.18
+ '@vitest/runner': 4.0.18
+ '@vitest/snapshot': 4.0.18
+ '@vitest/spy': 4.0.18
+ '@vitest/utils': 4.0.18
es-module-lexer: 1.7.0
expect-type: 1.3.0
magic-string: 0.30.21
@@ -8436,11 +8534,11 @@ snapshots:
tinyexec: 1.0.2
tinyglobby: 0.2.15
tinyrainbow: 3.0.3
- vite: 7.3.0(@types/node@25.0.3)(jiti@2.6.1)(stylus@0.57.0)(terser@5.44.1)(yaml@2.8.2)
+ vite: 7.3.1(@types/node@25.0.10)(jiti@2.6.1)(stylus@0.57.0)(terser@5.46.0)(yaml@2.8.2)
why-is-node-running: 2.3.0
optionalDependencies:
- '@types/node': 25.0.3
- happy-dom: 20.0.11
+ '@types/node': 25.0.10
+ happy-dom: 20.3.7
transitivePeerDependencies:
- jiti
- less
@@ -8475,14 +8573,14 @@ snapshots:
vue-bar-graph@2.2.0(typescript@5.9.3):
dependencies:
- vue: 3.5.25(typescript@5.9.3)
+ vue: 3.5.27(typescript@5.9.3)
transitivePeerDependencies:
- typescript
- vue-chartjs@5.3.3(chart.js@4.5.1)(vue@3.5.25(typescript@5.9.3)):
+ vue-chartjs@5.3.3(chart.js@4.5.1)(vue@3.5.27(typescript@5.9.3)):
dependencies:
chart.js: 4.5.1
- vue: 3.5.25(typescript@5.9.3)
+ vue: 3.5.27(typescript@5.9.3)
vue-eslint-parser@10.2.0(eslint@9.39.2(jiti@2.6.1)):
dependencies:
@@ -8491,49 +8589,51 @@ snapshots:
eslint-scope: 8.4.0
eslint-visitor-keys: 4.2.1
espree: 10.4.0
- esquery: 1.6.0
+ esquery: 1.7.0
semver: 7.7.3
transitivePeerDependencies:
- supports-color
- vue-loader@17.4.2(vue@3.5.25(typescript@5.9.3))(webpack@5.104.0):
+ vue-loader@17.4.2(vue@3.5.27(typescript@5.9.3))(webpack@5.104.1):
dependencies:
chalk: 4.1.2
hash-sum: 2.0.0
- watchpack: 2.4.4
- webpack: 5.104.0(webpack-cli@6.0.1)
+ watchpack: 2.5.1
+ webpack: 5.104.1(webpack-cli@6.0.1)
optionalDependencies:
- vue: 3.5.25(typescript@5.9.3)
+ vue: 3.5.27(typescript@5.9.3)
- vue-tsc@3.1.8(typescript@5.9.3):
+ vue-tsc@3.2.3(typescript@5.9.3):
dependencies:
- '@volar/typescript': 2.4.26
- '@vue/language-core': 3.1.8(typescript@5.9.3)
+ '@volar/typescript': 2.4.27
+ '@vue/language-core': 3.2.3
typescript: 5.9.3
- vue@3.5.25(typescript@5.9.3):
+ vue@3.5.27(typescript@5.9.3):
dependencies:
- '@vue/compiler-dom': 3.5.25
- '@vue/compiler-sfc': 3.5.25
- '@vue/runtime-dom': 3.5.25
- '@vue/server-renderer': 3.5.25(vue@3.5.25(typescript@5.9.3))
- '@vue/shared': 3.5.25
+ '@vue/compiler-dom': 3.5.27
+ '@vue/compiler-sfc': 3.5.27
+ '@vue/runtime-dom': 3.5.27
+ '@vue/server-renderer': 3.5.27(vue@3.5.27(typescript@5.9.3))
+ '@vue/shared': 3.5.27
optionalDependencies:
typescript: 5.9.3
- watchpack@2.4.4:
+ walk-up-path@4.0.0: {}
+
+ watchpack@2.5.1:
dependencies:
glob-to-regexp: 0.4.1
graceful-fs: 4.2.11
webidl-conversions@3.0.1: {}
- webpack-cli@6.0.1(webpack@5.104.0):
+ webpack-cli@6.0.1(webpack@5.104.1):
dependencies:
'@discoveryjs/json-ext': 0.6.3
- '@webpack-cli/configtest': 3.0.1(webpack-cli@6.0.1)(webpack@5.104.0)
- '@webpack-cli/info': 3.0.1(webpack-cli@6.0.1)(webpack@5.104.0)
- '@webpack-cli/serve': 3.0.1(webpack-cli@6.0.1)(webpack@5.104.0)
+ '@webpack-cli/configtest': 3.0.1(webpack-cli@6.0.1)(webpack@5.104.1)
+ '@webpack-cli/info': 3.0.1(webpack-cli@6.0.1)(webpack@5.104.1)
+ '@webpack-cli/serve': 3.0.1(webpack-cli@6.0.1)(webpack@5.104.1)
colorette: 2.0.20
commander: 12.1.0
cross-spawn: 7.0.6
@@ -8542,7 +8642,7 @@ snapshots:
import-local: 3.2.0
interpret: 3.1.1
rechoir: 0.8.0
- webpack: 5.104.0(webpack-cli@6.0.1)
+ webpack: 5.104.1(webpack-cli@6.0.1)
webpack-merge: 6.0.1
webpack-merge@6.0.1:
@@ -8558,7 +8658,7 @@ snapshots:
webpack-sources@3.3.3: {}
- webpack@5.104.0(webpack-cli@6.0.1):
+ webpack@5.104.1(webpack-cli@6.0.1):
dependencies:
'@types/eslint-scope': 3.7.7
'@types/estree': 1.0.8
@@ -8582,11 +8682,11 @@ snapshots:
neo-async: 2.6.2
schema-utils: 4.3.3
tapable: 2.3.0
- terser-webpack-plugin: 5.3.16(webpack@5.104.0)
- watchpack: 2.4.4
+ terser-webpack-plugin: 5.3.16(webpack@5.104.1)
+ watchpack: 2.5.1
webpack-sources: 3.3.3
optionalDependencies:
- webpack-cli: 6.0.1(webpack@5.104.0)
+ webpack-cli: 6.0.1(webpack@5.104.1)
transitivePeerDependencies:
- '@swc/core'
- esbuild
@@ -8630,11 +8730,13 @@ snapshots:
wrappy@1.0.2: {}
- write-file-atomic@5.0.1:
+ write-file-atomic@7.0.0:
dependencies:
imurmurhash: 0.1.4
signal-exit: 4.1.0
+ ws@8.19.0: {}
+
xml-lexer@0.2.2:
dependencies:
eventemitter3: 2.0.3
@@ -8649,3 +8751,5 @@ snapshots:
yaml@2.8.2: {}
yocto-queue@0.1.0: {}
+
+ zod@4.3.6: {}
diff --git a/public/assets/img/svg/octicon-logo-github.svg b/public/assets/img/svg/octicon-logo-github.svg
index 02d92c9b13..8aae451ae5 100644
--- a/public/assets/img/svg/octicon-logo-github.svg
+++ b/public/assets/img/svg/octicon-logo-github.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/public/assets/img/svg/octicon-mark-github.svg b/public/assets/img/svg/octicon-mark-github.svg
index 9381053c06..6d6dc40886 100644
--- a/public/assets/img/svg/octicon-mark-github.svg
+++ b/public/assets/img/svg/octicon-mark-github.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/pyproject.toml b/pyproject.toml
index 3657feb2ce..20a10d1915 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -6,7 +6,7 @@ requires-python = ">=3.10"
[dependency-groups]
dev = [
"djlint==1.36.4",
- "yamllint==1.37.1",
+ "yamllint==1.38.0",
]
[tool.djlint]
diff --git a/routers/api/v1/admin/adopt.go b/routers/api/v1/admin/adopt.go
index c2efed7490..92711409f0 100644
--- a/routers/api/v1/admin/adopt.go
+++ b/routers/api/v1/admin/adopt.go
@@ -8,7 +8,7 @@ import (
repo_model "code.gitea.io/gitea/models/repo"
user_model "code.gitea.io/gitea/models/user"
- "code.gitea.io/gitea/modules/util"
+ "code.gitea.io/gitea/modules/gitrepo"
"code.gitea.io/gitea/routers/api/v1/utils"
"code.gitea.io/gitea/services/context"
repo_service "code.gitea.io/gitea/services/repository"
@@ -99,12 +99,12 @@ func AdoptRepository(ctx *context.APIContext) {
ctx.APIErrorInternal(err)
return
}
- isDir, err := util.IsDir(repo_model.RepoPath(ctxUser.Name, repoName))
+ exist, err := gitrepo.IsRepositoryExist(ctx, repo_model.StorageRepo(repo_model.RelativePath(ctxUser.Name, repoName)))
if err != nil {
ctx.APIErrorInternal(err)
return
}
- if has || !isDir {
+ if has || !exist {
ctx.APIErrorNotFound()
return
}
@@ -161,12 +161,12 @@ func DeleteUnadoptedRepository(ctx *context.APIContext) {
ctx.APIErrorInternal(err)
return
}
- isDir, err := util.IsDir(repo_model.RepoPath(ctxUser.Name, repoName))
+ exist, err := gitrepo.IsRepositoryExist(ctx, repo_model.StorageRepo(repo_model.RelativePath(ctxUser.Name, repoName)))
if err != nil {
ctx.APIErrorInternal(err)
return
}
- if has || !isDir {
+ if has || !exist {
ctx.APIErrorNotFound()
return
}
diff --git a/routers/api/v1/admin/runners.go b/routers/api/v1/admin/runners.go
index 736c421229..1e15b24076 100644
--- a/routers/api/v1/admin/runners.go
+++ b/routers/api/v1/admin/runners.go
@@ -14,7 +14,7 @@ import (
func GetRegistrationToken(ctx *context.APIContext) {
// swagger:operation GET /admin/runners/registration-token admin adminGetRunnerRegistrationToken
// ---
- // summary: Get an global actions runner registration token
+ // summary: Get a global actions runner registration token
// produces:
// - application/json
// parameters:
@@ -29,7 +29,7 @@ func GetRegistrationToken(ctx *context.APIContext) {
func CreateRegistrationToken(ctx *context.APIContext) {
// swagger:operation POST /admin/actions/runners/registration-token admin adminCreateRunnerRegistrationToken
// ---
- // summary: Get an global actions runner registration token
+ // summary: Get a global actions runner registration token
// produces:
// - application/json
// parameters:
@@ -57,11 +57,11 @@ func ListRunners(ctx *context.APIContext) {
shared.ListRunners(ctx, 0, 0)
}
-// GetRunner get an global runner
+// GetRunner get a global runner
func GetRunner(ctx *context.APIContext) {
// swagger:operation GET /admin/actions/runners/{runner_id} admin getAdminRunner
// ---
- // summary: Get an global runner
+ // summary: Get a global runner
// produces:
// - application/json
// parameters:
@@ -80,11 +80,11 @@ func GetRunner(ctx *context.APIContext) {
shared.GetRunner(ctx, 0, 0, ctx.PathParamInt64("runner_id"))
}
-// DeleteRunner delete an global runner
+// DeleteRunner delete a global runner
func DeleteRunner(ctx *context.APIContext) {
// swagger:operation DELETE /admin/actions/runners/{runner_id} admin deleteAdminRunner
// ---
- // summary: Delete an global runner
+ // summary: Delete a global runner
// produces:
// - application/json
// parameters:
diff --git a/routers/api/v1/api.go b/routers/api/v1/api.go
index fcf9e73057..6d37c67cc4 100644
--- a/routers/api/v1/api.go
+++ b/routers/api/v1/api.go
@@ -1384,19 +1384,19 @@ func Routes() *web.Router {
})
m.Get("/{base}/*", repo.GetPullRequestByBaseHead)
}, mustAllowPulls, reqRepoReader(unit.TypeCode), context.ReferencesGitRepo())
- m.Group("/statuses", func() {
+ m.Group("/statuses", func() { // "/statuses/{sha}" only accepts commit ID
m.Combo("/{sha}").Get(repo.GetCommitStatuses).
Post(reqToken(), reqRepoWriter(unit.TypeCode), bind(api.CreateStatusOption{}), repo.NewCommitStatus)
}, reqRepoReader(unit.TypeCode))
m.Group("/commits", func() {
m.Get("", context.ReferencesGitRepo(), repo.GetAllCommits)
- m.Group("/{ref}", func() {
- m.Get("/status", repo.GetCombinedCommitStatusByRef)
- m.Get("/statuses", repo.GetCommitStatusesByRef)
- }, context.ReferencesGitRepo())
- m.Group("/{sha}", func() {
- m.Get("/pull", repo.GetCommitPullRequest)
- }, context.ReferencesGitRepo())
+ m.PathGroup("/*", func(g *web.RouterPathGroup) {
+ // Mis-configured reverse proxy might decode the `%2F` to slash ahead, so we need to support both formats (escaped, unescaped) here.
+ // It also matches GitHub's behavior
+ g.MatchPath("GET", "/
{{.Release.TagName}}
")() + + repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 2}) + require.True(t, repo.IsPrivate) + + admin := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1}) + unauthorized := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 5}) + + assert.NoError(t, repo_model.WatchRepo(t.Context(), admin, repo, true)) + assert.NoError(t, repo_model.WatchRepo(t.Context(), unauthorized, repo, true)) + + rel := unittest.AssertExistsAndLoadBean(t, &repo_model.Release{ID: 11}) + rel.Repo = nil + rel.Publisher = unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: rel.PublisherID}) + + var sent []*sender_service.Message + origSend := SendAsync + SendAsync = func(msgs ...*sender_service.Message) { + sent = append(sent, msgs...) + } + defer func() { + SendAsync = origSend + }() + + MailNewRelease(t.Context(), rel) + + require.Len(t, sent, 1) + assert.Equal(t, admin.EmailTo(), sent[0].To) + assert.NotEqual(t, unauthorized.EmailTo(), sent[0].To) +} diff --git a/services/mailer/mail_test.go b/services/mailer/mail_test.go index 8a4a589357..caa072725a 100644 --- a/services/mailer/mail_test.go +++ b/services/mailer/mail_test.go @@ -96,11 +96,8 @@ func prepareMailerBase64Test(t *testing.T) (doer *user_model.User, repo *repo_mo return user, repo, issue, att1, att2 } -func prepareMailTemplates(name, subjectTmpl, bodyTmpl string) { - loadedTemplates.Store(&templates.MailTemplates{ - SubjectTemplates: texttmpl.Must(texttmpl.New(name).Parse(subjectTmpl)), - BodyTemplates: template.Must(template.New(name).Parse(bodyTmpl)), - }) +func mockMailTemplates(name, subjectTmpl, bodyTmpl string) func() { + return templates.MailRenderer().MockTemplate(name, subjectTmpl, bodyTmpl) } func TestComposeIssueComment(t *testing.T) { @@ -112,10 +109,8 @@ func TestComposeIssueComment(t *testing.T) { }, }) - setting.IncomingEmail.Enabled = true - defer func() { setting.IncomingEmail.Enabled = false }() - - prepareMailTemplates("repo/issue/comment", subjectTpl, bodyTpl) + defer test.MockVariableValue(&setting.IncomingEmail.Enabled, true)() + defer mockMailTemplates("repo/issue/comment", subjectTpl, bodyTpl)() recipients := []*user_model.User{{Name: "Test", Email: "test@gitea.com"}, {Name: "Test2", Email: "test2@gitea.com"}} msgs, err := composeIssueCommentMessages(t.Context(), &mailComment{ @@ -160,7 +155,7 @@ func TestComposeIssueComment(t *testing.T) { func TestMailMentionsComment(t *testing.T) { doer, _, issue, comment := prepareMailerTest(t) comment.Poster = doer - prepareMailTemplates("repo/issue/comment", subjectTpl, bodyTpl) + defer mockMailTemplates("repo/issue/comment", subjectTpl, bodyTpl)() mails := 0 defer test.MockVariableValue(&SendAsync, func(msgs ...*sender_service.Message) { @@ -175,7 +170,7 @@ func TestMailMentionsComment(t *testing.T) { func TestComposeIssueMessage(t *testing.T) { doer, _, issue, _ := prepareMailerTest(t) - prepareMailTemplates("repo/issue/new", subjectTpl, bodyTpl) + defer mockMailTemplates("repo/issue/new", subjectTpl, bodyTpl)() recipients := []*user_model.User{{Name: "Test", Email: "test@gitea.com"}, {Name: "Test2", Email: "test2@gitea.com"}} msgs, err := composeIssueCommentMessages(t.Context(), &mailComment{ Issue: issue, Doer: doer, ActionType: activities_model.ActionCreateIssue, @@ -204,14 +199,10 @@ func TestTemplateSelection(t *testing.T) { doer, repo, issue, comment := prepareMailerTest(t) recipients := []*user_model.User{{Name: "Test", Email: "test@gitea.com"}} - prepareMailTemplates("repo/issue/default", "repo/issue/default/subject", "repo/issue/default/body") - - texttmpl.Must(LoadedTemplates().SubjectTemplates.New("repo/issue/new").Parse("repo/issue/new/subject")) - texttmpl.Must(LoadedTemplates().SubjectTemplates.New("repo/pull/comment").Parse("repo/pull/comment/subject")) - texttmpl.Must(LoadedTemplates().SubjectTemplates.New("repo/issue/close").Parse("")) // Must default to a fallback subject - template.Must(LoadedTemplates().BodyTemplates.New("repo/issue/new").Parse("repo/issue/new/body")) - template.Must(LoadedTemplates().BodyTemplates.New("repo/pull/comment").Parse("repo/pull/comment/body")) - template.Must(LoadedTemplates().BodyTemplates.New("repo/issue/close").Parse("repo/issue/close/body")) + defer mockMailTemplates("repo/issue/default", "repo/issue/default/subject", "repo/issue/default/body")() + defer mockMailTemplates("repo/issue/new", "repo/issue/new/subject", "repo/issue/new/body")() + defer mockMailTemplates("repo/pull/comment", "repo/pull/comment/subject", "repo/pull/comment/body")() + defer mockMailTemplates("repo/issue/close", "", "repo/issue/close/body")() // Must default to a fallback subject expect := func(t *testing.T, msg *sender_service.Message, expSubject, expBody string) { subject := msg.ToMessage().GetGenHeader("Subject") @@ -256,7 +247,7 @@ func TestTemplateServices(t *testing.T) { expect := func(t *testing.T, issue *issues_model.Issue, comment *issues_model.Comment, doer *user_model.User, actionType activities_model.ActionType, fromMention bool, tplSubject, tplBody, expSubject, expBody string, ) { - prepareMailTemplates("repo/issue/default", tplSubject, tplBody) + defer mockMailTemplates("repo/issue/default", tplSubject, tplBody)() recipients := []*user_model.User{{Name: "Test", Email: "test@gitea.com"}} msg := testComposeIssueCommentMessage(t, &mailComment{ Issue: issue, Doer: doer, ActionType: actionType, @@ -304,7 +295,7 @@ func TestGenerateAdditionalHeadersForIssue(t *testing.T) { comment := &mailComment{Issue: issue, Doer: doer} recipient := &user_model.User{Name: "test", Email: "test@gitea.com"} - headers := generateAdditionalHeadersForIssue(comment, "dummy-reason", recipient) + headers := generateAdditionalHeadersForIssue(t.Context(), comment, "dummy-reason", recipient) expected := map[string]string{ "List-ID": "user2/repo1