From 30cd8001108fd44abe41cf1f5f5588e9dbec7e51 Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Sat, 13 Jul 2024 16:06:20 -0700 Subject: [PATCH 001/547] Gracefully shutdown agent (#3895) --- agent/rpc/auth_client_grpc.go | 6 +- agent/rpc/auth_interceptor.go | 34 +++---- agent/rpc/client_grpc.go | 82 ++++++++++++++-- agent/runner.go | 8 +- cmd/agent/core/agent.go | 176 +++++++++++++++++++++------------- cmd/agent/core/health.go | 8 +- pipeline/pipeline.go | 6 +- pipeline/shutdown.go | 48 ++++++++++ 8 files changed, 273 insertions(+), 95 deletions(-) create mode 100644 pipeline/shutdown.go diff --git a/agent/rpc/auth_client_grpc.go b/agent/rpc/auth_client_grpc.go index 9562f47ea..55c89a41a 100644 --- a/agent/rpc/auth_client_grpc.go +++ b/agent/rpc/auth_client_grpc.go @@ -23,6 +23,8 @@ import ( "go.woodpecker-ci.org/woodpecker/v2/pipeline/rpc/proto" ) +const authClientTimeout = time.Second * 5 + type AuthClient struct { client proto.WoodpeckerAuthClient conn *grpc.ClientConn @@ -39,8 +41,8 @@ func NewAuthGrpcClient(conn *grpc.ClientConn, agentToken string, agentID int64) return client } -func (c *AuthClient) Auth() (string, int64, error) { - ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) //nolint:mnd +func (c *AuthClient) Auth(ctx context.Context) (string, int64, error) { + ctx, cancel := context.WithTimeout(ctx, authClientTimeout) defer cancel() req := &proto.AuthRequest{ diff --git a/agent/rpc/auth_interceptor.go b/agent/rpc/auth_interceptor.go index 1283aa970..17aa2a587 100644 --- a/agent/rpc/auth_interceptor.go +++ b/agent/rpc/auth_interceptor.go @@ -30,15 +30,12 @@ type AuthInterceptor struct { } // NewAuthInterceptor returns a new auth interceptor. -func NewAuthInterceptor( - authClient *AuthClient, - refreshDuration time.Duration, -) (*AuthInterceptor, error) { +func NewAuthInterceptor(ctx context.Context, authClient *AuthClient, refreshDuration time.Duration) (*AuthInterceptor, error) { interceptor := &AuthInterceptor{ authClient: authClient, } - err := interceptor.scheduleRefreshToken(refreshDuration) + err := interceptor.scheduleRefreshToken(ctx, refreshDuration) if err != nil { return nil, err } @@ -78,21 +75,26 @@ func (interceptor *AuthInterceptor) attachToken(ctx context.Context) context.Con return metadata.AppendToOutgoingContext(ctx, "token", interceptor.accessToken) } -func (interceptor *AuthInterceptor) scheduleRefreshToken(refreshDuration time.Duration) error { - err := interceptor.refreshToken() +func (interceptor *AuthInterceptor) scheduleRefreshToken(ctx context.Context, refreshInterval time.Duration) error { + err := interceptor.refreshToken(ctx) if err != nil { return err } go func() { - wait := refreshDuration + wait := refreshInterval + for { - time.Sleep(wait) - err := interceptor.refreshToken() - if err != nil { - wait = time.Second - } else { - wait = refreshDuration + select { + case <-ctx.Done(): + return + case <-time.After(wait): + err := interceptor.refreshToken(ctx) + if err != nil { + wait = time.Second + } else { + wait = refreshInterval + } } } }() @@ -100,8 +102,8 @@ func (interceptor *AuthInterceptor) scheduleRefreshToken(refreshDuration time.Du return nil } -func (interceptor *AuthInterceptor) refreshToken() error { - accessToken, _, err := interceptor.authClient.Auth() +func (interceptor *AuthInterceptor) refreshToken(ctx context.Context) error { + accessToken, _, err := interceptor.authClient.Auth(ctx) if err != nil { return err } diff --git a/agent/rpc/client_grpc.go b/agent/rpc/client_grpc.go index 4c42224b4..e1dc0d8ef 100644 --- a/agent/rpc/client_grpc.go +++ b/agent/rpc/client_grpc.go @@ -17,7 +17,6 @@ package rpc import ( "context" "encoding/json" - "fmt" "strings" "time" @@ -90,8 +89,10 @@ func (c *client) Next(ctx context.Context, f rpc.Filter) (*rpc.Workflow, error) case codes.Canceled: if ctx.Err() != nil { // expected as context was canceled + log.Debug().Err(err).Msgf("grpc error: next(): context canceled") return nil, nil } + log.Error().Err(err).Msgf("grpc error: next(): code: %v", status.Code(err)) return nil, err case codes.Aborted, @@ -105,10 +106,11 @@ func (c *client) Next(ctx context.Context, f rpc.Filter) (*rpc.Workflow, error) // https://github.com/woodpecker-ci/woodpecker/issues/717#issuecomment-1049365104 log.Trace().Err(err).Msg("grpc: to many keepalive pings without sending data") } else { - log.Error().Err(err).Msgf("grpc error: next(): code: %v", status.Code(err)) + log.Warn().Err(err).Msgf("grpc error: next(): code: %v", status.Code(err)) } default: - return nil, fmt.Errorf("grpc error: next(): code: %v: %w", status.Code(err), err) + log.Error().Err(err).Msgf("grpc error: next(): code: %v", status.Code(err)) + return nil, err } select { @@ -143,9 +145,15 @@ func (c *client) Wait(ctx context.Context, id string) (err error) { break } - log.Error().Err(err).Msgf("grpc error: wait(): code: %v", status.Code(err)) - switch status.Code(err) { + case codes.Canceled: + if ctx.Err() != nil { + // expected as context was canceled + log.Debug().Err(err).Msgf("grpc error: wait(): context canceled") + return nil + } + log.Error().Err(err).Msgf("grpc error: wait(): code: %v", status.Code(err)) + return err case codes.Aborted, codes.DataLoss, @@ -153,7 +161,9 @@ func (c *client) Wait(ctx context.Context, id string) (err error) { codes.Internal, codes.Unavailable: // non-fatal errors + log.Warn().Err(err).Msgf("grpc error: wait(): code: %v", status.Code(err)) default: + log.Error().Err(err).Msgf("grpc error: wait(): code: %v", status.Code(err)) return err } @@ -184,6 +194,14 @@ func (c *client) Init(ctx context.Context, workflowID string, state rpc.Workflow log.Error().Err(err).Msgf("grpc error: init(): code: %v", status.Code(err)) switch status.Code(err) { + case codes.Canceled: + if ctx.Err() != nil { + // expected as context was canceled + log.Debug().Err(err).Msgf("grpc error: init(): context canceled") + return nil + } + log.Error().Err(err).Msgf("grpc error: init(): code: %v", status.Code(err)) + return err case codes.Aborted, codes.DataLoss, @@ -191,7 +209,9 @@ func (c *client) Init(ctx context.Context, workflowID string, state rpc.Workflow codes.Internal, codes.Unavailable: // non-fatal errors + log.Warn().Err(err).Msgf("grpc error: init(): code: %v", status.Code(err)) default: + log.Error().Err(err).Msgf("grpc error: init(): code: %v", status.Code(err)) return err } @@ -222,6 +242,14 @@ func (c *client) Done(ctx context.Context, workflowID string, state rpc.Workflow log.Error().Err(err).Msgf("grpc error: done(): code: %v", status.Code(err)) switch status.Code(err) { + case codes.Canceled: + if ctx.Err() != nil { + // expected as context was canceled + log.Debug().Err(err).Msgf("grpc error: done(): context canceled") + return nil + } + log.Error().Err(err).Msgf("grpc error: done(): code: %v", status.Code(err)) + return err case codes.Aborted, codes.DataLoss, @@ -229,7 +257,9 @@ func (c *client) Done(ctx context.Context, workflowID string, state rpc.Workflow codes.Internal, codes.Unavailable: // non-fatal errors + log.Warn().Err(err).Msgf("grpc error: done(): code: %v", status.Code(err)) default: + log.Error().Err(err).Msgf("grpc error: done(): code: %v", status.Code(err)) return err } @@ -256,6 +286,14 @@ func (c *client) Extend(ctx context.Context, id string) (err error) { log.Error().Err(err).Msgf("grpc error: extend(): code: %v", status.Code(err)) switch status.Code(err) { + case codes.Canceled: + if ctx.Err() != nil { + // expected as context was canceled + log.Debug().Err(err).Msgf("grpc error: extend(): context canceled") + return nil + } + log.Error().Err(err).Msgf("grpc error: extend(): code: %v", status.Code(err)) + return err case codes.Aborted, codes.DataLoss, @@ -263,7 +301,9 @@ func (c *client) Extend(ctx context.Context, id string) (err error) { codes.Internal, codes.Unavailable: // non-fatal errors + log.Warn().Err(err).Msgf("grpc error: extend(): code: %v", status.Code(err)) default: + log.Error().Err(err).Msgf("grpc error: extend(): code: %v", status.Code(err)) return err } @@ -297,6 +337,14 @@ func (c *client) Update(ctx context.Context, id string, state rpc.StepState) (er log.Error().Err(err).Msgf("grpc error: update(): code: %v", status.Code(err)) switch status.Code(err) { + case codes.Canceled: + if ctx.Err() != nil { + // expected as context was canceled + log.Debug().Err(err).Msgf("grpc error: update(): context canceled") + return nil + } + log.Error().Err(err).Msgf("grpc error: update(): code: %v", status.Code(err)) + return err case codes.Aborted, codes.DataLoss, @@ -304,7 +352,9 @@ func (c *client) Update(ctx context.Context, id string, state rpc.StepState) (er codes.Internal, codes.Unavailable: // non-fatal errors + log.Warn().Err(err).Msgf("grpc error: update(): code: %v", status.Code(err)) default: + log.Error().Err(err).Msgf("grpc error: update(): code: %v", status.Code(err)) return err } @@ -333,9 +383,15 @@ func (c *client) Log(ctx context.Context, logEntry *rpc.LogEntry) (err error) { break } - log.Error().Err(err).Msgf("grpc error: log(): code: %v", status.Code(err)) - switch status.Code(err) { + case codes.Canceled: + if ctx.Err() != nil { + // expected as context was canceled + log.Debug().Err(err).Msgf("grpc error: log(): context canceled") + return nil + } + log.Error().Err(err).Msgf("grpc error: log(): code: %v", status.Code(err)) + return err case codes.Aborted, codes.DataLoss, @@ -343,7 +399,9 @@ func (c *client) Log(ctx context.Context, logEntry *rpc.LogEntry) (err error) { codes.Internal, codes.Unavailable: // non-fatal errors + log.Warn().Err(err).Msgf("grpc error: log(): code: %v", status.Code(err)) default: + log.Error().Err(err).Msgf("grpc error: log(): code: %v", status.Code(err)) return err } @@ -383,6 +441,14 @@ func (c *client) ReportHealth(ctx context.Context) (err error) { return nil } switch status.Code(err) { + case codes.Canceled: + if ctx.Err() != nil { + // expected as context was canceled + log.Debug().Err(err).Msgf("grpc error: report_health(): context canceled") + return nil + } + log.Error().Err(err).Msgf("grpc error: report_health(): code: %v", status.Code(err)) + return err case codes.Aborted, codes.DataLoss, @@ -390,7 +456,9 @@ func (c *client) ReportHealth(ctx context.Context) (err error) { codes.Internal, codes.Unavailable: // non-fatal errors + log.Warn().Err(err).Msgf("grpc error: report_health(): code: %v", status.Code(err)) default: + log.Error().Err(err).Msgf("grpc error: report_health(): code: %v", status.Code(err)) return err } diff --git a/agent/runner.go b/agent/runner.go index 5cf8be64d..ea3016e36 100644 --- a/agent/runner.go +++ b/agent/runner.go @@ -49,7 +49,7 @@ func NewRunner(workEngine rpc.Peer, f rpc.Filter, h string, state *State, backen } } -func (r *Runner) Run(runnerCtx context.Context) error { //nolint:contextcheck +func (r *Runner) Run(runnerCtx, shutdownCtx context.Context) error { //nolint:contextcheck log.Debug().Msg("request next execution") meta, _ := metadata.FromOutgoingContext(runnerCtx) @@ -178,7 +178,11 @@ func (r *Runner) Run(runnerCtx context.Context) error { //nolint:contextcheck Str("error", state.Error). Msg("updating workflow status") - if err := r.client.Done(runnerCtx, workflow.ID, state); err != nil { + doneCtx := runnerCtx + if doneCtx.Err() != nil { + doneCtx = shutdownCtx + } + if err := r.client.Done(doneCtx, workflow.ID, state); err != nil { logger.Error().Err(err).Msg("updating workflow status failed") } else { logger.Debug().Msg("updating workflow status complete") diff --git a/cmd/agent/core/agent.go b/cmd/agent/core/agent.go index d4c37fc4b..b4da071a2 100644 --- a/cmd/agent/core/agent.go +++ b/cmd/agent/core/agent.go @@ -23,12 +23,12 @@ import ( "net/http" "os" "strings" - "sync" + "sync/atomic" "time" "github.com/rs/zerolog/log" - "github.com/tevino/abool/v2" "github.com/urfave/cli/v2" + "golang.org/x/sync/errgroup" "google.golang.org/grpc" "google.golang.org/grpc/codes" grpc_credentials "google.golang.org/grpc/credentials" @@ -47,7 +47,43 @@ import ( "go.woodpecker-ci.org/woodpecker/v2/version" ) +const ( + reportHealthInterval = time.Second * 10 + authInterceptorRefreshInterval = time.Minute * 30 +) + +const ( + shutdownTimeout = time.Second * 5 +) + +var ( + stopAgentFunc context.CancelCauseFunc = func(error) {} + shutdownCancelFunc context.CancelFunc = func() {} + shutdownCtx = context.Background() +) + func run(c *cli.Context, backends []types.Backend) error { + ctx := utils.WithContextSigtermCallback(c.Context, func() { + log.Info().Msg("termination signal is received, shutting down agent") + }) + + agentCtx, ctxCancel := context.WithCancelCause(ctx) + stopAgentFunc = func(err error) { + msg := "shutdown of whole agent" + if err != nil { + log.Error().Err(err).Msg(msg) + } else { + log.Info().Msg(msg) + } + stopAgentFunc = func(error) {} + shutdownCtx, shutdownCancelFunc = context.WithTimeout(shutdownCtx, shutdownTimeout) + ctxCancel(err) + } + defer stopAgentFunc(nil) + defer shutdownCancelFunc() + + serviceWaitingGroup := errgroup.Group{} + agentConfigPath := c.String("agent-config") hostname := c.String("hostname") if len(hostname) == 0 { @@ -58,11 +94,23 @@ func run(c *cli.Context, backends []types.Backend) error { counter.Running = 0 if c.Bool("healthcheck") { - go func() { - if err := http.ListenAndServe(c.String("healthcheck-addr"), nil); err != nil { - log.Error().Err(err).Msgf("cannot listen on address %s", c.String("healthcheck-addr")) - } - }() + serviceWaitingGroup.Go( + func() error { + server := &http.Server{Addr: c.String("healthcheck-addr")} + go func() { + <-agentCtx.Done() + log.Info().Msg("shutdown healthcheck server ...") + if err := server.Shutdown(shutdownCtx); err != nil { //nolint:contextcheck + log.Error().Err(err).Msg("shutdown healthcheck server failed") + } else { + log.Info().Msg("healthcheck server stopped") + } + }() + if err := server.ListenAndServe(); err != nil { + log.Error().Err(err).Msgf("cannot listen on address %s", c.String("healthcheck-addr")) + } + return nil + }) } var transport grpc.DialOption @@ -88,8 +136,10 @@ func run(c *cli.Context, backends []types.Backend) error { agentConfig := readAgentConfig(agentConfigPath) agentToken := c.String("grpc-token") + grpcClientCtx, grpcClientCtxCancel := context.WithCancelCause(context.Background()) + defer grpcClientCtxCancel(nil) authClient := agent_rpc.NewAuthGrpcClient(authConn, agentToken, agentConfig.AgentID) - authInterceptor, err := agent_rpc.NewAuthInterceptor(authClient, 30*time.Minute) //nolint:mnd + authInterceptor, err := agent_rpc.NewAuthInterceptor(grpcClientCtx, authClient, authInterceptorRefreshInterval) if err != nil { return err } @@ -110,30 +160,12 @@ func run(c *cli.Context, backends []types.Backend) error { defer conn.Close() client := agent_rpc.NewGrpcClient(conn) + agentConfigPersisted := atomic.Bool{} - sigterm := abool.New() - ctx := metadata.NewOutgoingContext( - context.Background(), - metadata.Pairs("hostname", hostname), - ) - - agentConfigPersisted := abool.New() - ctx = utils.WithContextSigtermCallback(ctx, func() { - log.Info().Msg("termination signal is received, shutting down") - sigterm.Set() - - // Remove stateless agents from server - if agentConfigPersisted.IsNotSet() { - log.Debug().Msg("unregistering agent from server") - err := client.UnregisterAgent(ctx) - if err != nil { - log.Err(err).Msg("failed to unregister agent from server") - } - } - }) + grpcCtx := metadata.NewOutgoingContext(grpcClientCtx, metadata.Pairs("hostname", hostname)) // check if grpc server version is compatible with agent - grpcServerVersion, err := client.Version(ctx) + grpcServerVersion, err := client.Version(grpcCtx) if err != nil { log.Error().Err(err).Msg("could not get grpc server version") return err @@ -147,12 +179,8 @@ func run(c *cli.Context, backends []types.Backend) error { return err } - var wg sync.WaitGroup - parallel := c.Int("max-workflows") - wg.Add(parallel) - // new engine - backendCtx := context.WithValue(ctx, types.CliContext, c) + backendCtx := context.WithValue(agentCtx, types.CliContext, c) backendName := c.String("backend-engine") backendEngine, err := backend.FindBackend(backendCtx, backends, backendName) if err != nil { @@ -172,14 +200,34 @@ func run(c *cli.Context, backends []types.Backend) error { } log.Debug().Msgf("loaded %s backend engine", backendEngine.Name()) - agentConfig.AgentID, err = client.RegisterAgent(ctx, engInfo.Platform, backendEngine.Name(), version.String(), parallel) + maxWorkflows := c.Int("max-workflows") + agentConfig.AgentID, err = client.RegisterAgent(grpcCtx, engInfo.Platform, backendEngine.Name(), version.String(), maxWorkflows) if err != nil { return err } + serviceWaitingGroup.Go(func() error { + // we close grpc client context once unregister was handled + defer grpcClientCtxCancel(nil) + // we wait till agent context is done + <-agentCtx.Done() + // Remove stateless agents from server + if !agentConfigPersisted.Load() { + log.Debug().Msg("unregistering agent from server ...") + // we want to run it explicit run when context got canceled so run it in background + err := client.UnregisterAgent(grpcClientCtx) + if err != nil { + log.Err(err).Msg("failed to unregister agent from server") + } else { + log.Info().Msg("agent unregistered from server") + } + } + return nil + }) + if agentConfigPath != "" { if err := writeAgentConfig(agentConfig, agentConfigPath); err == nil { - agentConfigPersisted.Set() + agentConfigPersisted.Store(true) } } @@ -200,66 +248,62 @@ func run(c *cli.Context, backends []types.Backend) error { log.Debug().Msgf("agent registered with ID %d", agentConfig.AgentID) - go func() { + serviceWaitingGroup.Go(func() error { for { - if sigterm.IsSet() { - log.Debug().Msg("terminating health reporting") - return - } - - err := client.ReportHealth(ctx) + err := client.ReportHealth(grpcCtx) if err != nil { log.Err(err).Msg("failed to report health") } - <-time.After(time.Second * 10) + select { + case <-agentCtx.Done(): + log.Debug().Msg("terminating health reporting") + return nil + case <-time.After(reportHealthInterval): + } } - }() + }) - for i := 0; i < parallel; i++ { + for i := 0; i < maxWorkflows; i++ { i := i - go func() { - defer wg.Done() - - r := agent.NewRunner(client, filter, hostname, counter, &backendEngine) + serviceWaitingGroup.Go(func() error { + runner := agent.NewRunner(client, filter, hostname, counter, &backendEngine) log.Debug().Msgf("created new runner %d", i) for { - if sigterm.IsSet() { - log.Debug().Msgf("terminating runner %d", i) - return + if agentCtx.Err() != nil { + return nil } log.Debug().Msg("polling new steps") - if err := r.Run(ctx); err != nil { - log.Error().Err(err).Msg("pipeline done with error") - return + if err := runner.Run(agentCtx, shutdownCtx); err != nil { + log.Error().Err(err).Msg("runner done with error") + return err } } - }() + }) } log.Info().Msgf( "starting Woodpecker agent with version '%s' and backend '%s' using platform '%s' running up to %d pipelines in parallel", - version.String(), backendEngine.Name(), engInfo.Platform, parallel) + version.String(), backendEngine.Name(), engInfo.Platform, maxWorkflows) - wg.Wait() - return nil + return serviceWaitingGroup.Wait() } -func runWithRetry(backendEngines []types.Backend) func(context *cli.Context) error { - return func(context *cli.Context) error { - if err := logger.SetupGlobalLogger(context, true); err != nil { +func runWithRetry(backendEngines []types.Backend) func(c *cli.Context) error { + return func(c *cli.Context) error { + if err := logger.SetupGlobalLogger(c, true); err != nil { return err } initHealth() - retryCount := context.Int("connect-retry-count") - retryDelay := context.Duration("connect-retry-delay") + retryCount := c.Int("connect-retry-count") + retryDelay := c.Duration("connect-retry-delay") var err error for i := 0; i < retryCount; i++ { - if err = run(context, backendEngines); status.Code(err) == codes.Unavailable { + if err = run(c, backendEngines); status.Code(err) == codes.Unavailable { log.Warn().Err(err).Msg(fmt.Sprintf("cannot connect to server, retrying in %v", retryDelay)) time.Sleep(retryDelay) } else { diff --git a/cmd/agent/core/health.go b/cmd/agent/core/health.go index 263bd3269..fddf688c7 100644 --- a/cmd/agent/core/health.go +++ b/cmd/agent/core/health.go @@ -82,12 +82,18 @@ var counter = &agent.State{ // handles pinging the endpoint and returns an error if the // agent is in an unhealthy state. func pinger(c *cli.Context) error { + ctx := c.Context healthcheckAddress := c.String("healthcheck-addr") if strings.HasPrefix(healthcheckAddress, ":") { // this seems sufficient according to https://pkg.go.dev/net#Dial healthcheckAddress = "localhost" + healthcheckAddress } - resp, err := http.Get("http://" + healthcheckAddress + "/healthz") + + req, err := http.NewRequestWithContext(ctx, http.MethodGet, "http://"+healthcheckAddress+"/healthz", nil) + if err != nil { + return err + } + resp, err := http.DefaultClient.Do(req) if err != nil { return err } diff --git a/pipeline/pipeline.go b/pipeline/pipeline.go index 1c23061da..6e9d9f181 100644 --- a/pipeline/pipeline.go +++ b/pipeline/pipeline.go @@ -105,7 +105,11 @@ func (r *Runtime) Run(runnerCtx context.Context) error { } defer func() { - if err := r.engine.DestroyWorkflow(runnerCtx, r.spec, r.taskUUID); err != nil { + ctx := runnerCtx //nolint:contextcheck + if ctx.Err() != nil { + ctx = GetShutdownCtx() + } + if err := r.engine.DestroyWorkflow(ctx, r.spec, r.taskUUID); err != nil { logger.Error().Err(err).Msg("could not destroy engine") } }() diff --git a/pipeline/shutdown.go b/pipeline/shutdown.go new file mode 100644 index 000000000..b9fd98384 --- /dev/null +++ b/pipeline/shutdown.go @@ -0,0 +1,48 @@ +// Copyright 2024 Woodpecker Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package pipeline + +import ( + "context" + "sync" + "time" +) + +const shutdownTimeout = time.Second * 5 + +var ( + shutdownCtx context.Context + shutdownCtxCancel context.CancelFunc + shutdownCtxLock sync.Mutex +) + +func GetShutdownCtx() context.Context { + shutdownCtxLock.Lock() + defer shutdownCtxLock.Unlock() + if shutdownCtx == nil { + shutdownCtx, shutdownCtxCancel = context.WithTimeout(context.Background(), shutdownTimeout) + } + return shutdownCtx +} + +func CancelShutdown() { + shutdownCtxLock.Lock() + defer shutdownCtxLock.Unlock() + if shutdownCtxCancel == nil { + // we create an canceled context + shutdownCtx, shutdownCtxCancel = context.WithCancel(context.Background()) //nolint:forbidigo + } + shutdownCtxCancel() +} From 757f5a58e2d72bb84361bfb4268c917a8dcacd72 Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Sat, 13 Jul 2024 16:46:01 -0700 Subject: [PATCH 002/547] Gracefully shutdown server (#3896) --- cmd/server/grpc_server.go | 88 ++++++++ cmd/server/main.go | 2 +- cmd/server/metrics_server.go | 108 +++++++++ cmd/server/server.go | 211 ++++++++++++------ cmd/server/setup.go | 84 ++----- server/cron/cron.go | 4 +- server/queue/persistent.go | 4 +- server/store/datastore/engine.go | 6 +- .../migration/020_alter_logs_table.go | 7 +- server/store/datastore/migration/migration.go | 4 +- .../datastore/migration/migration_test.go | 5 +- server/store/mocks/store.go | 12 +- server/store/store.go | 4 +- 13 files changed, 375 insertions(+), 164 deletions(-) create mode 100644 cmd/server/grpc_server.go create mode 100644 cmd/server/metrics_server.go diff --git a/cmd/server/grpc_server.go b/cmd/server/grpc_server.go new file mode 100644 index 000000000..e573d8381 --- /dev/null +++ b/cmd/server/grpc_server.go @@ -0,0 +1,88 @@ +// Copyright 2024 Woodpecker Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package main + +import ( + "context" + "fmt" + "net" + + "github.com/rs/zerolog/log" + "github.com/urfave/cli/v2" + "google.golang.org/grpc" + "google.golang.org/grpc/keepalive" + + "go.woodpecker-ci.org/woodpecker/v2/pipeline/rpc/proto" + "go.woodpecker-ci.org/woodpecker/v2/server" + woodpeckerGrpcServer "go.woodpecker-ci.org/woodpecker/v2/server/grpc" + "go.woodpecker-ci.org/woodpecker/v2/server/store" +) + +func runGrpcServer(ctx context.Context, c *cli.Context, _store store.Store) error { + lis, err := net.Listen("tcp", c.String("grpc-addr")) + if err != nil { + log.Fatal().Err(err).Msg("failed to listen on grpc-addr") //nolint:forbidigo + } + + jwtSecret := c.String("grpc-secret") + jwtManager := woodpeckerGrpcServer.NewJWTManager(jwtSecret) + + authorizer := woodpeckerGrpcServer.NewAuthorizer(jwtManager) + grpcServer := grpc.NewServer( + grpc.StreamInterceptor(authorizer.StreamInterceptor), + grpc.UnaryInterceptor(authorizer.UnaryInterceptor), + grpc.KeepaliveEnforcementPolicy(keepalive.EnforcementPolicy{ + MinTime: c.Duration("keepalive-min-time"), + }), + ) + + woodpeckerServer := woodpeckerGrpcServer.NewWoodpeckerServer( + server.Config.Services.Queue, + server.Config.Services.Logs, + server.Config.Services.Pubsub, + _store, + ) + proto.RegisterWoodpeckerServer(grpcServer, woodpeckerServer) + + woodpeckerAuthServer := woodpeckerGrpcServer.NewWoodpeckerAuthServer( + jwtManager, + server.Config.Server.AgentToken, + _store, + ) + proto.RegisterWoodpeckerAuthServer(grpcServer, woodpeckerAuthServer) + + grpcCtx, cancel := context.WithCancelCause(ctx) + defer cancel(nil) + + go func() { + <-grpcCtx.Done() + if grpcServer == nil { + return + } + log.Info().Msg("terminating grpc service gracefully") + grpcServer.GracefulStop() + log.Info().Msg("grpc service stopped") + }() + + if err := grpcServer.Serve(lis); err != nil { + // signal that we don't have to stop the server gracefully anymore + grpcServer = nil + + // wrap the error so we know where it did come from + return fmt.Errorf("grpc server failed: %w", err) + } + + return nil +} diff --git a/cmd/server/main.go b/cmd/server/main.go index da7f986b4..f8050418a 100644 --- a/cmd/server/main.go +++ b/cmd/server/main.go @@ -43,6 +43,6 @@ func main() { setupSwaggerStaticConfig() if err := app.Run(os.Args); err != nil { - log.Fatal().Err(err).Msgf("error running server") //nolint:forbidigo + log.Error().Err(err).Msgf("error running server") } } diff --git a/cmd/server/metrics_server.go b/cmd/server/metrics_server.go new file mode 100644 index 000000000..007d2e48d --- /dev/null +++ b/cmd/server/metrics_server.go @@ -0,0 +1,108 @@ +// Copyright 2024 Woodpecker Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package main + +import ( + "context" + "errors" + "time" + + "github.com/prometheus/client_golang/prometheus" + prometheus_auto "github.com/prometheus/client_golang/prometheus/promauto" + "github.com/rs/zerolog/log" + + "go.woodpecker-ci.org/woodpecker/v2/server" + "go.woodpecker-ci.org/woodpecker/v2/server/store" +) + +func startMetricsCollector(ctx context.Context, _store store.Store) { + pendingSteps := prometheus_auto.NewGauge(prometheus.GaugeOpts{ + Namespace: "woodpecker", + Name: "pending_steps", + Help: "Total number of pending pipeline steps.", + }) + waitingSteps := prometheus_auto.NewGauge(prometheus.GaugeOpts{ + Namespace: "woodpecker", + Name: "waiting_steps", + Help: "Total number of pipeline waiting on deps.", + }) + runningSteps := prometheus_auto.NewGauge(prometheus.GaugeOpts{ + Namespace: "woodpecker", + Name: "running_steps", + Help: "Total number of running pipeline steps.", + }) + workers := prometheus_auto.NewGauge(prometheus.GaugeOpts{ + Namespace: "woodpecker", + Name: "worker_count", + Help: "Total number of workers.", + }) + pipelines := prometheus_auto.NewGauge(prometheus.GaugeOpts{ + Namespace: "woodpecker", + Name: "pipeline_total_count", + Help: "Total number of pipelines.", + }) + users := prometheus_auto.NewGauge(prometheus.GaugeOpts{ + Namespace: "woodpecker", + Name: "user_count", + Help: "Total number of users.", + }) + repos := prometheus_auto.NewGauge(prometheus.GaugeOpts{ + Namespace: "woodpecker", + Name: "repo_count", + Help: "Total number of repos.", + }) + + go func() { + log.Info().Msg("queue metric collector started") + + for { + stats := server.Config.Services.Queue.Info(ctx) + pendingSteps.Set(float64(stats.Stats.Pending)) + waitingSteps.Set(float64(stats.Stats.WaitingOnDeps)) + runningSteps.Set(float64(stats.Stats.Running)) + workers.Set(float64(stats.Stats.Workers)) + + select { + case <-ctx.Done(): + log.Info().Msg("queue metric collector stopped") + return + case <-time.After(queueInfoRefreshInterval): + } + } + }() + go func() { + log.Info().Msg("store metric collector started") + + for { + repoCount, repoErr := _store.GetRepoCount() + userCount, userErr := _store.GetUserCount() + pipelineCount, pipelineErr := _store.GetPipelineCount() + pipelines.Set(float64(pipelineCount)) + users.Set(float64(userCount)) + repos.Set(float64(repoCount)) + + if err := errors.Join(repoErr, userErr, pipelineErr); err != nil { + log.Error().Err(err).Msg("could not update store information for metrics") + } + + select { + case <-ctx.Done(): + log.Info().Msg("store metric collector stopped") + return + case <-time.After(storeInfoRefreshInterval): + } + } + }() +} diff --git a/cmd/server/server.go b/cmd/server/server.go index 525b01034..c41186132 100644 --- a/cmd/server/server.go +++ b/cmd/server/server.go @@ -15,10 +15,10 @@ package main import ( + "context" "crypto/tls" "errors" "fmt" - "net" "net/http" "net/http/httputil" "net/url" @@ -32,25 +32,48 @@ import ( "github.com/rs/zerolog/log" "github.com/urfave/cli/v2" "golang.org/x/sync/errgroup" - "google.golang.org/grpc" - "google.golang.org/grpc/keepalive" - "go.woodpecker-ci.org/woodpecker/v2/pipeline/rpc/proto" "go.woodpecker-ci.org/woodpecker/v2/server" "go.woodpecker-ci.org/woodpecker/v2/server/cron" - woodpeckerGrpcServer "go.woodpecker-ci.org/woodpecker/v2/server/grpc" "go.woodpecker-ci.org/woodpecker/v2/server/router" "go.woodpecker-ci.org/woodpecker/v2/server/router/middleware" "go.woodpecker-ci.org/woodpecker/v2/server/web" "go.woodpecker-ci.org/woodpecker/v2/shared/logger" + "go.woodpecker-ci.org/woodpecker/v2/shared/utils" "go.woodpecker-ci.org/woodpecker/v2/version" ) +const ( + shutdownTimeout = time.Second * 5 +) + +var ( + stopServerFunc context.CancelCauseFunc = func(error) {} + shutdownCancelFunc context.CancelFunc = func() {} + shutdownCtx = context.Background() +) + func run(c *cli.Context) error { if err := logger.SetupGlobalLogger(c, true); err != nil { return err } + ctx := utils.WithContextSigtermCallback(c.Context, func() { + log.Info().Msg("termination signal is received, shutting down server") + }) + + ctx, ctxCancel := context.WithCancelCause(ctx) + stopServerFunc = func(err error) { + if err != nil { + log.Error().Err(err).Msg("shutdown of whole server") + } + stopServerFunc = func(error) {} + shutdownCtx, shutdownCancelFunc = context.WithTimeout(shutdownCtx, shutdownTimeout) + ctxCancel(err) + } + defer stopServerFunc(nil) + defer shutdownCancelFunc() + // set gin mode based on log level if zerolog.GlobalLevel() > zerolog.DebugLevel { gin.SetMode(gin.ReleaseMode) @@ -74,7 +97,7 @@ func run(c *cli.Context) error { ) } - _store, err := setupStore(c) + _store, err := setupStore(ctx, c) if err != nil { return fmt.Errorf("can't setup store: %w", err) } @@ -84,56 +107,35 @@ func run(c *cli.Context) error { } }() - err = setupEvilGlobals(c, _store) + err = setupEvilGlobals(ctx, c, _store) if err != nil { return fmt.Errorf("can't setup globals: %w", err) } - var g errgroup.Group + // wait for all services until one do stops with an error + serviceWaitingGroup := errgroup.Group{} - setupMetrics(&g, _store) + log.Info().Msgf("starting Woodpecker server with version '%s'", version.String()) - g.Go(func() error { - return cron.Start(c.Context, _store) + startMetricsCollector(ctx, _store) + + serviceWaitingGroup.Go(func() error { + log.Info().Msg("starting cron service ...") + if err := cron.Run(ctx, _store); err != nil { + go stopServerFunc(err) + return err + } + log.Info().Msg("cron service stopped") + return nil }) // start the grpc server - g.Go(func() error { - lis, err := net.Listen("tcp", c.String("grpc-addr")) - if err != nil { - log.Fatal().Err(err).Msg("failed to listen on grpc-addr") //nolint:forbidigo - } - - jwtSecret := c.String("grpc-secret") - jwtManager := woodpeckerGrpcServer.NewJWTManager(jwtSecret) - - authorizer := woodpeckerGrpcServer.NewAuthorizer(jwtManager) - grpcServer := grpc.NewServer( - grpc.StreamInterceptor(authorizer.StreamInterceptor), - grpc.UnaryInterceptor(authorizer.UnaryInterceptor), - grpc.KeepaliveEnforcementPolicy(keepalive.EnforcementPolicy{ - MinTime: c.Duration("keepalive-min-time"), - }), - ) - - woodpeckerServer := woodpeckerGrpcServer.NewWoodpeckerServer( - server.Config.Services.Queue, - server.Config.Services.Logs, - server.Config.Services.Pubsub, - _store, - ) - proto.RegisterWoodpeckerServer(grpcServer, woodpeckerServer) - - woodpeckerAuthServer := woodpeckerGrpcServer.NewWoodpeckerAuthServer( - jwtManager, - server.Config.Server.AgentToken, - _store, - ) - proto.RegisterWoodpeckerAuthServer(grpcServer, woodpeckerAuthServer) - - err = grpcServer.Serve(lis) - if err != nil { - log.Fatal().Err(err).Msg("failed to serve grpc server") //nolint:forbidigo + serviceWaitingGroup.Go(func() error { + log.Info().Msg("starting grpc server ...") + if err := runGrpcServer(ctx, c, _store); err != nil { + // stop whole server as grpc is essential + go stopServerFunc(err) + return err } return nil }) @@ -173,20 +175,33 @@ func run(c *cli.Context) error { switch { case c.String("server-cert") != "": // start the server with tls enabled - g.Go(func() error { - serve := &http.Server{ + serviceWaitingGroup.Go(func() error { + tlsServer := &http.Server{ Addr: server.Config.Server.PortTLS, Handler: handler, TLSConfig: &tls.Config{ NextProtos: []string{"h2", "http/1.1"}, }, } - err = serve.ListenAndServeTLS( + + go func() { + <-ctx.Done() + log.Info().Msg("shutdown tls server ...") + if err := tlsServer.Shutdown(shutdownCtx); err != nil { //nolint:contextcheck + log.Error().Err(err).Msg("shutdown tls server failed") + } else { + log.Info().Msg("tls server stopped") + } + }() + + log.Info().Msg("starting tls server ...") + err := tlsServer.ListenAndServeTLS( c.String("server-cert"), c.String("server-key"), ) if err != nil && !errors.Is(err, http.ErrServerClosed) { - log.Fatal().Err(err).Msg("failed to start server with tls") //nolint:forbidigo + log.Error().Err(err).Msg("TLS server failed") + stopServerFunc(fmt.Errorf("TLS server failed: %w", err)) } return err }) @@ -202,12 +217,27 @@ func run(c *cli.Context) error { http.Redirect(w, req, req.URL.String(), http.StatusMovedPermanently) } - g.Go(func() error { - err := http.ListenAndServe(server.Config.Server.Port, http.HandlerFunc(redirect)) - if err != nil && !errors.Is(err, http.ErrServerClosed) { - log.Fatal().Err(err).Msg("unable to start server to redirect from http to https") //nolint:forbidigo + serviceWaitingGroup.Go(func() error { + redirectServer := &http.Server{ + Addr: server.Config.Server.Port, + Handler: http.HandlerFunc(redirect), } - return err + go func() { + <-ctx.Done() + log.Info().Msg("shutdown redirect server ...") + if err := redirectServer.Shutdown(shutdownCtx); err != nil { //nolint:contextcheck + log.Error().Err(err).Msg("shutdown redirect server failed") + } else { + log.Info().Msg("redirect server stopped") + } + }() + + log.Info().Msg("starting redirect server ...") + if err := redirectServer.ListenAndServe(); err != nil && !errors.Is(err, http.ErrServerClosed) { + log.Error().Err(err).Msg("redirect server failed") + stopServerFunc(fmt.Errorf("redirect server failed: %w", err)) + } + return nil }) case c.Bool("lets-encrypt"): // start the server with lets-encrypt @@ -219,39 +249,76 @@ func run(c *cli.Context) error { return err } - g.Go(func() error { + serviceWaitingGroup.Go(func() error { + go func() { + <-ctx.Done() + log.Error().Msg("there is no certmagic.HTTPS alternative who is context aware we will fail in 2 seconds") + time.Sleep(time.Second * 2) + log.Fatal().Msg("we kill certmagic by fail") //nolint:forbidigo + }() + + log.Info().Msg("starting certmagic server ...") if err := certmagic.HTTPS([]string{address.Host}, handler); err != nil { - log.Fatal().Err(err).Msg("certmagic does not work") //nolint:forbidigo + log.Error().Err(err).Msg("certmagic does not work") + stopServerFunc(fmt.Errorf("certmagic failed: %w", err)) } return nil }) default: // start the server without tls - g.Go(func() error { - err := http.ListenAndServe( - c.String("server-addr"), - handler, - ) - if err != nil && !errors.Is(err, http.ErrServerClosed) { - log.Fatal().Err(err).Msg("could not start server") //nolint:forbidigo + serviceWaitingGroup.Go(func() error { + httpServer := &http.Server{ + Addr: c.String("server-addr"), + Handler: handler, + } + + go func() { + <-ctx.Done() + log.Info().Msg("shutdown http server ...") + if err := httpServer.Shutdown(shutdownCtx); err != nil { //nolint:contextcheck + log.Error().Err(err).Msg("shutdown http server failed") + } else { + log.Info().Msg("http server stopped") + } + }() + + log.Info().Msg("starting http server ...") + if err := httpServer.ListenAndServe(); err != nil && !errors.Is(err, http.ErrServerClosed) { + log.Error().Err(err).Msg("http server failed") + stopServerFunc(fmt.Errorf("http server failed: %w", err)) } return err }) } if metricsServerAddr := c.String("metrics-server-addr"); metricsServerAddr != "" { - g.Go(func() error { + serviceWaitingGroup.Go(func() error { metricsRouter := gin.New() metricsRouter.GET("/metrics", gin.WrapH(prometheus_http.Handler())) - err := http.ListenAndServe(metricsServerAddr, metricsRouter) - if err != nil && !errors.Is(err, http.ErrServerClosed) { - log.Fatal().Err(err).Msg("could not start metrics server") //nolint:forbidigo + + metricsServer := &http.Server{ + Addr: metricsServerAddr, + Handler: metricsRouter, + } + + go func() { + <-ctx.Done() + log.Info().Msg("shutdown metrics server ...") + if err := metricsServer.Shutdown(shutdownCtx); err != nil { //nolint:contextcheck + log.Error().Err(err).Msg("shutdown metrics server failed") + } else { + log.Info().Msg("metrics server stopped") + } + }() + + log.Info().Msg("starting metrics server ...") + if err := metricsServer.ListenAndServe(); err != nil && !errors.Is(err, http.ErrServerClosed) { + log.Error().Err(err).Msg("metrics server failed") + stopServerFunc(fmt.Errorf("metrics server failed: %w", err)) } return err }) } - log.Info().Msgf("starting Woodpecker server with version '%s'", version.String()) - - return g.Wait() + return serviceWaitingGroup.Wait() } diff --git a/cmd/server/setup.go b/cmd/server/setup.go index 3c885dbaf..858d79375 100644 --- a/cmd/server/setup.go +++ b/cmd/server/setup.go @@ -26,11 +26,8 @@ import ( "time" "github.com/gorilla/securecookie" - "github.com/prometheus/client_golang/prometheus" - prometheus_auto "github.com/prometheus/client_golang/prometheus/promauto" "github.com/rs/zerolog/log" "github.com/urfave/cli/v2" - "golang.org/x/sync/errgroup" "go.woodpecker-ci.org/woodpecker/v2/server" "go.woodpecker-ci.org/woodpecker/v2/server/cache" @@ -49,7 +46,12 @@ import ( "go.woodpecker-ci.org/woodpecker/v2/shared/constant" ) -func setupStore(c *cli.Context) (store.Store, error) { +const ( + queueInfoRefreshInterval = 500 * time.Millisecond + storeInfoRefreshInterval = 10 * time.Second +) + +func setupStore(ctx context.Context, c *cli.Context) (store.Store, error) { datasource := c.String("datasource") driver := c.String("driver") xorm := store.XORM{ @@ -86,7 +88,7 @@ func setupStore(c *cli.Context) (store.Store, error) { return nil, fmt.Errorf("could not open datastore: %w", err) } - if err := store.Migrate(c.Bool("migrations-allow-long")); err != nil { + if err := store.Migrate(ctx, c.Bool("migrations-allow-long")); err != nil { return nil, fmt.Errorf("could not migrate datastore: %w", err) } @@ -102,74 +104,14 @@ func checkSqliteFileExist(path string) error { return err } -func setupQueue(c *cli.Context, s store.Store) queue.Queue { - return queue.WithTaskStore(queue.New(c.Context), s) +func setupQueue(ctx context.Context, s store.Store) queue.Queue { + return queue.WithTaskStore(ctx, queue.New(ctx), s) } -func setupMembershipService(_ *cli.Context, _store store.Store) cache.MembershipService { +func setupMembershipService(_ context.Context, _store store.Store) cache.MembershipService { return cache.NewMembershipService(_store) } -func setupMetrics(g *errgroup.Group, _store store.Store) { - pendingSteps := prometheus_auto.NewGauge(prometheus.GaugeOpts{ - Namespace: "woodpecker", - Name: "pending_steps", - Help: "Total number of pending pipeline steps.", - }) - waitingSteps := prometheus_auto.NewGauge(prometheus.GaugeOpts{ - Namespace: "woodpecker", - Name: "waiting_steps", - Help: "Total number of pipeline waiting on deps.", - }) - runningSteps := prometheus_auto.NewGauge(prometheus.GaugeOpts{ - Namespace: "woodpecker", - Name: "running_steps", - Help: "Total number of running pipeline steps.", - }) - workers := prometheus_auto.NewGauge(prometheus.GaugeOpts{ - Namespace: "woodpecker", - Name: "worker_count", - Help: "Total number of workers.", - }) - pipelines := prometheus_auto.NewGauge(prometheus.GaugeOpts{ - Namespace: "woodpecker", - Name: "pipeline_total_count", - Help: "Total number of pipelines.", - }) - users := prometheus_auto.NewGauge(prometheus.GaugeOpts{ - Namespace: "woodpecker", - Name: "user_count", - Help: "Total number of users.", - }) - repos := prometheus_auto.NewGauge(prometheus.GaugeOpts{ - Namespace: "woodpecker", - Name: "repo_count", - Help: "Total number of repos.", - }) - - g.Go(func() error { - for { - stats := server.Config.Services.Queue.Info(context.TODO()) - pendingSteps.Set(float64(stats.Stats.Pending)) - waitingSteps.Set(float64(stats.Stats.WaitingOnDeps)) - runningSteps.Set(float64(stats.Stats.Running)) - workers.Set(float64(stats.Stats.Workers)) - time.Sleep(500 * time.Millisecond) - } - }) - g.Go(func() error { - for { - repoCount, _ := _store.GetRepoCount() - userCount, _ := _store.GetUserCount() - pipelineCount, _ := _store.GetPipelineCount() - pipelines.Set(float64(pipelineCount)) - users.Set(float64(userCount)) - repos.Set(float64(repoCount)) - time.Sleep(10 * time.Second) - } - }) -} - func setupLogStore(c *cli.Context, s store.Store) (logService.Service, error) { switch c.String("log-store") { case "file": @@ -202,12 +144,12 @@ func setupJWTSecret(_store store.Store) (string, error) { return jwtSecret, nil } -func setupEvilGlobals(c *cli.Context, s store.Store) error { +func setupEvilGlobals(ctx context.Context, c *cli.Context, s store.Store) error { // services - server.Config.Services.Queue = setupQueue(c, s) + server.Config.Services.Queue = setupQueue(ctx, s) server.Config.Services.Logs = logging.New() server.Config.Services.Pubsub = pubsub.New() - server.Config.Services.Membership = setupMembershipService(c, s) + server.Config.Services.Membership = setupMembershipService(ctx, s) serviceManager, err := services.NewManager(c, s, setup.Forge) if err != nil { return fmt.Errorf("could not setup service manager: %w", err) diff --git a/server/cron/cron.go b/server/cron/cron.go index a1dcddd29..0dc05ee65 100644 --- a/server/cron/cron.go +++ b/server/cron/cron.go @@ -37,8 +37,8 @@ const ( checkItems = 10 ) -// Start starts the cron scheduler loop. -func Start(ctx context.Context, store store.Store) error { +// Run starts the cron scheduler loop. +func Run(ctx context.Context, store store.Store) error { for { select { case <-ctx.Done(): diff --git a/server/queue/persistent.go b/server/queue/persistent.go index 96d9fff9f..e87f7c7b2 100644 --- a/server/queue/persistent.go +++ b/server/queue/persistent.go @@ -27,9 +27,9 @@ import ( // WithTaskStore returns a queue that is backed by the TaskStore. This // ensures the task Queue can be restored when the system starts. -func WithTaskStore(q Queue, s store.Store) Queue { +func WithTaskStore(ctx context.Context, q Queue, s store.Store) Queue { tasks, _ := s.TaskList() - if err := q.PushAtOnce(context.Background(), tasks); err != nil { + if err := q.PushAtOnce(ctx, tasks); err != nil { log.Error().Err(err).Msg("PushAtOnce failed") } return &persistentQueue{q, s} diff --git a/server/store/datastore/engine.go b/server/store/datastore/engine.go index bee837a1d..8499681ac 100644 --- a/server/store/datastore/engine.go +++ b/server/store/datastore/engine.go @@ -15,6 +15,8 @@ package datastore import ( + "context" + "github.com/rs/zerolog" "xorm.io/xorm" xlog "xorm.io/xorm/log" @@ -54,8 +56,8 @@ func (s storage) Ping() error { } // Migrate old storage or init new one. -func (s storage) Migrate(allowLong bool) error { - return migration.Migrate(s.engine, allowLong) +func (s storage) Migrate(ctx context.Context, allowLong bool) error { + return migration.Migrate(ctx, s.engine, allowLong) } func (s storage) Close() error { diff --git a/server/store/datastore/migration/020_alter_logs_table.go b/server/store/datastore/migration/020_alter_logs_table.go index 33e050f32..4f13434cb 100644 --- a/server/store/datastore/migration/020_alter_logs_table.go +++ b/server/store/datastore/migration/020_alter_logs_table.go @@ -21,7 +21,6 @@ import ( "runtime" "github.com/rs/zerolog/log" - "github.com/tevino/abool/v2" "src.techknowlogick.com/xormigrate" "xorm.io/xorm" @@ -90,16 +89,14 @@ var migrateLogs2LogEntries = xormigrate.Migration{ logs := make([]*oldLogs020, 0, perPage020) logEntries := make([]*oldLogEntry020, 0, 50) - sigterm := abool.New() ctx, cancelCtx := context.WithCancelCause(context.Background()) defer cancelCtx(nil) - _ = utils.WithContextSigtermCallback(ctx, func() { + sigtermCtx := utils.WithContextSigtermCallback(ctx, func() { log.Info().Msg("ctrl+c received, stopping current migration") - sigterm.Set() }) for { - if sigterm.IsSet() { + if sigtermCtx.Err() != nil { return fmt.Errorf("migration 'migrate-logs-to-log_entries' gracefully aborted") } diff --git a/server/store/datastore/migration/migration.go b/server/store/datastore/migration/migration.go index bdcead5d9..4c905e66e 100644 --- a/server/store/datastore/migration/migration.go +++ b/server/store/datastore/migration/migration.go @@ -15,6 +15,7 @@ package migration import ( + "context" "fmt" "reflect" @@ -85,7 +86,8 @@ var allBeans = []any{ new(model.Org), } -func Migrate(e *xorm.Engine, allowLong bool) error { +// TODO: make xormigrate context aware +func Migrate(_ context.Context, e *xorm.Engine, allowLong bool) error { e.SetDisableGlobalCache(true) m := xormigrate.New(e, migrationTasks) diff --git a/server/store/datastore/migration/migration_test.go b/server/store/datastore/migration/migration_test.go index cf4b1a761..661bd01ac 100644 --- a/server/store/datastore/migration/migration_test.go +++ b/server/store/datastore/migration/migration_test.go @@ -15,6 +15,7 @@ package migration import ( + "context" "os" "testing" "time" @@ -95,7 +96,7 @@ func testDB(t *testing.T, new bool) (engine *xorm.Engine, closeDB func()) { func TestMigrate(t *testing.T) { // init new db engine, closeDB := testDB(t, true) - assert.NoError(t, Migrate(engine, true)) + assert.NoError(t, Migrate(context.Background(), engine, true)) closeDB() dbType := engine.Dialect().URI().DBType @@ -106,6 +107,6 @@ func TestMigrate(t *testing.T) { // migrate old db engine, closeDB = testDB(t, false) - assert.NoError(t, Migrate(engine, true)) + assert.NoError(t, Migrate(context.Background(), engine, true)) closeDB() } diff --git a/server/store/mocks/store.go b/server/store/mocks/store.go index e0c2663ff..55d7257aa 100644 --- a/server/store/mocks/store.go +++ b/server/store/mocks/store.go @@ -6,6 +6,8 @@ package mocks import ( + context "context" + mock "github.com/stretchr/testify/mock" model "go.woodpecker-ci.org/woodpecker/v2/server/model" ) @@ -1404,17 +1406,17 @@ func (_m *Store) LogFind(_a0 *model.Step) ([]*model.LogEntry, error) { return r0, r1 } -// Migrate provides a mock function with given fields: _a0 -func (_m *Store) Migrate(_a0 bool) error { - ret := _m.Called(_a0) +// Migrate provides a mock function with given fields: _a0, _a1 +func (_m *Store) Migrate(_a0 context.Context, _a1 bool) error { + ret := _m.Called(_a0, _a1) if len(ret) == 0 { panic("no return value specified for Migrate") } var r0 error - if rf, ok := ret.Get(0).(func(bool) error); ok { - r0 = rf(_a0) + if rf, ok := ret.Get(0).(func(context.Context, bool) error); ok { + r0 = rf(_a0, _a1) } else { r0 = ret.Error(0) } diff --git a/server/store/store.go b/server/store/store.go index 8ff3b1052..ff408f075 100644 --- a/server/store/store.go +++ b/server/store/store.go @@ -17,6 +17,8 @@ package store //go:generate mockery --name Store --output mocks --case underscore --note "+build test" import ( + "context" + "go.woodpecker-ci.org/woodpecker/v2/server/model" ) @@ -200,5 +202,5 @@ type Store interface { // Store operations Ping() error Close() error - Migrate(bool) error + Migrate(context.Context, bool) error } From 660368e1da7549446937094291635d9165009955 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 13 Jul 2024 17:37:56 -0700 Subject: [PATCH 003/547] chore(deps): update docker.io/woodpeckerci/plugin-docker-buildx docker tag to v4.1.0 (#3908) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .woodpecker/docker.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.woodpecker/docker.yaml b/.woodpecker/docker.yaml index 6d023816c..7dc25386a 100644 --- a/.woodpecker/docker.yaml +++ b/.woodpecker/docker.yaml @@ -2,7 +2,7 @@ variables: - &golang_image 'docker.io/golang:1.22' - &node_image 'docker.io/node:22-alpine' - &xgo_image 'docker.io/techknowlogick/xgo:go-1.22.x' - - &buildx_plugin 'docker.io/woodpeckerci/plugin-docker-buildx:4.0.0' + - &buildx_plugin 'docker.io/woodpeckerci/plugin-docker-buildx:4.1.0' - &platforms_release 'linux/arm/v6,linux/arm/v7,linux/arm64/v8,linux/386,linux/amd64,linux/ppc64le,linux/riscv64,linux/s390x,freebsd/arm64,freebsd/amd64,openbsd/arm64,openbsd/amd64' - &platforms_server 'linux/arm/v7,linux/arm64/v8,linux/amd64,linux/ppc64le,linux/riscv64' - &platforms_preview 'linux/amd64' From 8aef8d2af98b7701f9985efe4be8d5686f1b3960 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 14 Jul 2024 07:58:35 +0200 Subject: [PATCH 004/547] fix(deps): update module github.com/google/go-github/v62 to v63 (#3910) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- go.mod | 3 +-- go.sum | 6 ++---- server/forge/github/convert.go | 2 +- server/forge/github/convert_test.go | 2 +- server/forge/github/github.go | 2 +- server/forge/github/parse.go | 2 +- 6 files changed, 7 insertions(+), 10 deletions(-) diff --git a/go.mod b/go.mod index d2704f78a..d20698c11 100644 --- a/go.mod +++ b/go.mod @@ -32,7 +32,7 @@ require ( github.com/go-ap/httpsig v0.0.0-20221203064646-3647b4d88fdf github.com/go-sql-driver/mysql v1.8.1 github.com/golang-jwt/jwt/v5 v5.2.1 - github.com/google/go-github/v62 v62.0.0 + github.com/google/go-github/v63 v63.0.0 github.com/google/tink/go v1.7.0 github.com/gorilla/securecookie v1.1.2 github.com/hashicorp/go-hclog v1.6.3 @@ -56,7 +56,6 @@ require ( github.com/swaggo/files v1.0.1 github.com/swaggo/gin-swagger v1.6.0 github.com/swaggo/swag v1.16.3 - github.com/tevino/abool/v2 v2.1.0 github.com/urfave/cli/v2 v2.27.2 github.com/xanzy/go-gitlab v0.106.0 github.com/xeipuuv/gojsonschema v1.2.0 diff --git a/go.sum b/go.sum index 5e9fd498f..7f34fbc5c 100644 --- a/go.sum +++ b/go.sum @@ -209,8 +209,8 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-github/v62 v62.0.0 h1:/6mGCaRywZz9MuHyw9gD1CwsbmBX8GWsbFkwMmHdhl4= -github.com/google/go-github/v62 v62.0.0/go.mod h1:EMxeUqGJq2xRu9DYBMwel/mr7kZrzUOfQmmpYrZn2a4= +github.com/google/go-github/v63 v63.0.0 h1:13xwK/wk9alSokujB9lJkuzdmQuVn2QCPeck76wR3nE= +github.com/google/go-github/v63 v63.0.0/go.mod h1:IqbcrgUmIcEaioWrGYei/09o+ge5vhffGOcxrO0AfmA= github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= @@ -478,8 +478,6 @@ github.com/swaggo/swag v1.16.3 h1:PnCYjPCah8FK4I26l2F/KQ4yz3sILcVUN3cTlBFA9Pg= github.com/swaggo/swag v1.16.3/go.mod h1:DImHIuOFXKpMFAQjcC7FG4m3Dg4+QuUgUzJmKjI/gRk= github.com/syndtr/goleveldb v1.0.0 h1:fBdIW9lB4Iz0n9khmH8w27SJ3QEJ7+IgjPEwGSZiFdE= github.com/syndtr/goleveldb v1.0.0/go.mod h1:ZVVdQEZoIme9iO1Ch2Jdy24qqXrMMOU6lpPAyBWyWuQ= -github.com/tevino/abool/v2 v2.1.0 h1:7w+Vf9f/5gmKT4m4qkayb33/92M+Um45F2BkHOR+L/c= -github.com/tevino/abool/v2 v2.1.0/go.mod h1:+Lmlqk6bHDWHqN1cbxqhwEAwMPXgc8I1SDEamtseuXY= github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= github.com/ugorji/go/codec v1.2.12 h1:9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65EE= diff --git a/server/forge/github/convert.go b/server/forge/github/convert.go index fbeaf7f3f..f6e9184e2 100644 --- a/server/forge/github/convert.go +++ b/server/forge/github/convert.go @@ -18,7 +18,7 @@ package github import ( "fmt" - "github.com/google/go-github/v62/github" + "github.com/google/go-github/v63/github" "go.woodpecker-ci.org/woodpecker/v2/server/model" ) diff --git a/server/forge/github/convert_test.go b/server/forge/github/convert_test.go index 33abce887..f589bcf57 100644 --- a/server/forge/github/convert_test.go +++ b/server/forge/github/convert_test.go @@ -19,7 +19,7 @@ import ( "testing" "github.com/franela/goblin" - "github.com/google/go-github/v62/github" + "github.com/google/go-github/v63/github" "go.woodpecker-ci.org/woodpecker/v2/server/model" ) diff --git a/server/forge/github/github.go b/server/forge/github/github.go index 93ba8cbed..b8e02bd55 100644 --- a/server/forge/github/github.go +++ b/server/forge/github/github.go @@ -26,7 +26,7 @@ import ( "strconv" "strings" - "github.com/google/go-github/v62/github" + "github.com/google/go-github/v63/github" "github.com/rs/zerolog/log" "golang.org/x/oauth2" diff --git a/server/forge/github/parse.go b/server/forge/github/parse.go index c8d33bf8f..95702f376 100644 --- a/server/forge/github/parse.go +++ b/server/forge/github/parse.go @@ -22,7 +22,7 @@ import ( "net/http" "strings" - "github.com/google/go-github/v62/github" + "github.com/google/go-github/v63/github" "go.woodpecker-ci.org/woodpecker/v2/server/forge/types" "go.woodpecker-ci.org/woodpecker/v2/server/model" From fa26a68dc969c129d549ce23bd9c8d43aa0e8e4c Mon Sep 17 00:00:00 2001 From: qwerty287 Date: Sun, 14 Jul 2024 05:41:04 +0000 Subject: [PATCH 005/547] Translated using Weblate (German) Currently translated at 100.0% (337 of 337 strings) Translation: Woodpecker CI/UI Translate-URL: http://translate.woodpecker-ci.org/projects/woodpecker-ci/ui/de/ --- web/src/assets/locales/de.json | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/web/src/assets/locales/de.json b/web/src/assets/locales/de.json index d1eb0279b..9741d14b2 100644 --- a/web/src/assets/locales/de.json +++ b/web/src/assets/locales/de.json @@ -252,7 +252,8 @@ "pr": "Pull-Request", "push": "Push", "tag": "Tag", - "release": "Release" + "release": "Release", + "pr_closed": "Pull-Request zusammengeführt/geschlossen" }, "exit_code": "Exit-Code {exitCode}", "files": "Geänderte Dateien ({files})", @@ -531,6 +532,9 @@ "swagger_ui": "Swagger-UI", "cli_and_api": "CLI/API", "cli_usage": "Beispiel zur Nutzung des CLI" + }, + "registries": { + "desc": "Register-Zugangsdaten des Benitzers können für alle Pipelines des Benutzers verwendet werden." } } }, @@ -593,5 +597,15 @@ "saved": "Register-Zugangsdaten gespeichert", "show": "Register anzeigen" }, - "invalid_state": "Der OAuth-Status ist ungültig." + "invalid_state": "Der OAuth-Status ist ungültig.", + "by_user": "von {user}", + "pushed_to": "gepusht auf", + "closed": "geschlossen", + "deployed_to": "Deployment ausgeführt auf", + "created": "erstellt", + "triggered": "ausgelöst", + "pipeline_duration": "Pipeline-Dauer", + "pipeline_since": "Die Pipeline wurde vor {created} Minuten erstellt", + "pipeline_has_warnings": "Die Pipeline hat Warnungen", + "pipeline_has_errors": "Die Pipeline hat Fehler" } From 008378fae9203a66381663639bc62dc0b3549b01 Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Sat, 13 Jul 2024 16:46:34 +0000 Subject: [PATCH 006/547] Translated using Weblate (German) Currently translated at 100.0% (337 of 337 strings) Translation: Woodpecker CI/UI Translate-URL: http://translate.woodpecker-ci.org/projects/woodpecker-ci/ui/de/ --- web/src/assets/locales/de.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/web/src/assets/locales/de.json b/web/src/assets/locales/de.json index 9741d14b2..7d87a62e0 100644 --- a/web/src/assets/locales/de.json +++ b/web/src/assets/locales/de.json @@ -607,5 +607,6 @@ "pipeline_duration": "Pipeline-Dauer", "pipeline_since": "Die Pipeline wurde vor {created} Minuten erstellt", "pipeline_has_warnings": "Die Pipeline hat Warnungen", - "pipeline_has_errors": "Die Pipeline hat Fehler" + "pipeline_has_errors": "Die Pipeline hat Fehler", + "login_with": "Anmelden mit {forge}" } From 904d8da51ae1bdb9dde818a7574fcf4c03f03150 Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Sun, 14 Jul 2024 13:59:45 -0700 Subject: [PATCH 007/547] Release windows binaries as zip file (#3906) --- .woodpecker/binaries.yaml | 16 +++++++++++++--- .woodpecker/docker.yaml | 2 +- Makefile | 35 ++++++++++++++++++++++++++++------- flake.nix | 1 + 4 files changed, 43 insertions(+), 11 deletions(-) diff --git a/.woodpecker/binaries.yaml b/.woodpecker/binaries.yaml index b1f50d80f..d67c58574 100644 --- a/.woodpecker/binaries.yaml +++ b/.woodpecker/binaries.yaml @@ -1,12 +1,15 @@ when: - event: tag + - event: tag + - event: pull_request + branch: ${CI_REPO_DEFAULT_BRANCH} + path: Makefile variables: - &golang_image 'docker.io/golang:1.22' - &node_image 'docker.io/node:22-alpine' - &xgo_image 'docker.io/techknowlogick/xgo:go-1.22.x' -# cspell:words bindata netgo TARGZ +# cspell:words bindata netgo steps: build-web: @@ -35,7 +38,7 @@ steps: environment: PLATFORMS: linux|arm64/v8;linux|amd64;windows|amd64 TAGS: bindata sqlite sqlite_unlock_notify netgo - TARGZ: '1' + ARCHIVE_IT: '1' build-tarball: depends_on: @@ -50,6 +53,8 @@ steps: - vendor image: *golang_image commands: + - apt update + - apt install -y zip - make release-agent build-cli: @@ -57,6 +62,8 @@ steps: - vendor image: *golang_image commands: + - apt update + - apt install -y zip - make release-cli build-deb-rpm: @@ -96,7 +103,10 @@ steps: from_secret: github_token files: - dist/*.tar.gz + - dist/*.zip - dist/*.deb - dist/*.rpm - dist/checksums.txt title: ${CI_COMMIT_TAG##v} + when: + event: tag diff --git a/.woodpecker/docker.yaml b/.woodpecker/docker.yaml index 7dc25386a..a1f00d0eb 100644 --- a/.woodpecker/docker.yaml +++ b/.woodpecker/docker.yaml @@ -9,7 +9,7 @@ variables: - &platforms_alpine 'linux/arm/v6,linux/arm/v7,linux/arm64/v8,linux/amd64,linux/ppc64le' - &build_args 'CI_COMMIT_SHA=${CI_COMMIT_SHA},CI_COMMIT_BRANCH=${CI_COMMIT_BRANCH},CI_COMMIT_TAG=${CI_COMMIT_TAG}' - # cspell:words woodpeckerbot netgo TARGZ + # cspell:words woodpeckerbot netgo # vars used on push / tag events only - publish_logins: &publish_logins # Default DockerHub login diff --git a/Makefile b/Makefile index 627e0381e..8ab78b0c6 100644 --- a/Makefile +++ b/Makefile @@ -235,22 +235,39 @@ release-server-xgo: check-xgo ## Create server binaries for release using xgo @echo "arch orgi:$(TARGETARCH)" @echo "arch (xgo):$(TARGETARCH_XGO)" @echo "arch (buildx):$(TARGETARCH_BUILDX)" - + # build via xgo CGO_CFLAGS="$(CGO_CFLAGS)" xgo -go $(XGO_VERSION) -dest ${DIST_DIR}/server/$(TARGETOS)_$(TARGETARCH_BUILDX) -tags 'netgo osusergo grpcnotrace $(TAGS)' -ldflags '-linkmode external $(LDFLAGS)' -targets '$(TARGETOS)/$(TARGETARCH_XGO)' -out woodpecker-server -pkg cmd/server . - @if [ "$${XGO_IN_XGO:-0}" -eq "1" ]; then echo "inside xgo image"; \ + # move binary into subfolder depending on target os and arch + @if [ "$${XGO_IN_XGO:-0}" -eq "1" ]; then \ + echo "inside xgo image"; \ mkdir -p ${DIST_DIR}/server/$(TARGETOS)_$(TARGETARCH_BUILDX); \ mv -vf /build/woodpecker-server* ${DIST_DIR}/server/$(TARGETOS)_$(TARGETARCH_BUILDX)/woodpecker-server$(BIN_SUFFIX); \ - else echo "outside xgo image"; \ + else \ + echo "outside xgo image"; \ [ -f "${DIST_DIR}/server/$(TARGETOS)_$(TARGETARCH_BUILDX)/woodpecker-server$(BIN_SUFFIX)" ] && rm -v ${DIST_DIR}/server/$(TARGETOS)_$(TARGETARCH_BUILDX)/woodpecker-server$(BIN_SUFFIX); \ mv -v ${DIST_DIR}/server/$(TARGETOS)_$(TARGETARCH_XGO)/woodpecker-server* ${DIST_DIR}/server/$(TARGETOS)_$(TARGETARCH_BUILDX)/woodpecker-server$(BIN_SUFFIX); \ fi - @[ "$${TARGZ:-0}" -eq "1" ] && tar -cvzf ${DIST_DIR}/woodpecker-server_$(TARGETOS)_$(TARGETARCH_BUILDX).tar.gz -C ${DIST_DIR}/server/$(TARGETOS)_$(TARGETARCH_BUILDX) woodpecker-server$(BIN_SUFFIX) || echo "skip creating '${DIST_DIR}/woodpecker-server_$(TARGETOS)_$(TARGETARCH_BUILDX).tar.gz'" + # if enabled package it in an archive + @if [ "$${ARCHIVE_IT:-0}" -eq "1" ]; then \ + if [ "$(BIN_SUFFIX)" = ".exe" ]; then \ + rm -f ${DIST_DIR}/woodpecker-server_$(TARGETOS)_$(TARGETARCH_BUILDX).zip; \ + zip -j ${DIST_DIR}/woodpecker-server_$(TARGETOS)_$(TARGETARCH_BUILDX).zip ${DIST_DIR}/server/$(TARGETOS)_$(TARGETARCH_BUILDX)/woodpecker-server.exe; \ + else \ + tar -cvzf ${DIST_DIR}/woodpecker-server_$(TARGETOS)_$(TARGETARCH_BUILDX).tar.gz -C ${DIST_DIR}/server/$(TARGETOS)_$(TARGETARCH_BUILDX) woodpecker-server$(BIN_SUFFIX); \ + fi; \ + else \ + echo "skip creating '${DIST_DIR}/woodpecker-server_$(TARGETOS)_$(TARGETARCH_BUILDX).tar.gz'"; \ + fi release-server: ## Create server binaries for release # compile GOOS=$(TARGETOS) GOARCH=$(TARGETARCH) CGO_ENABLED=${CGO_ENABLED} go build -ldflags '${LDFLAGS}' -tags 'grpcnotrace $(TAGS)' -o ${DIST_DIR}/server/$(TARGETOS)_$(TARGETARCH)/woodpecker-server$(BIN_SUFFIX) go.woodpecker-ci.org/woodpecker/v2/cmd/server # tar binary files - tar -cvzf ${DIST_DIR}/woodpecker-server_$(TARGETOS)_$(TARGETARCH).tar.gz -C ${DIST_DIR}/server/$(TARGETOS)_$(TARGETARCH) woodpecker-server$(BIN_SUFFIX) + if [ "$(BIN_SUFFIX)" == ".exe" ]; then \ + zip -j ${DIST_DIR}/woodpecker-server_$(TARGETOS)_$(TARGETARCH).zip ${DIST_DIR}/server/$(TARGETOS)_$(TARGETARCH)/woodpecker-server.exe; \ + else \ + tar -cvzf ${DIST_DIR}/woodpecker-server_$(TARGETOS)_$(TARGETARCH).tar.gz -C ${DIST_DIR}/server/$(TARGETOS)_$(TARGETARCH) woodpecker-server$(BIN_SUFFIX); \ + fi release-agent: ## Create agent binaries for release # compile @@ -264,9 +281,11 @@ release-agent: ## Create agent binaries for release tar -cvzf ${DIST_DIR}/woodpecker-agent_linux_amd64.tar.gz -C ${DIST_DIR}/agent/linux_amd64 woodpecker-agent tar -cvzf ${DIST_DIR}/woodpecker-agent_linux_arm64.tar.gz -C ${DIST_DIR}/agent/linux_arm64 woodpecker-agent tar -cvzf ${DIST_DIR}/woodpecker-agent_linux_arm.tar.gz -C ${DIST_DIR}/agent/linux_arm woodpecker-agent - tar -cvzf ${DIST_DIR}/woodpecker-agent_windows_amd64.tar.gz -C ${DIST_DIR}/agent/windows_amd64 woodpecker-agent.exe tar -cvzf ${DIST_DIR}/woodpecker-agent_darwin_amd64.tar.gz -C ${DIST_DIR}/agent/darwin_amd64 woodpecker-agent tar -cvzf ${DIST_DIR}/woodpecker-agent_darwin_arm64.tar.gz -C ${DIST_DIR}/agent/darwin_arm64 woodpecker-agent + # zip binary files + rm -f ${DIST_DIR}/woodpecker-agent_windows_amd64.zip + zip -j ${DIST_DIR}/woodpecker-agent_windows_amd64.zip ${DIST_DIR}/agent/windows_amd64/woodpecker-agent.exe release-cli: ## Create cli binaries for release # compile @@ -280,9 +299,11 @@ release-cli: ## Create cli binaries for release tar -cvzf ${DIST_DIR}/woodpecker-cli_linux_amd64.tar.gz -C ${DIST_DIR}/cli/linux_amd64 woodpecker-cli tar -cvzf ${DIST_DIR}/woodpecker-cli_linux_arm64.tar.gz -C ${DIST_DIR}/cli/linux_arm64 woodpecker-cli tar -cvzf ${DIST_DIR}/woodpecker-cli_linux_arm.tar.gz -C ${DIST_DIR}/cli/linux_arm woodpecker-cli - tar -cvzf ${DIST_DIR}/woodpecker-cli_windows_amd64.tar.gz -C ${DIST_DIR}/cli/windows_amd64 woodpecker-cli.exe tar -cvzf ${DIST_DIR}/woodpecker-cli_darwin_amd64.tar.gz -C ${DIST_DIR}/cli/darwin_amd64 woodpecker-cli tar -cvzf ${DIST_DIR}/woodpecker-cli_darwin_arm64.tar.gz -C ${DIST_DIR}/cli/darwin_arm64 woodpecker-cli + # zip binary files + rm -f ${DIST_DIR}/woodpecker-cli_windows_amd64.zip + zip -j ${DIST_DIR}/woodpecker-cli_windows_amd64.zip ${DIST_DIR}/cli/windows_amd64/woodpecker-cli.exe release-checksums: ## Create checksums for all release files # generate shas for tar files diff --git a/flake.nix b/flake.nix index f494c25f4..93c5339a2 100644 --- a/flake.nix +++ b/flake.nix @@ -17,6 +17,7 @@ # generic gnumake gnutar + zip # frontend nodejs_20 From 8aa3e5ec82c92eca3279e4be68625111eeedf1c4 Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Sun, 14 Jul 2024 14:35:19 -0700 Subject: [PATCH 008/547] Disalow to set arbitrary environments for plugins (#3909) --- cmd/server/woodpecker_docs_gen.go | 2 +- pipeline/frontend/yaml/linter/linter.go | 20 +- pipeline/frontend/yaml/linter/linter_test.go | 12 ++ .../.woodpecker/test-broken-plugin.yaml | 8 + .../.woodpecker/test-broken-plugin2.yaml | 8 + .../linter/schema/.woodpecker/test-step.yaml | 2 +- .../frontend/yaml/linter/schema/schema.json | 173 +++++++++++++++++- .../yaml/linter/schema/schema_test.go | 10 + pipeline/frontend/yaml/types/container.go | 4 +- pipeline/log/utils_test.go | 2 + 10 files changed, 225 insertions(+), 16 deletions(-) create mode 100644 pipeline/frontend/yaml/linter/schema/.woodpecker/test-broken-plugin.yaml create mode 100644 pipeline/frontend/yaml/linter/schema/.woodpecker/test-broken-plugin2.yaml diff --git a/cmd/server/woodpecker_docs_gen.go b/cmd/server/woodpecker_docs_gen.go index 9807c92d0..0ca776671 100644 --- a/cmd/server/woodpecker_docs_gen.go +++ b/cmd/server/woodpecker_docs_gen.go @@ -100,5 +100,5 @@ func toOpenApi3(input, output string) error { return err } - return os.WriteFile(output, data, 0644) + return os.WriteFile(output, data, 0o644) } diff --git a/pipeline/frontend/yaml/linter/linter.go b/pipeline/frontend/yaml/linter/linter.go index 7120d2ad8..73cefc799 100644 --- a/pipeline/frontend/yaml/linter/linter.go +++ b/pipeline/frontend/yaml/linter/linter.go @@ -117,7 +117,7 @@ func (l *Linter) lintContainers(config *WorkflowConfig, area string) error { linterErr = multierr.Append(linterErr, err) } } - if err := l.lintCommands(config, container, area); err != nil { + if err := l.lintSettings(config, container, area); err != nil { linterErr = multierr.Append(linterErr, err) } } @@ -132,16 +132,18 @@ func (l *Linter) lintImage(config *WorkflowConfig, c *types.Container, area stri return nil } -func (l *Linter) lintCommands(config *WorkflowConfig, c *types.Container, field string) error { - if len(c.Commands) == 0 { +func (l *Linter) lintSettings(config *WorkflowConfig, c *types.Container, field string) error { + if len(c.Settings) == 0 { return nil } - if len(c.Settings) != 0 { - var keys []string - for key := range c.Settings { - keys = append(keys, key) - } - return newLinterError(fmt.Sprintf("Cannot configure both commands and custom attributes %v", keys), config.File, fmt.Sprintf("%s.%s", field, c.Name), false) + if len(c.Commands) != 0 { + return newLinterError("Cannot configure both commands and settings", config.File, fmt.Sprintf("%s.%s", field, c.Name), false) + } + if len(c.Entrypoint) != 0 { + return newLinterError("Cannot configure both entrypoint and settings", config.File, fmt.Sprintf("%s.%s", field, c.Name), false) + } + if len(c.Environment) != 0 { + return newLinterError("Cannot configure both environment and settings", config.File, fmt.Sprintf("%s.%s", field, c.Name), false) } return nil } diff --git a/pipeline/frontend/yaml/linter/linter_test.go b/pipeline/frontend/yaml/linter/linter_test.go index 84afb44d8..1179f67bc 100644 --- a/pipeline/frontend/yaml/linter/linter_test.go +++ b/pipeline/frontend/yaml/linter/linter_test.go @@ -157,6 +157,18 @@ func TestLintErrors(t *testing.T) { from: "steps: { build: { image: golang, network_mode: 'container:name' } }", want: "Insufficient privileges to use network_mode", }, + { + from: "steps: { build: { image: golang, settings: { test: 'true' }, commands: [ 'echo ja', 'echo nein' ] } }", + want: "Cannot configure both commands and settings", + }, + { + from: "steps: { build: { image: golang, settings: { test: 'true' }, entrypoint: [ '/bin/fish' ] } }", + want: "Cannot configure both entrypoint and settings", + }, + { + from: "steps: { build: { image: golang, settings: { test: 'true' }, environment: [ 'TEST=true' ] } }", + want: "Cannot configure both environment and settings", + }, } for _, test := range testdata { diff --git a/pipeline/frontend/yaml/linter/schema/.woodpecker/test-broken-plugin.yaml b/pipeline/frontend/yaml/linter/schema/.woodpecker/test-broken-plugin.yaml new file mode 100644 index 000000000..886dee977 --- /dev/null +++ b/pipeline/frontend/yaml/linter/schema/.woodpecker/test-broken-plugin.yaml @@ -0,0 +1,8 @@ +steps: + publish: + image: plugins/docker + settings: + repo: foo/bar + tags: latest + environment: + CGO: 0 diff --git a/pipeline/frontend/yaml/linter/schema/.woodpecker/test-broken-plugin2.yaml b/pipeline/frontend/yaml/linter/schema/.woodpecker/test-broken-plugin2.yaml new file mode 100644 index 000000000..2dbba2e90 --- /dev/null +++ b/pipeline/frontend/yaml/linter/schema/.woodpecker/test-broken-plugin2.yaml @@ -0,0 +1,8 @@ +steps: + publish: + image: plugins/docker + settings: + repo: foo/bar + tags: latest + commands: + - env diff --git a/pipeline/frontend/yaml/linter/schema/.woodpecker/test-step.yaml b/pipeline/frontend/yaml/linter/schema/.woodpecker/test-step.yaml index fc63e8d6e..9f60fcf44 100644 --- a/pipeline/frontend/yaml/linter/schema/.woodpecker/test-step.yaml +++ b/pipeline/frontend/yaml/linter/schema/.woodpecker/test-step.yaml @@ -18,7 +18,7 @@ steps: image: alpine entrypoint: ['some_entry', '--some-flag'] - singla-entrypoint: + single-entrypoint: image: alpine entrypoint: some_entry diff --git a/pipeline/frontend/yaml/linter/schema/schema.json b/pipeline/frontend/yaml/linter/schema/schema.json index 79f5cb21c..5a85cf320 100644 --- a/pipeline/frontend/yaml/linter/schema/schema.json +++ b/pipeline/frontend/yaml/linter/schema/schema.json @@ -304,10 +304,24 @@ } }, "step": { + "description": "A step of your workflow executes either arbitrary commands or uses a plugin. Read more: https://woodpecker-ci.org/docs/usage/workflow-syntax#steps", + "oneOf": [ + { + "$ref": "#/definitions/commands_step" + }, + { + "$ref": "#/definitions/entrypoint_step" + }, + { + "$ref": "#/definitions/plugin_step" + } + ] + }, + "commands_step": { "description": "Every step of your pipeline executes arbitrary commands inside a specified docker container. Read more: https://woodpecker-ci.org/docs/usage/workflow-syntax#steps", "type": "object", "additionalProperties": false, - "required": ["image"], + "required": ["image", "commands"], "properties": { "name": { "description": "The name of the step. Can be used if using the array style steps list.", @@ -334,9 +348,6 @@ "secrets": { "$ref": "#/definitions/step_secrets" }, - "settings": { - "$ref": "#/definitions/step_settings" - }, "when": { "$ref": "#/definitions/step_when" }, @@ -392,6 +403,160 @@ } } }, + "entrypoint_step": { + "description": "Every step of your pipeline executes arbitrary commands inside a specified docker container. Read more: https://woodpecker-ci.org/docs/usage/workflow-syntax#steps", + "type": "object", + "additionalProperties": false, + "required": ["image", "entrypoint"], + "properties": { + "name": { + "description": "The name of the step. Can be used if using the array style steps list.", + "type": "string" + }, + "image": { + "$ref": "#/definitions/step_image" + }, + "privileged": { + "$ref": "#/definitions/step_privileged" + }, + "pull": { + "$ref": "#/definitions/step_pull" + }, + "commands": { + "$ref": "#/definitions/step_commands" + }, + "environment": { + "$ref": "#/definitions/step_environment" + }, + "directory": { + "$ref": "#/definitions/step_directory" + }, + "secrets": { + "$ref": "#/definitions/step_secrets" + }, + "when": { + "$ref": "#/definitions/step_when" + }, + "volumes": { + "$ref": "#/definitions/step_volumes" + }, + "group": { + "description": "deprecated, use depends_on", + "type": "string" + }, + "depends_on": { + "description": "Execute a step after another step has finished.", + "oneOf": [ + { + "type": "array", + "minLength": 1, + "items": { + "type": "string" + } + }, + { + "type": "string" + } + ] + }, + "detach": { + "description": "Detach a step to run in background until pipeline finishes. Read more: https://woodpecker-ci.org/docs/usage/services#detachment", + "type": "boolean" + }, + "failure": { + "description": "How to handle the failure of this step. Read more: https://woodpecker-ci.org/docs/usage/workflow-syntax#failure", + "type": "string", + "enum": ["fail", "ignore"], + "default": "fail" + }, + "backend_options": { + "$ref": "#/definitions/step_backend_options" + }, + "entrypoint": { + "description": "Defines container entrypoint.", + "oneOf": [ + { + "type": "array", + "minLength": 1, + "items": { + "type": "string" + } + }, + { + "type": "string" + } + ] + } + } + }, + "plugin_step": { + "description": "Plugins let you execute predefined functions in a more secure context. Read more: https://woodpecker-ci.org/docs/usage/plugins/overview", + "type": "object", + "additionalProperties": false, + "required": ["image"], + "properties": { + "name": { + "description": "The name of the step. Can be used if using the array style steps list.", + "type": "string" + }, + "image": { + "$ref": "#/definitions/step_image" + }, + "privileged": { + "$ref": "#/definitions/step_privileged" + }, + "pull": { + "$ref": "#/definitions/step_pull" + }, + "directory": { + "$ref": "#/definitions/step_directory" + }, + "secrets": { + "$ref": "#/definitions/step_secrets" + }, + "settings": { + "$ref": "#/definitions/step_settings" + }, + "when": { + "$ref": "#/definitions/step_when" + }, + "volumes": { + "$ref": "#/definitions/step_volumes" + }, + "group": { + "description": "deprecated, use depends_on", + "type": "string" + }, + "depends_on": { + "description": "Execute a step after another step has finished.", + "oneOf": [ + { + "type": "array", + "minLength": 1, + "items": { + "type": "string" + } + }, + { + "type": "string" + } + ] + }, + "detach": { + "description": "Detach a step to run in background until pipeline finishes. Read more: https://woodpecker-ci.org/docs/usage/services#detachment", + "type": "boolean" + }, + "failure": { + "description": "How to handle the failure of this step. Read more: https://woodpecker-ci.org/docs/usage/workflow-syntax#failure", + "type": "string", + "enum": ["fail", "ignore"], + "default": "fail" + }, + "backend_options": { + "$ref": "#/definitions/step_backend_options" + } + } + }, "step_when": { "description": "Steps can be skipped based on conditions. Read more: https://woodpecker-ci.org/docs/usage/workflow-syntax#when---conditional-execution", "oneOf": [ diff --git a/pipeline/frontend/yaml/linter/schema/schema_test.go b/pipeline/frontend/yaml/linter/schema/schema_test.go index d423a9e3d..be5dfe2ae 100644 --- a/pipeline/frontend/yaml/linter/schema/schema_test.go +++ b/pipeline/frontend/yaml/linter/schema/schema_test.go @@ -116,6 +116,16 @@ func TestSchema(t *testing.T) { testFile: ".woodpecker/test-custom-backend.yaml", fail: false, }, + { + name: "Broken Plugin by environment", + testFile: ".woodpecker/test-broken-plugin.yaml", + fail: true, + }, + { + name: "Broken Plugin by commands", + testFile: ".woodpecker/test-broken-plugin2.yaml", + fail: true, + }, } for _, tt := range testTable { diff --git a/pipeline/frontend/yaml/types/container.go b/pipeline/frontend/yaml/types/container.go index 6de8ab9e7..78da8141f 100644 --- a/pipeline/frontend/yaml/types/container.go +++ b/pipeline/frontend/yaml/types/container.go @@ -123,7 +123,9 @@ func (c *ContainerList) UnmarshalYAML(value *yaml.Node) error { } func (c *Container) IsPlugin() bool { - return len(c.Commands) == 0 && len(c.Entrypoint) == 0 + return len(c.Commands) == 0 && + len(c.Entrypoint) == 0 && + len(c.Environment) == 0 } func (c *Container) IsTrustedCloneImage() bool { diff --git a/pipeline/log/utils_test.go b/pipeline/log/utils_test.go index 9861b4aef..b094d1409 100644 --- a/pipeline/log/utils_test.go +++ b/pipeline/log/utils_test.go @@ -131,6 +131,8 @@ func TestCopyLineByLineSizeLimit(t *testing.T) { if _, err := w.Write([]byte("67\n89")); err != nil { t.Fatalf("unexpected error: %v", err) } + // wait for writer to write + time.Sleep(time.Millisecond) writes = testWriter.GetWrites() assert.Lenf(t, testWriter.GetWrites(), 2, "expected 2 writes, got: %v", writes) From 3a528de56da4c22ae38ca9824ef2dbf8a92bd57c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 14 Jul 2024 16:49:08 -0700 Subject: [PATCH 009/547] chore(deps): update dependency vitest to v2 (#3905) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- web/package.json | 2 +- web/pnpm-lock.yaml | 255 +++++++++++++++++---------------------------- 2 files changed, 99 insertions(+), 158 deletions(-) diff --git a/web/package.json b/web/package.json index d2f951c5d..6bf67a344 100644 --- a/web/package.json +++ b/web/package.json @@ -65,7 +65,7 @@ "vite-plugin-prismjs": "^0.0.11", "vite-plugin-windicss": "^1.9.3", "vite-svg-loader": "^5.1.0", - "vitest": "^1.6.0", + "vitest": "^2.0.0", "vue-tsc": "^2.0.19", "windicss": "^3.5.6" }, diff --git a/web/pnpm-lock.yaml b/web/pnpm-lock.yaml index 64dfba1f9..62ea91740 100644 --- a/web/pnpm-lock.yaml +++ b/web/pnpm-lock.yaml @@ -59,7 +59,7 @@ importers: devDependencies: '@antfu/eslint-config': specifier: ^2.20.0 - version: 2.21.2(@vue/compiler-sfc@3.4.31)(eslint@9.6.0)(typescript@5.4.5)(vitest@1.6.0(@types/node@20.14.10)(jsdom@24.1.0)(stylus@0.57.0)) + version: 2.21.2(@vue/compiler-sfc@3.4.31)(eslint@9.6.0)(typescript@5.4.5)(vitest@2.0.2(@types/node@20.14.10)(jsdom@24.1.0)(stylus@0.57.0)) '@eslint/js': specifier: ^9.4.0 version: 9.6.0 @@ -148,8 +148,8 @@ importers: specifier: ^5.1.0 version: 5.1.0(vue@3.4.31(typescript@5.4.5)) vitest: - specifier: ^1.6.0 - version: 1.6.0(@types/node@20.14.10)(jsdom@24.1.0)(stylus@0.57.0) + specifier: ^2.0.0 + version: 2.0.2(@types/node@20.14.10)(jsdom@24.1.0)(stylus@0.57.0) vue-tsc: specifier: ^2.0.19 version: 2.0.26(typescript@5.4.5) @@ -560,10 +560,6 @@ packages: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} - '@jest/schemas@29.6.3': - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@jridgewell/gen-mapping@0.3.5': resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} @@ -703,9 +699,6 @@ packages: cpu: [x64] os: [win32] - '@sinclair/typebox@0.27.8': - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - '@sindresorhus/is@4.6.0': resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} engines: {node: '>=10'} @@ -851,20 +844,23 @@ packages: vite: ^5.0.0 vue: ^3.2.25 - '@vitest/expect@1.6.0': - resolution: {integrity: sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==} + '@vitest/expect@2.0.2': + resolution: {integrity: sha512-nKAvxBYqcDugYZ4nJvnm5OR8eDJdgWjk4XM9owQKUjzW70q0icGV2HVnQOyYsp906xJaBDUXw0+9EHw2T8e0mQ==} - '@vitest/runner@1.6.0': - resolution: {integrity: sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==} + '@vitest/pretty-format@2.0.2': + resolution: {integrity: sha512-SBCyOXfGVvddRd9r2PwoVR0fonQjh9BMIcBMlSzbcNwFfGr6ZhOhvBzurjvi2F4ryut2HcqiFhNeDVGwru8tLg==} - '@vitest/snapshot@1.6.0': - resolution: {integrity: sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==} + '@vitest/runner@2.0.2': + resolution: {integrity: sha512-OCh437Vi8Wdbif1e0OvQcbfM3sW4s2lpmOjAE7qfLrpzJX2M7J1IQlNvEcb/fu6kaIB9n9n35wS0G2Q3en5kHg==} - '@vitest/spy@1.6.0': - resolution: {integrity: sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==} + '@vitest/snapshot@2.0.2': + resolution: {integrity: sha512-Yc2ewhhZhx+0f9cSUdfzPRcsM6PhIb+S43wxE7OG0kTxqgqzo8tHkXFuFlndXeDMp09G3sY/X5OAo/RfYydf1g==} - '@vitest/utils@1.6.0': - resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} + '@vitest/spy@2.0.2': + resolution: {integrity: sha512-MgwJ4AZtCgqyp2d7WcQVE8aNG5vQ9zu9qMPYQHjsld/QVsrvg78beNrXdO4HYkP0lDahCO3P4F27aagIag+SGQ==} + + '@vitest/utils@2.0.2': + resolution: {integrity: sha512-pxCY1v7kmOCWYWjzc0zfjGTA3Wmn8PKnlPvSrsA643P1NHl1fOyXj2Q9SaNlrlFE+ivCsxM80Ov3AR82RmHCWQ==} '@volar/language-core@2.4.0-alpha.15': resolution: {integrity: sha512-mt8z4Fm2WxfQYoQHPcKVjLQV6PgPqyKLbkCVY2cr5RSaamqCHjhKEpsFX66aL4D/7oYguuaUw9Bx03Vt0TpIIA==} @@ -942,10 +938,6 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn-walk@8.3.3: - resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==} - engines: {node: '>=0.4.0'} - acorn@8.12.1: resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} engines: {node: '>=0.4.0'} @@ -974,10 +966,6 @@ packages: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} - ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - ansi-styles@6.2.1: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} @@ -1000,8 +988,9 @@ packages: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - assertion-error@1.1.0: - resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} @@ -1059,9 +1048,9 @@ packages: caniuse-lite@1.0.30001640: resolution: {integrity: sha512-lA4VMpW0PSUrFnkmVuEKBUovSWKhj7puyCg8StBChgu298N1AtuF1sKWEvfDuimSEDbhlb/KqPKC3fs1HbuQUA==} - chai@4.4.1: - resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} - engines: {node: '>=4'} + chai@5.1.1: + resolution: {integrity: sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==} + engines: {node: '>=12'} chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} @@ -1088,8 +1077,9 @@ packages: character-reference-invalid@1.1.4: resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} - check-error@1.0.3: - resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + check-error@2.1.1: + resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} + engines: {node: '>= 16'} chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} @@ -1226,8 +1216,8 @@ packages: resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} engines: {node: '>=0.10'} - deep-eql@4.1.4: - resolution: {integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==} + deep-eql@5.0.2: + resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} engines: {node: '>=6'} deep-is@0.1.4: @@ -1237,10 +1227,6 @@ packages: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} - diff-sequences@29.6.3: - resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -1842,9 +1828,6 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - js-tokens@9.0.0: - resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==} - js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true @@ -1939,8 +1922,8 @@ packages: lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - loupe@2.3.7: - resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + loupe@3.1.1: + resolution: {integrity: sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==} lru-cache@10.3.0: resolution: {integrity: sha512-CQl19J/g+Hbjbv4Y3mFNNXFEL/5t/KCg8POCuUqd4rMKjGG+j1ybER83hxV58zL+dFI1PTkt3GNFSHRt+d8qEQ==} @@ -2096,10 +2079,6 @@ packages: resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - p-limit@5.0.0: - resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} - engines: {node: '>=18'} - p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} @@ -2178,8 +2157,9 @@ packages: pathe@1.1.2: resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} - pathval@1.1.1: - resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + pathval@2.0.0: + resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} + engines: {node: '>= 14.16'} picocolors@1.0.1: resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} @@ -2244,10 +2224,6 @@ packages: engines: {node: '>=14'} hasBin: true - pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - prismjs@1.29.0: resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} engines: {node: '>=6'} @@ -2268,9 +2244,6 @@ packages: queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - react-is@18.3.1: - resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - read-pkg-up@7.0.1: resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} engines: {node: '>=8'} @@ -2470,9 +2443,6 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - strip-literal@2.1.0: - resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==} - stylus@0.57.0: resolution: {integrity: sha512-yOI6G8WYfr0q8v8rRvE91wbxFU+rJPo760Va4MF6K0I6BZjO4r+xSynkvyPBP9tV1CIEUeRsiidjIs2rzb1CnQ==} hasBin: true @@ -2518,12 +2488,16 @@ packages: tinycolor2@1.6.0: resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==} - tinypool@0.8.4: - resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==} + tinypool@1.0.0: + resolution: {integrity: sha512-KIKExllK7jp3uvrNtvRBYBWBOAXSX8ZvoaD8T+7KB/QHIuoJW3Pmr60zucywjAlMb5TeXUkcs/MWeWLu0qvuAQ==} + engines: {node: ^18.0.0 || >=20.0.0} + + tinyrainbow@1.2.0: + resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==} engines: {node: '>=14.0.0'} - tinyspy@2.2.1: - resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} + tinyspy@3.0.0: + resolution: {integrity: sha512-q5nmENpTHgiPVd1cJDDc9cVoYN5x4vCvwT3FMilvKPKneCBZAxn2YWQjDF0UMcE9k0Cay1gBiDfTMU0g+mPMQA==} engines: {node: '>=14.0.0'} to-fast-properties@2.0.0: @@ -2666,8 +2640,8 @@ packages: validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - vite-node@1.6.0: - resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==} + vite-node@2.0.2: + resolution: {integrity: sha512-w4vkSz1Wo+NIQg8pjlEn0jQbcM/0D+xVaYjhw3cvarTanLLBh54oNiRbsT8PNK5GfuST0IlVXjsNRoNlqvY/fw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -2713,15 +2687,15 @@ packages: terser: optional: true - vitest@1.6.0: - resolution: {integrity: sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==} + vitest@2.0.2: + resolution: {integrity: sha512-WlpZ9neRIjNBIOQwBYfBSr0+of5ZCbxT2TVGKW4Lv0c8+srCFIiRdsP7U009t8mMn821HQ4XKgkx5dVWpyoyLw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.6.0 - '@vitest/ui': 1.6.0 + '@vitest/browser': 2.0.2 + '@vitest/ui': 2.0.2 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -2908,7 +2882,7 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - '@antfu/eslint-config@2.21.2(@vue/compiler-sfc@3.4.31)(eslint@9.6.0)(typescript@5.4.5)(vitest@1.6.0(@types/node@20.14.10)(jsdom@24.1.0)(stylus@0.57.0))': + '@antfu/eslint-config@2.21.2(@vue/compiler-sfc@3.4.31)(eslint@9.6.0)(typescript@5.4.5)(vitest@2.0.2(@types/node@20.14.10)(jsdom@24.1.0)(stylus@0.57.0))': dependencies: '@antfu/install-pkg': 0.3.3 '@clack/prompts': 0.7.0 @@ -2933,7 +2907,7 @@ snapshots: eslint-plugin-toml: 0.11.1(eslint@9.6.0) eslint-plugin-unicorn: 54.0.0(eslint@9.6.0) eslint-plugin-unused-imports: 3.2.0(@typescript-eslint/eslint-plugin@7.15.0(@typescript-eslint/parser@7.15.0(eslint@9.6.0)(typescript@5.4.5))(eslint@9.6.0)(typescript@5.4.5))(eslint@9.6.0) - eslint-plugin-vitest: 0.5.4(@typescript-eslint/eslint-plugin@7.15.0(@typescript-eslint/parser@7.15.0(eslint@9.6.0)(typescript@5.4.5))(eslint@9.6.0)(typescript@5.4.5))(eslint@9.6.0)(typescript@5.4.5)(vitest@1.6.0(@types/node@20.14.10)(jsdom@24.1.0)(stylus@0.57.0)) + eslint-plugin-vitest: 0.5.4(@typescript-eslint/eslint-plugin@7.15.0(@typescript-eslint/parser@7.15.0(eslint@9.6.0)(typescript@5.4.5))(eslint@9.6.0)(typescript@5.4.5))(eslint@9.6.0)(typescript@5.4.5)(vitest@2.0.2(@types/node@20.14.10)(jsdom@24.1.0)(stylus@0.57.0)) eslint-plugin-vue: 9.27.0(eslint@9.6.0) eslint-plugin-yml: 1.14.0(eslint@9.6.0) eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.4.31)(eslint@9.6.0) @@ -3340,10 +3314,6 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 - '@jest/schemas@29.6.3': - dependencies: - '@sinclair/typebox': 0.27.8 - '@jridgewell/gen-mapping@0.3.5': dependencies: '@jridgewell/set-array': 1.2.1 @@ -3447,8 +3417,6 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.18.0': optional: true - '@sinclair/typebox@0.27.8': {} - '@sindresorhus/is@4.6.0': {} '@stylistic/eslint-plugin-js@2.3.0(eslint@9.6.0)': @@ -3625,34 +3593,38 @@ snapshots: vite: 5.3.3(@types/node@20.14.10)(stylus@0.57.0) vue: 3.4.31(typescript@5.4.5) - '@vitest/expect@1.6.0': + '@vitest/expect@2.0.2': dependencies: - '@vitest/spy': 1.6.0 - '@vitest/utils': 1.6.0 - chai: 4.4.1 + '@vitest/spy': 2.0.2 + '@vitest/utils': 2.0.2 + chai: 5.1.1 + tinyrainbow: 1.2.0 - '@vitest/runner@1.6.0': + '@vitest/pretty-format@2.0.2': dependencies: - '@vitest/utils': 1.6.0 - p-limit: 5.0.0 + tinyrainbow: 1.2.0 + + '@vitest/runner@2.0.2': + dependencies: + '@vitest/utils': 2.0.2 pathe: 1.1.2 - '@vitest/snapshot@1.6.0': + '@vitest/snapshot@2.0.2': dependencies: + '@vitest/pretty-format': 2.0.2 magic-string: 0.30.10 pathe: 1.1.2 - pretty-format: 29.7.0 - '@vitest/spy@1.6.0': + '@vitest/spy@2.0.2': dependencies: - tinyspy: 2.2.1 + tinyspy: 3.0.0 - '@vitest/utils@1.6.0': + '@vitest/utils@2.0.2': dependencies: - diff-sequences: 29.6.3 + '@vitest/pretty-format': 2.0.2 estree-walker: 3.0.3 - loupe: 2.3.7 - pretty-format: 29.7.0 + loupe: 3.1.1 + tinyrainbow: 1.2.0 '@volar/language-core@2.4.0-alpha.15': dependencies: @@ -3785,10 +3757,6 @@ snapshots: dependencies: acorn: 8.12.1 - acorn-walk@8.3.3: - dependencies: - acorn: 8.12.1 - acorn@8.12.1: {} agent-base@7.1.1: @@ -3816,8 +3784,6 @@ snapshots: dependencies: color-convert: 2.0.1 - ansi-styles@5.2.0: {} - ansi-styles@6.2.1: {} ansi_up@6.0.2: {} @@ -3833,7 +3799,7 @@ snapshots: array-union@2.1.0: {} - assertion-error@1.1.0: {} + assertion-error@2.0.1: {} asynckit@0.4.0: {} @@ -3879,15 +3845,13 @@ snapshots: caniuse-lite@1.0.30001640: {} - chai@4.4.1: + chai@5.1.1: dependencies: - assertion-error: 1.1.0 - check-error: 1.0.3 - deep-eql: 4.1.4 - get-func-name: 2.0.2 - loupe: 2.3.7 - pathval: 1.1.1 - type-detect: 4.0.8 + assertion-error: 2.0.1 + check-error: 2.1.1 + deep-eql: 5.0.2 + loupe: 3.1.1 + pathval: 2.0.0 chalk@2.4.2: dependencies: @@ -3910,9 +3874,7 @@ snapshots: character-reference-invalid@1.1.4: {} - check-error@1.0.3: - dependencies: - get-func-name: 2.0.2 + check-error@2.1.1: {} chokidar@3.6.0: dependencies: @@ -4042,16 +4004,12 @@ snapshots: decode-uri-component@0.2.2: {} - deep-eql@4.1.4: - dependencies: - type-detect: 4.0.8 + deep-eql@5.0.2: {} deep-is@0.1.4: {} delayed-stream@1.0.0: {} - diff-sequences@29.6.3: {} - dir-glob@3.0.1: dependencies: path-type: 4.0.0 @@ -4329,13 +4287,13 @@ snapshots: optionalDependencies: '@typescript-eslint/eslint-plugin': 7.15.0(@typescript-eslint/parser@7.15.0(eslint@9.6.0)(typescript@5.4.5))(eslint@9.6.0)(typescript@5.4.5) - eslint-plugin-vitest@0.5.4(@typescript-eslint/eslint-plugin@7.15.0(@typescript-eslint/parser@7.15.0(eslint@9.6.0)(typescript@5.4.5))(eslint@9.6.0)(typescript@5.4.5))(eslint@9.6.0)(typescript@5.4.5)(vitest@1.6.0(@types/node@20.14.10)(jsdom@24.1.0)(stylus@0.57.0)): + eslint-plugin-vitest@0.5.4(@typescript-eslint/eslint-plugin@7.15.0(@typescript-eslint/parser@7.15.0(eslint@9.6.0)(typescript@5.4.5))(eslint@9.6.0)(typescript@5.4.5))(eslint@9.6.0)(typescript@5.4.5)(vitest@2.0.2(@types/node@20.14.10)(jsdom@24.1.0)(stylus@0.57.0)): dependencies: '@typescript-eslint/utils': 7.15.0(eslint@9.6.0)(typescript@5.4.5) eslint: 9.6.0 optionalDependencies: '@typescript-eslint/eslint-plugin': 7.15.0(@typescript-eslint/parser@7.15.0(eslint@9.6.0)(typescript@5.4.5))(eslint@9.6.0)(typescript@5.4.5) - vitest: 1.6.0(@types/node@20.14.10)(jsdom@24.1.0)(stylus@0.57.0) + vitest: 2.0.2(@types/node@20.14.10)(jsdom@24.1.0)(stylus@0.57.0) transitivePeerDependencies: - supports-color - typescript @@ -4759,8 +4717,6 @@ snapshots: js-tokens@4.0.0: {} - js-tokens@9.0.0: {} - js-yaml@4.1.0: dependencies: argparse: 2.0.1 @@ -4856,7 +4812,7 @@ snapshots: lodash@4.17.21: {} - loupe@2.3.7: + loupe@3.1.1: dependencies: get-func-name: 2.0.2 @@ -5016,10 +4972,6 @@ snapshots: dependencies: yocto-queue: 1.1.1 - p-limit@5.0.0: - dependencies: - yocto-queue: 1.1.1 - p-locate@4.1.0: dependencies: p-limit: 2.3.0 @@ -5090,7 +5042,7 @@ snapshots: pathe@1.1.2: {} - pathval@1.1.1: {} + pathval@2.0.0: {} picocolors@1.0.1: {} @@ -5147,12 +5099,6 @@ snapshots: prettier@3.3.2: {} - pretty-format@29.7.0: - dependencies: - '@jest/schemas': 29.6.3 - ansi-styles: 5.2.0 - react-is: 18.3.1 - prismjs@1.29.0: {} proto-list@1.2.4: {} @@ -5165,8 +5111,6 @@ snapshots: queue-microtask@1.2.3: {} - react-is@18.3.1: {} - read-pkg-up@7.0.1: dependencies: find-up: 4.1.0 @@ -5359,10 +5303,6 @@ snapshots: strip-json-comments@3.1.1: {} - strip-literal@2.1.0: - dependencies: - js-tokens: 9.0.0 - stylus@0.57.0: dependencies: css: 3.0.0 @@ -5413,9 +5353,11 @@ snapshots: tinycolor2@1.6.0: {} - tinypool@0.8.4: {} + tinypool@1.0.0: {} - tinyspy@2.2.1: {} + tinyrainbow@1.2.0: {} + + tinyspy@3.0.0: {} to-fast-properties@2.0.0: {} @@ -5546,12 +5488,12 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - vite-node@1.6.0(@types/node@20.14.10)(stylus@0.57.0): + vite-node@2.0.2(@types/node@20.14.10)(stylus@0.57.0): dependencies: cac: 6.7.14 debug: 4.3.5 pathe: 1.1.2 - picocolors: 1.0.1 + tinyrainbow: 1.2.0 vite: 5.3.3(@types/node@20.14.10)(stylus@0.57.0) transitivePeerDependencies: - '@types/node' @@ -5596,27 +5538,26 @@ snapshots: fsevents: 2.3.3 stylus: 0.57.0 - vitest@1.6.0(@types/node@20.14.10)(jsdom@24.1.0)(stylus@0.57.0): + vitest@2.0.2(@types/node@20.14.10)(jsdom@24.1.0)(stylus@0.57.0): dependencies: - '@vitest/expect': 1.6.0 - '@vitest/runner': 1.6.0 - '@vitest/snapshot': 1.6.0 - '@vitest/spy': 1.6.0 - '@vitest/utils': 1.6.0 - acorn-walk: 8.3.3 - chai: 4.4.1 + '@ampproject/remapping': 2.3.0 + '@vitest/expect': 2.0.2 + '@vitest/pretty-format': 2.0.2 + '@vitest/runner': 2.0.2 + '@vitest/snapshot': 2.0.2 + '@vitest/spy': 2.0.2 + '@vitest/utils': 2.0.2 + chai: 5.1.1 debug: 4.3.5 execa: 8.0.1 - local-pkg: 0.5.0 magic-string: 0.30.10 pathe: 1.1.2 - picocolors: 1.0.1 std-env: 3.7.0 - strip-literal: 2.1.0 tinybench: 2.8.0 - tinypool: 0.8.4 + tinypool: 1.0.0 + tinyrainbow: 1.2.0 vite: 5.3.3(@types/node@20.14.10)(stylus@0.57.0) - vite-node: 1.6.0(@types/node@20.14.10)(stylus@0.57.0) + vite-node: 2.0.2(@types/node@20.14.10)(stylus@0.57.0) why-is-node-running: 2.2.2 optionalDependencies: '@types/node': 20.14.10 From 4f06b62cf7df3320389796e76d8ec405b81cfb99 Mon Sep 17 00:00:00 2001 From: qwerty287 Date: Mon, 15 Jul 2024 18:33:57 +0000 Subject: [PATCH 010/547] Translated using Weblate (German) Currently translated at 100.0% (337 of 337 strings) Translation: Woodpecker CI/UI Translate-URL: http://translate.woodpecker-ci.org/projects/woodpecker-ci/ui/de/ --- web/src/assets/locales/de.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/src/assets/locales/de.json b/web/src/assets/locales/de.json index 7d87a62e0..85a225cce 100644 --- a/web/src/assets/locales/de.json +++ b/web/src/assets/locales/de.json @@ -608,5 +608,5 @@ "pipeline_since": "Die Pipeline wurde vor {created} Minuten erstellt", "pipeline_has_warnings": "Die Pipeline hat Warnungen", "pipeline_has_errors": "Die Pipeline hat Fehler", - "login_with": "Anmelden mit {forge}" + "login_with": "Mit {forge} anmelden" } From 575f83cbea271bf2913d52265b1ac4f7f6fb1250 Mon Sep 17 00:00:00 2001 From: Michael Date: Mon, 15 Jul 2024 14:42:41 +0000 Subject: [PATCH 011/547] Translated using Weblate (French) Currently translated at 99.7% (336 of 337 strings) Translation: Woodpecker CI/UI Translate-URL: http://translate.woodpecker-ci.org/projects/woodpecker-ci/ui/fr/ --- web/src/assets/locales/fr.json | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/web/src/assets/locales/fr.json b/web/src/assets/locales/fr.json index 2bd6a5570..f62861cbf 100644 --- a/web/src/assets/locales/fr.json +++ b/web/src/assets/locales/fr.json @@ -251,7 +251,8 @@ "pr": "Pull Request", "push": "Push", "tag": "Tag", - "release": "Release" + "release": "Release", + "pr_closed": "Pull Request fusionnée / fermée" }, "exit_code": "Code de retour {exitCode}", "files": "Fichiers changés ({files})", @@ -593,5 +594,16 @@ "created": "Codes d’accès aux registres crées", "none": "Il n'y a pas de code d’accès aux registres." }, - "invalid_state": "L'état OAuth est invalide" + "invalid_state": "L'état OAuth est invalide", + "by_user": "par {user}", + "pushed_to": "poussé vers", + "closed": "fermé", + "deployed_to": "déployé vers", + "created": "crée", + "triggered": "déclenché", + "pipeline_duration": "Durée du pipeline", + "pipeline_since": "Pipeline crée {created} minutes ago", + "pipeline_has_warnings": "Le pipeline a des alertes", + "pipeline_has_errors": "Le pipeline a des erreurs", + "login_with": "Se connecter avec {forge}" } From aa276403b33fc4629ed1f953ed9e9ccbafb29684 Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Tue, 16 Jul 2024 12:39:23 -0700 Subject: [PATCH 012/547] Update alpine package dep for docker images (#3917) --- docker/Dockerfile.agent.alpine.multiarch | 4 +--- docker/Dockerfile.cli.alpine.multiarch | 4 +--- docker/Dockerfile.server.alpine.multiarch | 5 +---- 3 files changed, 3 insertions(+), 10 deletions(-) diff --git a/docker/Dockerfile.agent.alpine.multiarch b/docker/Dockerfile.agent.alpine.multiarch index 5de3db18c..c15d113f8 100644 --- a/docker/Dockerfile.agent.alpine.multiarch +++ b/docker/Dockerfile.agent.alpine.multiarch @@ -8,9 +8,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build \ make build-agent FROM docker.io/alpine:3.20 -# renovate: datasource=repology depName=alpine_3_18/ca-certificates versioning=loose -ENV CA_CERTIFICATES_VERSION="20240226-r0" -RUN apk add -U --no-cache ca-certificates=${CA_CERTIFICATES_VERSION} +RUN apk add -U --no-cache ca-certificates ENV GODEBUG=netdns=go EXPOSE 3000 diff --git a/docker/Dockerfile.cli.alpine.multiarch b/docker/Dockerfile.cli.alpine.multiarch index e8348da87..0fbb3df90 100644 --- a/docker/Dockerfile.cli.alpine.multiarch +++ b/docker/Dockerfile.cli.alpine.multiarch @@ -8,9 +8,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build \ make build-cli FROM docker.io/alpine:3.20 -# renovate: datasource=repology depName=alpine_3_18/ca-certificates versioning=loose -ENV CA_CERTIFICATES_VERSION="20240226-r0" -RUN apk add -U --no-cache ca-certificates=${CA_CERTIFICATES_VERSION} +RUN apk add -U --no-cache ca-certificates ENV GODEBUG=netdns=go ENV WOODPECKER_DISABLE_UPDATE_CHECK=true diff --git a/docker/Dockerfile.server.alpine.multiarch b/docker/Dockerfile.server.alpine.multiarch index 002cbcb69..094a9fe4d 100644 --- a/docker/Dockerfile.server.alpine.multiarch +++ b/docker/Dockerfile.server.alpine.multiarch @@ -1,10 +1,7 @@ FROM docker.io/alpine:3.20 -# renovate: datasource=repology depName=alpine_3_18/ca-certificates versioning=loose -ENV CA_CERTIFICATES_VERSION="20240226-r0" - ARG TARGETOS TARGETARCH -RUN apk add -U --no-cache ca-certificates=${CA_CERTIFICATES_VERSION} +RUN apk add -U --no-cache ca-certificates ENV GODEBUG=netdns=go # Internal setting do NOT change! Signals that woodpecker is running inside a container ENV WOODPECKER_IN_CONTAINER=true From e234db1244491bf908229ad983da062cd334d869 Mon Sep 17 00:00:00 2001 From: Anbraten <6918444+anbraten@users.noreply.github.com> Date: Wed, 17 Jul 2024 17:03:47 +0200 Subject: [PATCH 013/547] Streamline docs for new users (#3803) --- .../index.md | 7 +- .../2023-12-23-hello-cookbook/index.md | 13 -- docs/docs/10-intro.md | 89 ----------- docs/docs/10-intro/index.md | 26 ++++ docs/docs/20-usage/10-intro.md | 144 +++++++++++------- docs/docs/20-usage/15-terminology/index.md | 16 +- docs/docs/20-usage/20-workflow-syntax.md | 5 + docs/docs/20-usage/51-plugins/51-overview.md | 18 +++ docs/docs/20-usage/pipeline.png | Bin 0 -> 440750 bytes docs/docs/20-usage/repo-list.png | Bin 21355 -> 0 bytes docs/docs/20-usage/repo-new.png | Bin 0 -> 359528 bytes .../00-deployment/00-overview.md | 77 ---------- .../30-administration/00-getting-started.md | 59 +++++++ .../10-docker-compose.md | 2 +- .../20-kubernetes.md | 0 .../05-deployment-methods/30-third-party.md | 12 ++ .../40-nixos.md} | 0 .../05-deployment-methods/_category_.yaml | 3 + .../{30-database.md => 10-database.md} | 0 .../30-administration/10-server-config.md | 2 +- .../{70-proxy.md => 40-advanced/10-proxy.md} | 2 +- .../100-external-configuration-api.md | 0 .../{60-ssl.md => 40-advanced/20-ssl.md} | 0 .../30-autoscaler.md} | 0 .../40-advanced/40-advanced.md | 25 +++ .../{ => 40-advanced}/90-prometheus.md | 0 .../_category_.yaml | 4 +- docs/docs/91-migrations.md | 2 +- docs/docs/92-development/02-core-ideas.md | 2 +- docs/docs/pipeline-list.png | Bin 0 -> 213680 bytes docs/docusaurus.config.ts | 16 -- 31 files changed, 257 insertions(+), 267 deletions(-) rename docs/{cookbook/2024-1-1-continuous-deployment => blog/2024-01-01-continuous-deployment}/index.md (97%) delete mode 100644 docs/cookbook/2023-12-23-hello-cookbook/index.md delete mode 100644 docs/docs/10-intro.md create mode 100644 docs/docs/10-intro/index.md create mode 100644 docs/docs/20-usage/pipeline.png delete mode 100644 docs/docs/20-usage/repo-list.png create mode 100644 docs/docs/20-usage/repo-new.png delete mode 100644 docs/docs/30-administration/00-deployment/00-overview.md create mode 100644 docs/docs/30-administration/00-getting-started.md rename docs/docs/30-administration/{00-deployment => 05-deployment-methods}/10-docker-compose.md (94%) rename docs/docs/30-administration/{00-deployment => 05-deployment-methods}/20-kubernetes.md (100%) create mode 100644 docs/docs/30-administration/05-deployment-methods/30-third-party.md rename docs/docs/30-administration/{00-deployment/30-nixos.md => 05-deployment-methods/40-nixos.md} (100%) create mode 100644 docs/docs/30-administration/05-deployment-methods/_category_.yaml rename docs/docs/30-administration/{30-database.md => 10-database.md} (100%) rename docs/docs/30-administration/{70-proxy.md => 40-advanced/10-proxy.md} (98%) rename docs/docs/30-administration/{ => 40-advanced}/100-external-configuration-api.md (100%) rename docs/docs/30-administration/{60-ssl.md => 40-advanced/20-ssl.md} (100%) rename docs/docs/30-administration/{80-autoscaler.md => 40-advanced/30-autoscaler.md} (100%) create mode 100644 docs/docs/30-administration/40-advanced/40-advanced.md rename docs/docs/30-administration/{ => 40-advanced}/90-prometheus.md (100%) rename docs/docs/30-administration/{00-deployment => 40-advanced}/_category_.yaml (59%) create mode 100644 docs/docs/pipeline-list.png diff --git a/docs/cookbook/2024-1-1-continuous-deployment/index.md b/docs/blog/2024-01-01-continuous-deployment/index.md similarity index 97% rename from docs/cookbook/2024-1-1-continuous-deployment/index.md rename to docs/blog/2024-01-01-continuous-deployment/index.md index c1bedcc37..f455186a6 100644 --- a/docs/cookbook/2024-1-1-continuous-deployment/index.md +++ b/docs/blog/2024-01-01-continuous-deployment/index.md @@ -1,5 +1,5 @@ --- -title: Continuous Deployment +title: '[Community] Continuous Deployment' description: Deploy your artifacts to an app server slug: continuous-deployment authors: @@ -7,16 +7,17 @@ authors: url: https://github.com/lonix1 image_url: https://github.com/lonix1.png hide_table_of_contents: false +tags: [community, cd, deployment] --- - - A typical CI pipeline contains steps such as: _clone_, _build_, _test_, _package_ and _push_. The final build product may be artifacts pushed to a git repository or a docker container pushed to a container registry. When these should be deployed on an app server, the pipeline should include a _deploy_ step, which represents the "CD" in CI/CD - the automatic deployment of a pipeline's final product. There are various ways to accomplish CD with Woodpecker, depending on your project's specific needs. + + ## Invoking deploy script via SSH The final step in your pipeline could SSH into the app server and run a deployment script. diff --git a/docs/cookbook/2023-12-23-hello-cookbook/index.md b/docs/cookbook/2023-12-23-hello-cookbook/index.md deleted file mode 100644 index d3055dfba..000000000 --- a/docs/cookbook/2023-12-23-hello-cookbook/index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Welcome to Woodpecker's cookbook blog -description: Here, we'll publish various guides and tutorials. -slug: hello-cookbook -authors: - - name: qwerty287 - title: Maintainer of Woodpecker - url: https://github.com/qwerty287 - image_url: https://github.com/qwerty287.png -hide_table_of_contents: false ---- - -Welcome to this cookbook blog. Here, we and any other interested user can publish guides and tutorials. If you got something in mind, just add your guide! diff --git a/docs/docs/10-intro.md b/docs/docs/10-intro.md deleted file mode 100644 index 309c6f1af..000000000 --- a/docs/docs/10-intro.md +++ /dev/null @@ -1,89 +0,0 @@ -# Welcome to Woodpecker - -Woodpecker is a simple yet powerful CI/CD engine with great extensibility. It focuses on executing pipelines inside [containers](https://opencontainers.org/). -If you are already using containers in your daily workflow, you'll for sure love Woodpecker. - -![woodpecker](woodpecker.png) - -## `.woodpecker.yaml` - -- Place your pipeline in a file named `.woodpecker.yaml` in your repository -- Pipeline steps can be named as you like -- Run any command in the commands section - -```yaml title=".woodpecker.yaml" -steps: - - name: build - image: debian - commands: - - echo "This is the build step" - - name: a-test-step - image: debian - commands: - - echo "Testing.." -``` - -### Steps are containers - -- Define any container image as context - - either use your own and install the needed tools in a custom image - - or search for available images that are already tailored for your needs in image registries like [Docker Hub](https://hub.docker.com/search?type=image) -- List the commands that should be executed in the container - -```diff - steps: - - name: build -- image: debian -+ image: mycompany/image-with-awscli - commands: - - aws help -``` - -### File changes are incremental - -- Woodpecker clones the source code in the beginning -- File changes are persisted throughout individual steps as the same volume is being mounted in all steps - -```yaml title=".woodpecker.yaml" -steps: - - name: build - image: debian - commands: - - touch myfile - - name: a-test-step - image: debian - commands: - - cat myfile -``` - -## Plugins are straightforward - -- If you copy the same shell script from project to project -- Pack it into a plugin instead -- And make the yaml declarative -- Plugins are Docker images with your script as an entrypoint - -```dockerfile title="Dockerfile" -FROM laszlocloud/kubectl -COPY deploy /usr/local/deploy -ENTRYPOINT ["/usr/local/deploy"] -``` - -```bash title="deploy" -kubectl apply -f $PLUGIN_TEMPLATE -``` - -```yaml title=".woodpecker.yaml" -steps: - - name: deploy-to-k8s - image: laszlocloud/my-k8s-plugin - settings: - template: config/k8s/service.yaml -``` - -See [plugin docs](./20-usage/51-plugins/51-overview.md). - -## Continue reading - -- [Create a Woodpecker pipeline for your repository](./20-usage/10-intro.md) -- [Setup your own Woodpecker instance](./30-administration/00-deployment/00-overview.md) diff --git a/docs/docs/10-intro/index.md b/docs/docs/10-intro/index.md new file mode 100644 index 000000000..1d41cf6a4 --- /dev/null +++ b/docs/docs/10-intro/index.md @@ -0,0 +1,26 @@ +# Welcome to Woodpecker + +Woodpecker is a CI/CD tool. It is designed to be lightweight, simple to use and fast. Before we dive into the details, let's have a look at some of the basics. + +## Have you ever heard of CI/CD or pipelines? + +Don't worry if you haven't. We'll guide you through the basics. CI/CD stands for Continuous Integration and Continuous Deployment. It's basically like a conveyor belt that moves your code from development to production doing all kinds of +checks, tests and routines along the way. A typical pipeline might include the following steps: + +1. Running tests +2. Building your application +3. Deploying your application + +[Have a deeper look into the idea of CI/CD](https://www.redhat.com/en/topics/devops/what-is-ci-cd) + +## Do you know containers? + +If you are already using containers in your daily workflow, you'll for sure love Woodpecker. If not yet, you'll be amazed how easy it is to get started with [containers](https://opencontainers.org/). + +## Already have access to a Woodpecker instace? + +Then you might want to jump directly into it and [start creating your first pipelines](../20-usage/10-intro.md). + +## Want to start from scratch and deploy your own Woodpecker instance? + +Woodpecker is [pretty lightweight](../30-administration/00-getting-started.md#hardware-requirements) and will even run on your Raspberry Pi. You can follow the [deployment guide](../30-administration/00-getting-started.md) to set up your own Woodpecker instance. diff --git a/docs/docs/20-usage/10-intro.md b/docs/docs/20-usage/10-intro.md index 875411ff9..9c4cb3c21 100644 --- a/docs/docs/20-usage/10-intro.md +++ b/docs/docs/20-usage/10-intro.md @@ -1,73 +1,109 @@ -# Getting started +# Your first pipeline -## Repository Activation +Let's get started and create your first pipeline. -To activate your project navigate to your account settings. You will see a list of repositories which can be activated with a simple toggle. When you activate your repository, Woodpecker automatically adds webhooks to your forge (e.g. GitHub, Gitea, ...). +## 1. Repository Activation -Webhooks are used to trigger pipeline executions. When you push code to your repository, open a pull request, or create a tag, your forge will automatically send a webhook to Woodpecker which will in turn trigger the pipeline execution. +To activate your repository in Woodpecker navigate to the repository list and `New repository`. You will see a list of repositories from your forge (GitHub, Gitlab, ...) which can be activated with a simple click. -![repository list](repo-list.png) +![new repository list](repo-new.png) -## Required Permissions +To enable a repository in Woodpecker you must have `Admin` rights on that repository, so that Woodpecker can add something +that is called a webhook (Woodpecker needs it to know about actions like pushes, pull requests, tags, etc.). -The user who enables a repo in Woodpecker must have `Admin` rights on that repo, so that Woodpecker can add the webhook. +## 2. Define first workflow -:::note -Note that manually creating webhooks yourself is not possible. -This is because webhooks are signed using a per-repository secret key which is not exposed to end users. -::: +After enabling a repository Woodpecker will listen for changes in your repository. When a change is detected, Woodpecker will check for a pipeline configuration. So let's create a file at `.woodpecker/my-first-workflow.yaml` inside your repository: -## Configuration +```yaml title=".woodpecker/my-first-workflow.yaml" +when: + - event: push + branch: main -To configure your pipeline you must create a `.woodpecker.yaml` file in the root of your repository. The `.woodpecker.yaml` file is used to define your pipeline steps. - -:::note -We support most of YAML 1.2, but preserve some behavior from 1.1 for backward compatibility. -Read more at: [https://github.com/go-yaml/yaml](https://github.com/go-yaml/yaml/tree/v3) -::: - -Example pipeline configuration: - -```yaml steps: - name: build - image: golang + image: debian commands: - - go get - - go build - - go test - -services: - - name: postgres - image: postgres:9.4.5 - environment: - - POSTGRES_USER=myapp + - echo "This is the build step" + - echo "binary-data-123" > executable + - name: a-test-step + image: golang:1.16 + commands: + - echo "Testing ..." + - ./executable ``` -Example pipeline configuration with multiple, serial steps: +**So what did we do here?** + +1. We defined your first workflow file `my-first-workflow.yaml`. +2. This workflow will be executed when a push event happens on the `main` branch, + because we added a filter using the `when` section: + + ```diff + + when: + + - event: push + + branch: main + + ... + ``` + +3. We defined two steps: `build` and `a-test-step` + +The steps are executed in the order they are defined, so `build` will be executed first and then `a-test-step`. + +In the `build` step we use the `debian` image and build a "binary file" called `executable`. + +In the `a-test-step` we use the `golang:1.16` image and run the `executable` file to test it. + +You can use any image from registries like the [Docker Hub](https://hub.docker.com/search?type=image) you have access to: + +```diff + steps: + - name: build +- image: debian ++ image: mycompany/image-with-awscli + commands: + - aws help +``` + +## 3. Push the file and trigger first pipeline + +If you push this file to your repository now, Woodpecker will already execute your first pipeline. + +You can check the pipeline execution in the Woodpecker UI by navigating to the `Pipelines` section of your repository. + +![pipeline view](./pipeline.png) + +As you probably noticed, there is another step in called `clone` which is executed before your steps. This step clones your repository into a folder called `workspace` which is available throughout all steps. + +This for example allows the first step to build your application using your source code and as the second step will receive +the same workspace it can use the previously built binary and test it. + +## 4. Use a plugin for reusable tasks + +Sometimes you have some tasks that you need to do in every project. For example, deploying to Kubernetes or sending a Slack message. Therefore you can use one of the [official and community plugins](/plugins) or simply [create your own](./51-plugins/20-creating-plugins.md). + +If you want to get a Slack notification after your pipeline has finished, you can add a Slack plugin to your pipeline: ```yaml -steps: - - name: backend - image: golang - commands: - - go get - - go build - - go test - - - name: frontend - image: node:6 - commands: - - npm install - - npm test - - - name: notify - image: plugins/slack - settings: - channel: developers - username: woodpecker +--- +- name: notify me on Slack + image: plugins/slack + settings: + channel: developers + username: woodpecker + password: + from_secret: slack_token + when: + status: [success, failure] # This will execute the step on success and failure ``` -## Execution +To configure a plugin you can use the `settings` section. -To trigger your first pipeline execution you can push code to your repository, open a pull request, or push a tag. Any of these events triggers a webhook from your forge and execute your pipeline. +Sometime you need to provide secrets to the plugin. You can do this by using the `from_secret` key. The secret must be defined in the Woodpecker UI. You can find more information about secrets [here](./40-secrets.md). + +Similar to the `when` section at the top of the file which is for the complete workflow, you can use the `when` section for each step to define when a step should be executed. + +Learn more about [plugins](./51-plugins/51-overview.md). + +As you now have a basic understanding of how to create a pipeline, you can dive deeper into the [workflow syntax](./20-workflow-syntax.md) and [plugins](./51-plugins/51-overview.md). diff --git a/docs/docs/20-usage/15-terminology/index.md b/docs/docs/20-usage/15-terminology/index.md index 5e9d8e5de..f05f18207 100644 --- a/docs/docs/20-usage/15-terminology/index.md +++ b/docs/docs/20-usage/15-terminology/index.md @@ -1,13 +1,5 @@ # Terminology -## Woodpecker architecture - -![Woodpecker architecture](architecture.svg) - -## Pipeline, workflow & step - -![Relation between pipelines, workflows and steps](pipeline-workflow-step.svg) - ## Glossary - **Woodpecker CI**: The project name around Woodpecker. @@ -33,6 +25,14 @@ - **Status**: Status refers to the outcome of a step or [workflow][Workflow] after it has been executed, determined by the internal command exit code. At the end of a [workflow][Workflow], its status is sent to the [forge][Forge]. - **Service extension**: Some parts of Woodpecker internal services like secrets storage or config fetcher can be replaced through service extensions. +## Woodpecker architecture + +![Woodpecker architecture](architecture.svg) + +## Pipeline, workflow & step + +![Relation between pipelines, workflows and steps](pipeline-workflow-step.svg) + ## Pipeline events - `push`: A push event is triggered when a commit is pushed to a branch. diff --git a/docs/docs/20-usage/20-workflow-syntax.md b/docs/docs/20-usage/20-workflow-syntax.md index 7b966fc48..0478c9de4 100644 --- a/docs/docs/20-usage/20-workflow-syntax.md +++ b/docs/docs/20-usage/20-workflow-syntax.md @@ -6,6 +6,11 @@ The Workflow section defines a list of steps to build, test and deploy your code An exception to this rule are steps with a [`status: [failure]`](#status) condition, which ensures that they are executed in the case of a failed run. ::: +:::note +We support most of YAML 1.2, but preserve some behavior from 1.1 for backward compatibility. +Read more at: [https://github.com/go-yaml/yaml](https://github.com/go-yaml/yaml/tree/v3) +::: + Example steps: ```yaml diff --git a/docs/docs/20-usage/51-plugins/51-overview.md b/docs/docs/20-usage/51-plugins/51-overview.md index ab8db3df3..97df1d651 100644 --- a/docs/docs/20-usage/51-plugins/51-overview.md +++ b/docs/docs/20-usage/51-plugins/51-overview.md @@ -4,6 +4,24 @@ Plugins are pipeline steps that perform pre-defined tasks and are configured as They are automatically pulled from the default container registry the agent's have configured. +```dockerfile title="Dockerfile" +FROM laszlocloud/kubectl +COPY deploy /usr/local/deploy +ENTRYPOINT ["/usr/local/deploy"] +``` + +```bash title="deploy" +kubectl apply -f $PLUGIN_TEMPLATE +``` + +```yaml title=".woodpecker.yaml" +steps: + - name: deploy-to-k8s + image: laszlocloud/my-k8s-plugin + settings: + template: config/k8s/service.yaml +``` + Example pipeline using the Docker and Slack plugins: ```yaml diff --git a/docs/docs/20-usage/pipeline.png b/docs/docs/20-usage/pipeline.png new file mode 100644 index 0000000000000000000000000000000000000000..dd4063c9aca849b2efbc1832c599ff5839b8c0c3 GIT binary patch literal 440750 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

|jV${FKZHkE?wmJeOr#c>qv>K=Yb0uUQkgNx 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

OjzsD6AVE|W_XEOrF1dyr_ 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 literal 0 HcmV?d00001 diff --git a/docs/docs/20-usage/repo-list.png b/docs/docs/20-usage/repo-list.png deleted file mode 100644 index b47380087602395973f45c929893e066e56016ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21355 zcmaI61yGy8yY?NRxD=P*Qrrr`U4mPYmLdg8fj}v4h2jt#ibL?=l;RG>T@$1fic{Q+ zmLgyJKj%F&-^}|SW|$}YWS`xAc6avr-PfHcJsnj-JRlwb03cLXQ`QFno9v|=Cy9NDye7w54#>S_b zDT#E+o4H1HaDV#a?$J4@{(i3y8<)6o`~LCq+Sx1m;dK1){&8`6BXi>FezS9;ApG&~ z@(1sX{qEclZ>Xnd=*rzg-^s(n{dS~R3Jwv|!}ZMR06fM!)H%H6e5A<9Bi!j@Nl4wM zn|EQ`{zKBhnXeagy(z6=_V({=m2+%Yfq&@v!(&Qjns?ExbJF0{?0jc(*x2O*>|^NG z{iA>7vb$%>-=#(zGVZd)zj2@ALcBA}LPIa6zC?vYBzc7cIH`VAC5<*0qy99twLW^m zsv|?+mojyK$@U1zjO{r^47K`37ydq5zStV?{dHZtejk!r+ZZ3#uzG>c$IHu)>GmlB z7bsevokYNeRWTv8iu*Nm&xNe01k~M@3R(%<<(7yld{q$)BsM)2Z7>Xm+m? zY*I*9)3#JSvTg6rpFh7YE{V8QaV6x!W7CUMlajp?*cCZo%|Bei%6^SD4rD>~)R<2f zzHOY%6u}!a>!*Zu+?2s!d`W}k?%kZ+92ORq(ZUou?k8gt!<=&ZF>UH9`jSBswOFkuDZs$cb8j15g{`(Qy~rFu05rcqSPtnME57l&71QU5DVl06D&SHH8hmc z)H{2?{e_5NOKw4aH1u@&wWz4b)Yj41udk4XFb^M(`Q5?F+O`+(@+@L9v~9wJU?JE0 zLC#ttmp47y0Vy_V;gBll%xKfIZwbZKq<Q?vd12}-ASmuORr(WbocEUED2)2as808w4UJivL(zRDYw3} zUwmsv1qJ}g{4w0g7maY`FZ#kc7H-amT|x#t ztf!g!2t-dPeXJ4#(~&+%J#;Vx`k=#J!JD};Q0MUwfFpS@bqDrN+)6|XB4Y&sU^s+9 z>&zg4&SW@y%?1Z8H9#i60Jq;F1#1_BFs}MqI9>!WsjI{)D-4)SKmZ^tpfD_I21Shg zC{em(#$&s&8#=TF$vyMc!^xGA|&X|5B#_TEe7L4YnxOD zakz0|(xnV&#-;72Ar2t|{}N$*{d@}ibmzB|`Ebz>r_nRn+s?#y^x$*jh*Kwt1dj8p zfw!#3W*4#$NRlVXlv82ZaMGOHi+9twapM7Y|C;cN>FIG2M5(E~1fK|2)YZ<{*?E2}5mFKbKBNhv4+2^$x zjJfQknz9zE_uQpFPADJLYA^Q~N0@t!h9*ax`Otk>dggm|BB7Ap1Eo}sIHmW~z{U!wEUTy@oB%uhC$s6mPB z*M_lmvF*LyyE;OAd##)XuJ_CMW1;n86CL`2v!XW zmZhdy4X`YRzM2Hw3km^hP&@3uHy409HxbYsMe?r+tp9FmyM|}Y%|CJFoE7vcfiWoN z(&w4~4j8ga!2i?wkP6A?Wg9O%fm?P($B~RWh?82JVHSZrx z%gshD1zV>)$<-U!7@?$y{+yakO|7>T70f)bHfjweUeM?88^+#6T=Q>l5Dyh_<_|9E z_P7M*&-Zjmuk^Y8g&-lm36$FZb2U`%!?X^e;VdLfW>AA>$dDBry|( zxmK0F>Kf4yoritkBj6s#Gj0hNsnTklQ?wc3CZeUcY$6rXw z)$hqDy?=4`SroQ$hztSSpPaEPyQlTPAou13Ml9m(Q)`R!!|Xo;MKUI_OQAbx+VmX7 z3cw#KS)9ls(3WyiH*VdwW#R6lAa_6KFH24BB-)Dp@Kbw5?lnOo5b;DYj~Eyq zt^iZVnIm;TUWE5g87NLK>9&!^9Z};A1@IiYkk8B)Qi({|>Uf=R|`s845GE>Rm@`7X$t-GKxsE<@lPjp>VFQ1s!fH8U($-5t{(Ej>e|kD&yYe zoq`Eby2yGit9;}ZDK5xWEZfEGsFQ=XT~J9m-2`M8F~V6q&e5NaZTkwYE-XE)Pp(bI z@8DCCX^-b1jSUJ$vTp~gldmPW!J`xp-0ta+#+$g!gRCE=dT|-nX=$37jR!aUkU_#w zF@5^_pHYp*t$kU9s!`I%E!Pyv?p@3bK3iw}bo^rPTnUeHtVFefv9#JZ#W8z?`MSvC z+Lq`!YMRq{sQ4nrSl*EL0zbAYLrluZoRur}_&upx`^orQ%|d+}Ad~UZm&rQ__K9{< zLTj2q0t;YF3Dgdj2`yH6#fkhC!l|tDW@E@h_wbcdj-Fry-1RJ|&oA{bGtMPc#}oau zCG-BZQ}xUBjrdTnrdLn-y+SlCvEdSs-lDDT5gkmNpK^ial(7JuL+ zyY86cpVu$S(jrNh#Bi@t9?=$rXW$Z2EVc|#u@|r4Bi*2uUku0e&={&OccG^ZKBKrf)sMsgTjJf&yM?e7gyizhImpSC(co_!5}; zuKV+5BrZRRonpcyGW!_`#a2Q73o!|pJT(MJGZ(oQ>IQO`lKY4yQz&w=_GNK6CdB!rKsuKdZiG=yZiL`V0nFX1g&ovH$t3d zZSitHK7KE^RN*lM_bmjw`v@alQVZ3^dt~Jd2aa~=;W23Fj!HUW)fcPXN#8JZrOCz(TOUV3~j_ST6z#eurQ+8CJ8JXX!gT0N(9!F=+tvL zd=RM+A(fqJ0`k~%5(%IU&}!BakXwG%{l=uvl<^smVF;I5o$fq=T>E!}rvR{{D`c@H z^)wmo8dV~e@tmZAvy91AOajQp6S6jz-aVNGC7>E=54WDR6clvue^OvGl@B5BuuQbX ze-BCq;e1% zD}OeaLP9`!6v7)Vn~8t^$bGwSMFiex%(yo|7FARn4R!|+7B+Uzizuc1fj?xlpGyyE+f^#8U>RfuWVr3H z+F?%)A>Vy?rCG8pxlStTAx_3%jZ>a-c;~`4m36I+BVQaF@rcNanfi%6I}UF2FF8 zNc000lt=FmcVSgTJ051QU+2PBSK070=SaD73ST(1YXRyj0(5X(T?s6qRo2R&9^(fansnR^N2kJViS_msySo`q_ z{(K_uiQt$0oza~5>r1yI9F5JP<2-KF8&J<{YeeR=w7^G+Jo7f%GiPw%TMKvS9j!HRlJHb0$NsIlwT4-vBYw%O6I0gBPl55kaC+XEuefdhQ(Mf z_P^_+6HgaXpE2aIhpVW-&iS~y1WwtNM~E0<^2)1yg!=aLqM%f%XHIHodrRpeI_d}O znPMGEhCa=WmT9q<8#7{mw>gS$-I*OE=FFBBZ(3DT{Lp%+|RD>ieVhn+Z+Jl zx5U6k^D*RUzt}vU1m9{<0YYI4bR0I4M;zFuE>Hfy+{%FrJV9(VU2%JePm@Hi8 zpWoJbt+JRh%ndTZq4E51kq#-UdxIR$EGV15bh`d7^u_e=^0tv|W%vcvdDOK~^ZO2_ zFI(auTX218=TxKQz#md0y3#FfqPWFvlFAlDK0W_l@*ga;aU7zFHT?ww-MjI9r+G7y zKAupbo@O62GJc4b-SM}Z+JJ+H9qH9l8Uo!NGWOERI0ol$?iPo39A6MFrl9cb8>*TP z)xNy1t;Q<{Vi5`4*b&}%dn(&lU85&IDvMg^Qojp=3|nu@EpAq&`U|)+yifm1NcyGN zvw#GJp#@yLj!+I+3-Y^=8R|DQ?{uTlw3ET1GozysRAW^xrOO6d)0sq2HXO}@*{X_@O$%bI zBMwL<$u&k^+S3zp=bR8s7c(1jvZbsMFY1M&B?ehWC8^`QOlWEzZQQav6zm$kUwXDg9Sg3Y;L()~;h( zPFYzFFpM7o5a3i5k_Dc&7WTCYOBZB*{ae>Beqx685vr@x7Vwgj*QP#Kxlgqe6A546 z7mZPkek_C>zE`zPP&@5J<1J{>T8gufA z&RlbD^2rMw5<+W^(9-F*VC&Ncug$ndo=E8L7LU{C^?TWc1ynlm>{i=z>QY}NfU2M- z-xL!Q?P+H)9QXa7AHaQEN2glgN{Bum z+ISmzTL?rE+?GGLTArS6lp|!YRa^Kgm<*}M9Z_+iYNgRx51Ado__AL#%kUCjJR?IB zgl2WXfQjwZ#}Ih>74Im0!uWoYIG2E^Em{XN$LF4@*Qm5<#8PAGmsf(W*ib)vs0i1r zicBt8iR%3GWR`cfEbR1-;M?a^Uq(XzN0a3yRbnsO)`Svf;A@%Oyei7C4y+a(dV@;63pXtp}vr`N9Km}rx718WKeq9&@ zuuDR&9qkKLSnK&fs{LyyOE=z54V0roOkKc=^T};mQR7@(3z$e!^4vjG=L9gP7fgHB@+-J|A>YJ0NUcoaR{C!+ zRu7K`=U$Fv?c21B!M`L}ME_GAY zZcwRjaq{YM1918|SHFU{!fiil1JF{a>sEmmQ&zDA0!Xuo8Btg< z-)aDS7RO_awT$|)x|1EEM>h00MqKHx*Y6`k{RhBkH@02JMl4t%fcPnpE0lL3;Ompx z*Qd0~HT5s_l>1ePP1mbP91oxHoG=L_rq?u{5mxq3rXxnf`p5`XUY(rU3U}Ejc?6$M z#or1)1O;hmRi@}~%4;dhQ`pAE={qz)1S#^Fzax<}Gs@>YPkk+b==$ij6L8zijlN9X zqH~&=Y5)tDedV6QtnZ+{W2`PoQQs^rUIb2L*;kUm(MQX!@Y+=9w{U9XDRL~Hpl5M$ zoR0aJT4q1V?6~@w2^Vrt3G7PXoZ zYa&#IK}frROFpSz%MDVsy}UuwS(yC0$&044{@c%?G$dkph8orz%!b;aSvx-}+fSA* zGZbgONiaD+C5)3sJ(&&Nj&MA7bG)kg-O@3~_z?mbW${Yz=C766FOc}u76H55G5B1` zSHNY))m48wGM@V-+oGcz(TimNWaagNNRjtLrQ(iP+k;1l()noTpKt6GP}jRlb{)QG zc)mM9eXKNLz3_(^{e&;}U){#sNE*Xc>O=yIdOt52e`pH>Rzjj$W59zLGYS$m%lK=fgSbuLuB781Y@Oeqs0Z}fAeqqN&fYbDnCk>&c=rJS8@9s zJ`7JBBQ;spaR)|&Lvw9Fcmibe7>Q7hHAy@a)z-*Jc%|*%sgSQ4dMa2(;a8PxhU4{d zUXW-xp1*c#XCg(%_J%u(Tm9FdHJ`4NTi((duGjd$l@IR5+MYzq)x)$VPcF@JmhxhS}6>aUZhD`oc>A>oOXwqmn|$1^AUxHss)1f?0d z)Yu=5{;N**HzUjd?XH{kw zJ<;IsIq^x)4d&S{pnL-PZXnzezoTEAk9I_P#UdJD^wa&DECz7O=z|4ktR>l_?PYH& z760$f6<&yFpwCT1;E;?e)t}*fZ;0}IK6wGQuE;`6`WZ3Du(f^JL7qa( z`UEiOMKPBhEC|cuxwOBVEj}#51SkLX$UO4Oi+DF46D52rrI9Gm&E( z+OTz_W%{97TCx|a5k*)AWy=M%^zY_mI)epjG@t(TT$}Emt#7*B2WVqvGxOsC!g?CX zxZsx9H6-~~3?O-uvh;q+yQ-Plaga-YK-7DXIJ~1LT6V ztw-|-m0n{pIs(Kxdtv0-Kn(gRr@B?P=S~FT!};J>t$417j|Sr64=y7$tDpwmAN?ql zC`fXOwaP0wAEyMw>6iQn0|;@GKMi(m4@~f!PqgLIuW-*t_Ox4b#Iw%+Y91zhiyxqG z`mMkkzpBI0`K=zmhy*${sKvv<&4h@h$x4^?i>N3|hvri$uMIlIv-LtFG}x#(hTKCC zb+$*C74vRnSvY`@3&Pa(7|o++oSAnzVgk-hPv4ypl>x^cs5l zEYrY9#8`qN$ktYXD<6ojpj6X4>Q-#Ps%T23aK37U1&U}9iL8jH<=K-AUhK>_SB=DV z(ZI~NcUvq1kk|=VI=(YPKxDkISZxDUDM2v*ND-dXr$Odjeewhhp-Arcn3gp)Fe&yV zw=lQ-g$e@_$s_Bz50~%K8JaHD9=jopJ|OF*1Xxnaes10vjyP$A^s}E1aMY5h2sAmj zRxYa0-uQ>{2Y`P}GERk)P8pDa9@u*^^CcV`Y~4yZgGxL>*g4CK>gsXj-G#Ni4jBvj zI56uI*ZPrcjEP|uNQHupe4ne$3UXR~@8erEpo=o!Pu9z#I@h5KU)6ZH170h!z?H7WMSW#6H z_NgK4&$x`t=99a92^tMVUJVnzPDP-9bA@5GF@) zWNIV*J+iPMzaYZ%w(^MrYBNTwDc!0vIsRox7*_kT7xEGZaf*%b@wjC>7Qh`+pU0Jx zcjVfYd~W%NfF$B$L(#!S|88-9@Hg3(+V6%-o^B;m8&zaHS*@MiUOQVjhtQI{6G{aG zBkuQDr5Ysr-s z{XmQehYsXh0c3pQ2SuM0&rs9kMo~^6ed4?6ChQ5TM}0x6g9dLh3in1Pk$Q-h9J3=M zop6SU(kXjpVb##%Ka9n8I-3%(g&q5t!>tl9!Z2~PvAI=CBe{F*ws!hTv@F>?6jSjS zBwPZRIF9P|-BZ?TK?+lPTbE}=R^u&SbF`mFCdb%C+6ME3c(Dj+ejm9fj#vhqD!#H6 z${5Fw$sDoN)x${caaW>2DATc9>J+8xU|~SqEPv|x1!95~lmwHgXcPO|YUg7<3w<|9 z*lwjnhcLx3Cxgt;?`diBsfa4#y-DRxDJ`&GFGe zIBi@}lKori^*FFVc~~GJuzB?dXSu{Z5VRY7uH!o>bV3HhM2DRmF4q$F$`gcJEpghbl+&2a648TMbTqm2?0Qm_hWxCozR zh=O>RS2ph=nL&+ClqZe@zoxW5LTw9;JF`oJBQn0=qF)*n0iEVAXgdTbrmZfZutVRez z`o~vmS}Zg`Wbi2ZLZF#%3>MJGRV>VA4ZQ&EjV2_B6ljUc#XSRcGZdg{K!RixF;Wl! zzc4J$0<rlR&(2OC;kOBG?*#cfi^3@H)n+Y zszlb)frllPfW-HNn6ZS$QdSY8Aq*=6)h%BE+BPdl{=iw$eH)9Hed@-_2lD21As{9S zR=w-X2Kq>Dsi3MdPgWrD9xcsqYL}J~){tfSA`vMj3o=EcYy?Lj0E!q|U`S9J0&tER zDC#{vg<(N(2?ZGo&`cCD##R6GRo_u7VRAbHU{O{1{98K-`SFF$ znL}g`b5=DCT*co+h$43?9~Xl3TE2B#$tJ&v^|<1 z5}jr&gEMXL6d9u+!*-z;sPOG#GY^MlmsxV>*vq{oO|N%pa!0|d>$?5q+x7aV<7>ak zSA&9D>tVJ}@9eJV%59K>1ocsi^f(jWc!5wWV-P`KN*K5gZk1t<9fQ^IRq}>)uwCht z3ii_k5cZkoU06vUi(|prI}UQDS^Ae4eTLXzW%t>tq)3=0{t@9N)4Efc9rD-fkK`CG zoo*?Vac5SHG0<|8=qOv4+H@bjm#L8cqnK^mM1?f9u@DxR9CHmM!=b1Q;*lkF=zxU8 zTZ4u|F<4~hK8kw}$+~ml=XZ5kGIrVZ&Ya^z@yWhQ9;G`A7|kk{5+tY3`Ea`~x>#wD z#@X`i1eN}=c8Ta(=~<6Vl>%u5?9I{<@B8X|?JL4-mB;HezFRB|&dk_B_QGUH^`E{5 z&F|Q&?eYJM^3ResTnH;`X#!T7z z6OqRSG+5(-##%4xUmtvQNm$jf3x-_qPH6jJ&9VU}cxEHT(gQly-N_>dCF16#k5a+b z!{h$T-Ly=nYWu6W6QS2c+8u{4Hbu5iVgAI;e3v>tzHPx)++ox3v+*UVBpg_e8@KSQ z>pIA*?6;Zy(Rt;? zo}9TIk%a^tQp=t1Q)0_S;_2#l!jlHb3P12UEs$|qeELM}6wL;_CVWxW7m!~a0~3wG zdiuinz7Ddx28rMW7Rx;>Uwg7TOw(N#*Ryz947|^weU93$|AzHC8ay4HhrYibtV|46 z5`g$}6+%+-dF_z9S-uSxxx9Zj)m2vr#2f7$i=PNo>~P8ua?6)~@Ym&I-L^^%Goo@} z4NNls>ihw%AyNZgko!H>Rm$PV9HZXo&s!1tEweWJuaxm0NGICa9U7F`ke_|nkS(|6 zC8Zaov&bDx@=4!O6&|BP)n_CCXgRTlK#s}O4!AH+?ucH_RtX70#4uoxZ))R?x=|9g z{M_!V)dP{lj|ju|&|t{Vioa+GA5vpA-aNZh1I@&$h-Zn!XIyHx%36Ww{^nrLAO37U ziGIfN@gN8nym?EUY{wZQRLDHSB@9zU?w_F5hHWr?6JMrgCgUK9-G|vxUcTi!MJBa84FX+^@yqM%G-Y)4lGCv7x zcDi4?e)|>Amgv1uw4yw70R(yv&vtjcA4NWaxOy5NrMZK$zy=wGt?R(VB61OXi;na( zuU*B%`I{az0t048P0)?3a{;lD8|VeuU>0eL4IgkPV?K7>nHpWMLg#p`_?z1t?#zPl z$f^-X!{l4--X?B`H2*!=0#SuzL2#wyjt9SaaxZBs3$TLlDD{iZ`yDjA3LV&HtFB1> zN}t0R^&59)YEE__#pTqc#E?++d;K10<(8pS75noan0-Eh#?XyhQG@3x!^lGs)C^tq z41|*5ugo2LQ5gASM{uqLVA{NXl>^y8L`})_6iobubo`bDF17sL=HG@)*I%i(VrpJ3 z19T0VXqIL|;05I)o@Cp)E(tL$>Y(0H{J%Ga)Y}k-Pi5)X1LMPgA-nn&TG3a?aV(BJ z)$sx4nb7o`=ip|FY%{YnW$l}1_FX|Pc`6S?1O{9wWs-kx$&nDju(UVTG|)w1vX+4( z1KE{d`Mf8^Gfnx}_pj7gF^BwyyARwU0;3|rS|WXqhOMmd7m$XpUUKGr=;D2b!o08? zia3|YhS97{bZEJQF(@pc3;2-vQLBFkKPDw%4Ajbt{@>Bx)D1`78?Ool z_X&EQF^Z&E5Bn6P>UxkcXeQXW%ce!^Jx(50UqAmgAec=FWu zsYm$J+3}~J<|hBJK9(W?-iu#P8nq0r1Kz7V1WSF*G40ZtX|Bg5JpBf0j*^u^$?a?j zH%c)hOg`rQ)*u0{IitR#D?s~A0%RfuGNE*n<$nr!kNDcvn8x}?m$iQiB(BhT?dA4^ z^i?n3qfvSsd3IYuR&I~4pNy6J1%6@Gpm)E(ugM6QeO`<%jRK2T&p`5QAbFJ7D=T9B zLUsGU7l?}XY#?L!;B}$A-_!&hG zi3q?S9K!!cVdlfVkoIcWc4&_Ko;^!6`l%}`zBWOdm8ANI;0ti@w7!}tB*vhDiKzi( zgkPYpO=8HPK0}Vf1kvtSj#K-@s|I| zD3~FT2!n32I2JxE;d07ve#E6NIpku38HlE8RpT}x-xv@IO~M=~wbQT@FaUhchXY{i zPqR~St1G^6W#N`t)ef?2l=kPu*cNv)*`vIw$ZcJmKoV^VK`k16Jy6?MsY81tWQuNH zewd23BAA(1j(=7AtAzF zynND@u}U9@=;`8pTq0CPRwPB#L)ti;3eD9(aptxFg*fcMvq4E1tWB+1r$yCpg*E1M zE!9~%98ThfVHG%No6$({=y7e8KrZWH5q^36@PWpqv0yCr<38VQuY@yLj6<2k5-7RAa)t{wJAOcP{uL3{>2 ziaQ>+Q0M3ES6Wl5B42y=ziy}D%Pcd2Jb%z* zydk+DWCJ?vU0g`DIlUcI(-t|#TH8(11Lf4(133r~LUV<#KpphpymRb#iHVR{`{ewl zT|g|xiZoJL@(@5`ssmzJf?QwhP?~;2%MLf4u38pcmwld-@APHRdaWkTJSo7ssaw!5 zk7dNN+W4SX-m!I!A}*l{KpmkAhp^$11Oooi09Oo_Qq$R|ii09+z&$B>u+Gq~&={o* zP4r&f+kxxZX&})+iEE15Vc3j&PSSIu!S$J@O1-pN>!Pm`8a~yXLjt>h7R`80W?hs?>#O)Yx)a zM%HZpAwfF&{vxvMDJtOwY2*A464)SjX?-2KKqp+%XCN5N~e?fe;shu_S(i$Kp{4EpI4^TnJ@2=UMnW3!}WF_@vwG$O&CU)gQ z4(3#i?{f`p>Ow1YP$7Jkjf030&Covt;HIP>MG-h3Qcl+<(R|g7>Nd| zEf|fh97^;5SST0jIh&sZq}gxMGT8?9!T)r@NsgbEFV(*avbqxC1u6y_V?2&GehJ46 zJ0hr``j6-n{zvq$=>Bv3qZ9#oXL}O=f)*=8Fm@6osuC_$i?(d(RACU|QJWO>`g>2z zN@!~@w!yt1eF55orMwQrlI4gZxkVA<)BM#L>mw?leY*Hkb5O8#_IvCd##57@)t)pZ zReof^H9PyJ;7&?HW1>&lxPRnCO7Cn~U$gSLES~YkdG90u>NqMrDm z8azSS2CV-H~% zMMbq>oRIIzTCwj1=a50P@dp(CmB0QBCx}=Xmy?))6Z9vg6=93 zjMusDTzx4F|JE%4`j6783|91--h)!=A=J=?L7@Ql<*I$eOsp<;6~549 zn+b{m{N5|1^l7SEA*mS&>L3|1nzG0+ssxhi0hwn&*B$ulN%uqo``3ElbDl6cinx3< zDA()X(JJYFis~^cejO?pBo=D@rND^u=0gKvO~7qC{uNS+U0S-!vPJxR$(P69M_`IL z1aselCQv$sTGXtADMqEeb0aA3(9h+zYo&LLLt6p}jyRb)28u!c+i@4%! zTi0SyWrpmZ4PeLiOSlf_I`{8niFFc?=$p&t1d7{-T&l~Sgo+Arbb4U)rSM{cL;qZJ zX9ez*`e&e{NC4?Bb$^%)Ns;EXMdHYKHY&QO%BczLo7cNr3*7M`_Oc|>YQk?XWT2VW zT-nNsCx`O$F#@73lp5mi-1d0M7JJrcgc-<~KJ@(80) zz#fGH=_nM?xJB|Lu)YFu5_as=n3BX#;ZH(fs540;ITP zM>%K7Tbq?BK_;j*qHheUDwiU}&7W>;@tH_m1DJJ0y+cEK;poDw_^np)+3X9ymz02;D`lK7r^s!8)%hYPO^> z2nC$V}}(8Q9>}e+~f& zDeDLsWNbgaLj(l|z&MP5U@+bQg8u^p5uk^>8msP7!@--lMW>l+{W#3oCf2HO9Vjh?9-CUzi zWf715`dM~oKz|ySL7UFOCcv~!XK|A!kGo`91UP2ju@mwiI`}K}FicA~Sc18nvmeQUu z`1P=`XX3fDlXV=s%m=wIv6f?0}60qjYJwr7FJ3QWM zPm?X;%Bw&9=W7eGrQQN9k6#p3bPJH0ud3=4cAg z;G%|HiWqlgsR_*0#`Tk#a?P$eG9^W_ulML$CDoVC8kqlw6VxCVBNx=!?!i_=tt zT){#M-H(zwM8BkToSZOiJ!PBU$`cKXG1-w)mDu>v{$CoqdADlj3yXvUJ}vDI#wCQ$ zsPB@)I?JR@Os3PCEKPYE@yLOOOwYKuHpr5p(FxPe<6Qm_`gtp>tB#> z%lD5GxS#&h`1k*)&*0;~dapH8qXw58f*Id-JqL8QxkCsqSbr2k_iC>Pm3bMRM zxcQ?~m(-nIE@CNT-BCY(cpu`~=$lkIrXOhj!82<6>Kl2`b?eT~45aHPM#!ZSsDQv= zfuL>KA1`Km2c8&c0XnBOdpD^dd^2XBVyT2WJhrSqMDCoP7{BZ8FcX14_oSszQ~mqy z$In30cnj~HQd_jj=E>F}CrOu^Ly4c|XD?&^%%t04Nh&Ed721*00cq-TBnzSk8yePv zZH}n#&Zg$i-1?6WJSaY(EdE4?Bnh!_1W43N0<8%6>3nF)+&VmpwL!Kwl0-zY(1X)f zFia9^W66ovRZ&u%8V-`!1-8Ei-TJap&zpJUMy3j$?1rm* z2ROa#FN7S+dCm|=sZ0wKrMWBpDNl4GjU)f^B^5?^M(%G-q%{>Q7t<^+DCue0KbKxJ z=xBiLcFZ0lVc92)^a48^cX=~W#SNDfm*6L`_c4&iiOjg7YYl|=7LJr8uQ9g2%$TF2 z&B&s8dcnm8oN=F3gA}+tf`8O&fL3rnO%;6R2mZVm-=Vs}FH0es5Szc`>=sPbs_C2Y z5if_p?Z0`Q6xSu`#6^_aHEqGJ@?$9RHm8;b#lY6+T4ersOe_Z-g@0OoN4ZEC3F536 z7PBiL(^ah)o5AmTf5we`TsGH%2VXG9G_G5Jx8B$3EH7AfY#!UA*JeN6mXz*X@uE49 zAtlU-3itbD{_0e#q>8c+@W~wYYfD}~Se3B6gBo{$X=xdmK?Mo}t|TH1XWlWFH&>HR zSVlyoRkcBSeTWIJgEaPt1#&W?hYULoKMQ%LgOE=Io0TOOPI3V?Prcv9f81qV28}-k`~ScVde5N^;@9Fz)B#Kn z9I+yG?m9}F`omrfT5^4Vi64g3_bcW3yx{W-AMPaidlwbtjW5;n!Bzc(X+2x`?i}rf3ZlR5Cg&RY@7|z zXeWevnb|}ieK<(M9B`FTc;Dz#p$u{cp0X|KP{qA?0p2_ip+=}K630OQ$eq#}CPg=S zNa8Y0kNA3Vf|{o0_HyKtgD8fy2a0^;$vQBAt|6^P8=5al3TL}OVrqW;xoxF-yeYD2a!I=(~08Mw%F{ZBlznj9D0 zI%_pAzk6Xv4_?P}%i<*}gO$#?xM6ef+KnlTt!U_<>TXOOfB*Z*w>L?|acZSK55h!u zrWWOpXcZc=J&JH*7OhB?1PgN{LO(iRBl69dCTRP6sK1+}UyXUw_l6HY3P(PjAbn={ zb$#XL>$14zJaDfddg}hsCJ&iuixjoxwtVnc&&WxmZHcQ3FCm|JWMDXaRk6_)ptl+* zYL4*(jR%HF5Tmitd*UG@Jx2RYIWK1!2y;Y7Z`@qA`b@)cQJD|8YW-?3ya%YzQ-31e zBF)N`nhxnGWG;Q^hyU>Wty(I2(6002Xwt6hM6$q>-;vgp@2w3Lzhl1RlhG1LdB07qK;ZAW*`Y82yyKE7}RzEiu@?`z`J+q zH8b+*V-yyCoQ#h_11YzEJbRIxYUtCUj<#SKSZ~qavH&da3$g~IlhHg$LQWvJHop|Z zj#-mI=@uzctvRo4=(xB>)qTgDPcLEnQ14A(JalDLFsE<_!d|GF=OH0Rti4D4!y+G# zrsVB&Z9Sf#CZ%4PHi)t$a{g{3g|5pTY|jsu9u%Lp?yR9~XT4ZH^sy@DlSOBW6b|SKl=t zl-UU&JU8Md!YA1dRA`4jy-yAv0U6ZUm zkBX;|;gIXL`K>&K7i59TPgI9tm7$yp6f~gBhL8WJa8u_!qyp##5cEq@vuD{lluan4 zqFWR(cQ!DiyaiNcRLTLB&qzW5{KK%+P}alqPndTeH=`*Whr8~hGvX46{}>Hkm;YZY z=NZ&g(=Tu$(xgZiQ4kcV(hm@tv_L?bbOfZAJoI9yB2|zQx`L7NBp^jXkrsM4h}6(T zn)D(?M3j#2;kh&KhdcMab3fb<=fj@eo!PTHvwQaU|Ls1*FDlcm%cuCoQBUu+(DGm) z$KW3jNGZS%0{H|;9kdYPAT;@RhWXCT9*HGp_IbOxH&3(!$_t0vKMWqV04#9G>9n>g znO#d@K!-F((=^&oDZ6UmtkR=SSazMP%V1X09$n{!3e=oeebmqg3?6sd zzdY^9tOj&>*i+&94vDpGNMlyif|e3kr`HQtID|jEUHaYmq6(9){SRO->8lZTAwUEz z@1$3iXtC-@bf@S^x#HzMGJ&dt^fAG zwr36wQvROLp-1f@P{zQd`IbTCe6P#{knv$SfP2HL!KSi9RE>tx5_O)hr3g3T+VxUyAiM`5$qZu{1r zaooZ?D__I|tWa2DGZ`w-%x_3KH0d_6M!#Juwj~X*FIoLnrYlV?10z4N`mDB?K#FLn zwKOKu*TS5L^+lXF^~rQ`zh?T~LkYf-LCyJ-Dq^Q`4)^>Z9ybHMxE2jX9+Anb4tKe;QAt4(x1ijUKbm zX_62}RPR1dwiAD7=SoxDKo)t|k&(XvzcxMFhP$6uF3C~nw&V_7GS+8ywLt@#M1^Y6 zc#D|7OX;S}NZShiayK_TUG*)tp*hXmOfs^VTM&rK6uV|1^h~Gt2Ha4EUN=*1>rVJZ z$AFAzm2(@v=63El#f^qMc=L+ReK#^#Z*f*Rce92g&wHi$FHMtnEH%=8G5@jfEq6%e z3pRvjr=r6M9lJl><>eoBDW4;tp6WgotVsf}pG2AjTX_S3D>o96O$r?~ig^g2@4viq zkGG$~rCcnsSU}J#N3J{`%di^Tl3(P`g?2uLU!}To#LMR-l@QY)w+6}tUV=B%1<`R( zQ=pi>1RIe@mX9@4|3zYoL)2?)$Nc2&Xr3BEMLV=L&7&I|8#l{RBk@UWD!|~7IIk&? zjm0wb`>Gq=V~3oddupk7%@&u+<5)Eq{fr0cYYBre$&4&XRXt`iASJ^@3E3F}Wm-$$ zkhJY13|1+kQ@<**Qv{MZ{%`{K9Yy`~jO)bkw8d|#3x&NW<9qeG=9^?q;VH_1nm6Zr z_|oZkKGpo{x2&nVGWN{a)C`k4c+>!QWU-V#5Bp)*T#NwM0U{Wc;^k{-T8o$x4b)9J zKUN_um!u0pTWrvBD)J$MXCdD%gIqxW%S6xsTGT9WyR(Fe?IYGL&wOCqh0%<~@2tQh zs0~1V>N+t7kR$tLp5rbpJ!56p=F!w0%GZhfYPP#&n>68WE4h$r0}c9GHBg0omTyH2 zWK4kfur_ZRBws0NjZ^8z+h{!+H{!bo=(Q`(>uDa{M41IAk#i;mh207U8gQXj77?kT z%t}u|~j6`eyH?&w_I=+wRvGGNQ&_CKyZQ#4F8(fNu z0cZ6lIxyqZ@gjimB0?)u8v%5dWh6XHkcb_|JSHn!NRkOy(R9mY?L7Ory_|kWW^DvNoIYlp#M5t}Ikj zr|F^1Z8BY`izq(CQE}Ixyu=Ndq)Znbhy^|?s#_AhkeoOxB zT)Sg`HmBE{r6`pOzgRx93>?WLj}e#7zyG!Jx%y8x;>R!%bb=C8^MiW8E*@`i{Hzb= zCEt!9(9t*`GG5IoIJbQaPuP3MfI_yrN4VRY$K<@eax3Sm%j9t#IyMSF~xVLB5SZk$Q>N;1`0i{?X#)ocuh&LEWoxHCQ zEcaPtWaFU#gQB+;dB4i{{n~f3Q0AWcxLeZ@Z`)AB32_ljWH~xGtDs7E2x==K82$4iOlr z^`|J4t}XeHEbF-XQr4S4hcrqg+_gb^ULRdF!t3!hEevdgVOZm7*@+>mF2IrLrGy_F zDM5anIgM#{p=d;4tO6G$+uotmZF4#zSZ`N}h?(Hr^RpR$q^<+2n69#T-p#Ttk!Yjd zb`st-78}Jlav`#&k-htCc)9{>sbN01-;Jb3B|O$vnM%+x0f!bi79%|SzQgt_*^C5n z?1ddkM=LbGP(C0rDN2K~zu+D>Jh_-@^nw!%#%sIoPHKJ2>4Qm5trTHOMbK=maoyw* z58pW(AM$YCusC>aui$G>lT;f#cUKq48HF(sW*9e?n~`kovU5?gt3~jdM}3Ky&i=!Zv6l#olf|-=Poat(-22qDL6?kj1}on* z3NGZjCyj)-5R#NghmkIRJ-ht*4ICIY7UVU&Tu;CefXVLQV49v*L-Vbx{@4kBV!%s` z7WrsMN{EOI*svtdTe=c9u^1WoCh}kQLQ$V6RKGl3do;==mYC|3)CBR~Du^Q_2;3c^ zQkHA-kswA5g}7?>XF1WlYWyW(9c}0PDU0o*#VlHX-_JGxIxy-q^1zO1m_E8#h{!K2 zFdf@8KIlGJ@fspp`-ny0oeSS%GQoDw%|KmC!fZY-OEO1=dRtI#<{Z=lHccGU6fVXM zIezOlD9oBOeYI8m@~74a-0S!TvDvi)g^+&?I420A=TmyezISq>N}wkVzw@GRCE3yF zd@M+-LZ}tpA-SEC!Q?>Pcs!TePJ_P8JmXbXI3^QKNv*R@VFJ_!z9@ctQ^%MYC5ij+ zfp1J;s;-fdHo7ivT{qxB|99c9cxUGesBZaBz8#hTfcR(qc4gX zu?d--KyFUtxNaM@)DoX#sai4d$*MdC#Njh$mH}TP|KUldqul)@D5*ZE3_XLg(mFVL zhgW+{*A0wM%5t-(>gB&)648mWP&bn5%hD9(kEXX%1%gla;$vbAFPo_DTiAfJ*Vgq{ z)eVX{RU?&Wv5M%p3Ptudi!&`Rq3r?VBaC(>Jn8{^UGYjDvSjo&?|6n_u!$-+2BGl- zYLU!qzDex<%iF0gx`q>M4haLl@TcXs+N5jgJPlB>#0cV_=xQoF$TawnR1~YsD{LOp zeTP*=zjs+Ln$f&Y+;4gaKxzYKP6^3fl4*vaalB$I$W0;E4>%)!@g~zeWT$6<_yKZ) zs?0CAs~~_usL4D?tt7!YXZMq0U@Em!_8qxPs=yejP3e%F@Ph7R=}kut^FTa?S<2F) zXg8aW>Bo2Vd?4_X<&{Z^8z1ze6w!X|Vua_p7ib|H7pGBR#N!uiwBYzeJg!>rXF%?( zOdsN^QJE!IXEXx#v>R64_L>1X5hw9>muKY)%`m|}^a3n!1cK4FV}A}^V;gu>f`hfy z2Tt9FWqD=G{SU%`$#-E+Me+--FxbSo+LDyt#f`cb(iZdd%zKVZ zxy3og?()>>Jp?XI)a3jskrLgKpk;;nOh?o8)Tz`%fvz2UWQI*GPkxQ{i;VygLG=gN z*&K)zoLb1v(bYxsaLxK0yDX=fX${gM@O6w`;?;`?`O6C+F8)t6-4sL%Y=ppn2szb7 zp6GwV4D#Sc{3R&*gXa=Jd*Qz)#^;9}@6A6*C01e=w#cmh%0rkFQ@>vl*>`?|TMzVY z;;Yx&dWv;WAL_m84T?9_m*&mDu!j%^A_&S0;MoE2Bm^iH{11u4I-^*CghY(K`?QHO z?7p{_5cVFCL=g*l1*!-{5^YdRK!o3A{~Hd<44~4$ZW{;c4YZXo()}0Y=2%EDjP(Dr c`1~wn@lQUXAF)^=$w5 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

%x5LFw+t)v_z8a%4= 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,B2>c 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 u6 zt&y9{;ayGQox%)XEHX5$S*jmX^wan_C#>=vUp->eI!IblT=y%xd(cCltGTMIXVCjz zcO^gWRj?VEx>u%|0ni+`4XB3?hkym?#dCG3%5Cwr=Vta%;4eDETu~0j$=pg#F|WKY zuAEh60y-6Yok_fky=Ra1G>TkYjBKL6>r@13olEc$yA%kdSauc)BYNSEpXPIa)*K7H zcdybHU^-ldS|c^^ItVa`>+Ep3S3>1gl_HwO}iVu6(Of#j?K*M7ZrIdc3Zw z0KCZG?+(ev%QOGE_8hl!6B$ATsiG?XUY_@TMXb#4Tt$Z(sl|i~5 z3KmykVc7?)Ah}9$>C;LIWX=U?mq-Rc1NHecVL*0SY5zt zx9Y+z!6B!i($6%Cw|$at2;<}7#aR2Sgdh2khZAIV#!}oN_Uu0hyvd#!BOQ|$Yk!SF zQzD-0r6ytj5Ll3!1s79Y%T(v83L%;>B@@O-Q22~5BNf!3^~ssh+z=7M8`k7T(7eDE zv^hR0--;0#&`nTPL(wA&IRUL$;*iyMB+kS|P*z=goPG(4+5*p1fd}(#xbarkJ4{D^QT49T1AUo7oKZX(EKe9w{=IQYj zQDj%jJi*Jkc#}uNdk7O?W;}2#Fg!vQbJwwWB}c_*JeNq})P30JNg%YcBpNy4-OzDE zaCuzi^|j!mXOfT3sv;}aVq1zkKBzLsUw3C!I6<3T9#?IP=5#bd8MN)g=S#44r!Bzo zdUa~=FI?1REX)2QMnvt1KJG6U7KY@o!m$UFHj}H*8O@Epq#(=bF~w}h&kZf54(w&-Z{Vxl%cwUM?R1AK~dpOc4?DMPq9!3q3o7Y{u|a0#1f zauZHmg*wm^;5nBBqov+vE1he7izZ8ZZpj4nAT_g9nVd@&6EKZ(@zV=)VI#BcVJKxB zq)jlkDhnvad0~rIMfLE0Fkk#G`rzD8Q4U)bOI%w6ed}uZ*5hzroHb2NaKip{5qMU! zQ07Rf+*09ykhXP$;VZjfJDTc$qxoDB2dh)INxLgr3%V$-L&*ok}#J@Y?D

FqVc)D&yhnVVS&(GY(*^_ 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

&ri)eZ< z30i9Y_RyCzgLUS7C3x&_Z}A^P|L-yKpSk+?82O)V2R7-y$H?zC;Qtqnk-E=qYBQK1 zt70*wo`;&M`;#gI~VNm*{KWA6LW^}91hyWB-MPrI5K z@FOrtp2pH%dGSvUoXZ<;>X0ON99BMQv_$iyox#rBXuo}*9-P6yx0TOFE0};26mt#&$LTNm-ffv2*(ew?0EkaK7AK`XV_W6R2ED_&b@Cjl9bJKBQYXz&wR~ zVq=wnj3y6wLu<`Lcrlbp{!V~9m3rRA#PXkf0YBwi0~P$-xy~qA!1DC9oAy2;zl@vonk*_UZE9PYmFJVzE1(BINNn4$sbk6RMhn zJO6@J1BlO2W&IID&_x*5R$70;#qJ)<0WUuwA86`rzkN!7P~ z>69c&8E;lQytx1o)cvpPsD?LM?IGW(`+=5Nw8nwm-dko#ux^nRiSVa7u;0rH} z$9@+j)4gN21A7TjkPXUOsA&3o8I-cbw_gzuXz#o}`vh__e>x_A@e@E>Q-+INy?%@N z-MhV+-K0vB(w1;+38;3Up7GsR`Bn;?j&WT*6G+zX(`9HC+KksQxIS8!baRUxtv&e# z;>rA-S@`4SRgv2YQzGGvw;zPlNK^az(ox+r-aNy@eC|7U<3<(a+2o(P`}a5c-FJCv z0{=*!g(c!2czFMNbAA@E`nD|V&j0R?e}9>B9r$v6ZEZ7u|Iyz~O&5qfb`FW}Vg2s^ z|Ms#j3rZhsZ?gR$=l$Ey|MvydZ9#5yE%uxL{?|YJX#=9=60EM0`3v0XUqAi7uk(MG z+8<`>-`Dwf_VnM~`G-aGzuWfT-TA-s@y8wa|Hs4js`72nyjbpakT;4`O*1)Z;Ba#6 zcSb<)+&?gn8+yJXuLvZIp8g`4%oqop@5s8ymLnp+I4FnkTTbf}TdG5%Gm_EdmcOker>$6FAmqm zi{DiRCT;@rlWaf#9=I+Kp5Z|0c08i|<|IJP6AJ`~|KnMmhf@zy{8{~A;$*P$(gH1f zH)Q(KW!QT4E9EN+jI__5-lnIer>CW$P>J8x6<$|N_oLAHj7vfBELHt+!Q*S`d(Y*r z-lp6*5#nBNlr2g~lI6NLbcA-iUsK>}vUW5&B(UCjxci-f|F=&%bzVeNv}GU90HQa0 zRdwAM3$edBH>Jxpj{~KUnt%~La30jl#osDpU5y{4OWp<`nN$4p{pF#GYVitB)D@mko* zkelbT)$6ZL{e$e&4PSOsmgd3;P$_x$0(VCAJKbyDCCL4l{K<)a_R*s*DfLgrbQ(FK zGwosc|7`e7mmM&Pi5Gb8x;xB<0&vI(EawL!XPpOl(ddN2vtVxYJ$zrjWN={H26S@~ z(yyW0# zpm_T90sQJ<<;lzPJ)J6vkII}j*x!Y=LO%dExbrgfI=jx)Q!qKDsU8R1xFtfv=z`@C79X&hD;X=0d+M`F zN1$Zz^fC~FtJ1Ez#;ig=cI)z%ari&EHI*Fz00LOXOK4R&7||3g=^@&zz)2Je);0F# z61yvijbe=y6RKoyP?%k~R@pR)FWVu&t8 z+vxwDK|IFQLjH;c_;HN=UmnoEgZN*6@88$)t3&tiO#C|&KTe1Lx&i;LiT{tSi83s; ze6d!5A*ZDE3O$n{9dHded;h20WHuyi3D4SnbXD4w>yg4nYm0TI-fvbSMjVVfUm zEN1~AW^=SJMEXThSw@YdI;p*~a%9!XS0a-2lLwJwcRP9u?wUbjx&H=1A z@%~MEPRmi6SsRupqma;U_PJxi=ER`4LE#-Qf8VPTs)1k;qC$ppQ^y2Tr0yUaC zyHE;z5E2%s?)U3~rmO{c4)Ip?2{nFztSYwqUFqcM3P~h9$`*6OrvFq!!`*aqMBbd; zkw?`XPPkg7MnLJR{UiC5sCQ}O;Q*Q~UB;~∾e~X;U3UaFn)PS`-?^CSe&{)Y6Yb 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 z�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, add the root path to [`WOODPECKER_HOST`](../10-server-config.md#woodpecker_host). - -## Third-party installation methods - -:::info -These installation methods are not officially supported. If you experience issues with them, please open issues in the specific repositories. -::: - -- [Using NixOS](./30-nixos.md) via the [NixOS module](https://search.nixos.org/options?channel=unstable&size=200&sort=relevance&query=woodpecker) -- [On Alpine Edge](https://pkgs.alpinelinux.org/packages?name=woodpecker&branch=edge&repo=&arch=&maintainer=) -- [On Arch Linux](https://archlinux.org/packages/?q=woodpecker) -- [On openSUSE](https://software.opensuse.org/package/woodpecker) -- [Using YunoHost](https://apps.yunohost.org/app/woodpecker) -- [On Cloudron](https://www.cloudron.io/store/org.woodpecker_ci.cloudronapp.html) diff --git a/docs/docs/30-administration/00-getting-started.md b/docs/docs/30-administration/00-getting-started.md new file mode 100644 index 000000000..668a38792 --- /dev/null +++ b/docs/docs/30-administration/00-getting-started.md @@ -0,0 +1,59 @@ +# Gettings started + +A Woodpecker deployment consists of two parts: + +- A server which is the heart of Woodpecker and ships the web interface. +- Next to one server, you can deploy any number of agents which will run the pipelines. + +Each agent is able to process one [workflow](../20-usage/15-terminology/index.md) by default. If you have 4 agents installed and connected to the Woodpecker server, your system will process four workflows (not pipelines) in parallel. + +:::tip +You can add more agents to increase the number of parallel workflows or set the agent's `WOODPECKER_MAX_WORKFLOWS=1` environment variable to increase the number of parallel workflows per agent. +::: + +## Which version of Woodpecker should I use? + +Woodpecker is having two different kinds of releases: **stable** and **next**. + +Find more information about the different versions [here](/versions). + +## Hardware Requirements + +Below are minimal resources requirements for Woodpecker components itself: + +| Component | Memory | CPU | +| --------- | ------ | --- | +| Server | 200 MB | 1 | +| Agent | 32 MB | 1 | + +Note, that those values do not include the operating system or workload (pipelines execution) resource consumption. + +In addition you need at least some kind of database which requires additional resources depending on the selected database system. + +## Installation + +You can install Woodpecker on multiple ways. If you are not sure which one to choose, we recommend using the [docker-compose](./05-deployment-methods/10-docker-compose.md) method for the beginning: + +- Using [docker-compose](./05-deployment-methods/10-docker-compose.md) with the official [container images](./05-deployment-methods/10-docker-compose.md#docker-images) +- Using [Kubernetes](./05-deployment-methods/20-kubernetes.md) via the Woodpecker Helm chart +- Using binaries, DEBs or RPMs you can download from [latest release](https://github.com/woodpecker-ci/woodpecker/releases/latest) +- Or using a [third-party installation method](./05-deployment-methods/30-third-party.md) + +## Database + +By default Woodpecker uses a SQLite database which requires zero installation or configuration. See the [database settings](./10-database.md) page if you want to use a different database system like MySQL or PostgreSQL. + +## Forge + +What would be a CI/CD system without any code? By connecting Woodpecker to your [forge](../20-usage/15-terminology/index.md) like GitHub or Gitea you can start running pipelines on events like pushes or pull requests. Woodpecker will also use your forge for authentication and to report back the status of your pipelines. See the [forge settings](./11-forges/11-overview.md) to conntect it to Woodpecker. + +## Configuration + +Check the [server configuration](./10-server-config.md) and [agent configuration](./15-agent-config.md) pages to see if you need to adjust any additional parts and after that you should be ready to start with [your first pipeline](../20-usage/10-intro.md). + +## Agent + +The agent is the worker which executes the [workflows](../20-usage/15-terminology/index.md). +Woodpecker agents can execute work using a [backend](../20-usage/15-terminology/index.md) like [docker](./22-backends/10-docker.md) or [kubernetes](./22-backends/40-kubernetes.md). +By default if you choose to deploy an agent using [docker-compose](./05-deployment-methods/10-docker-compose.md) the agent simply use docker for the backend as well. +So nothing to worry about here. If you still prefer to adjust the agent to your needs, check the [agent configuration](./15-agent-config.md) page. diff --git a/docs/docs/30-administration/00-deployment/10-docker-compose.md b/docs/docs/30-administration/05-deployment-methods/10-docker-compose.md similarity index 94% rename from docs/docs/30-administration/00-deployment/10-docker-compose.md rename to docs/docs/30-administration/05-deployment-methods/10-docker-compose.md index a9c2bb6ab..5af7e85fc 100644 --- a/docs/docs/30-administration/00-deployment/10-docker-compose.md +++ b/docs/docs/30-administration/05-deployment-methods/10-docker-compose.md @@ -67,7 +67,7 @@ They can be configured with `*_ADDR` variables: + - WOODPECKER_SERVER_ADDR=${WOODPECKER_HTTP_ADDR} ``` -Reverse proxying can also be [configured for gRPC](../70-proxy.md#caddy). If the agents are connecting over the internet, it should also be SSL encrypted. The agent then needs to be configured to be secure: +Reverse proxying can also be [configured for gRPC](../40-advanced/10-proxy.md#caddy). If the agents are connecting over the internet, it should also be SSL encrypted. The agent then needs to be configured to be secure: ```diff title="docker-compose.yaml" version: '3' diff --git a/docs/docs/30-administration/00-deployment/20-kubernetes.md b/docs/docs/30-administration/05-deployment-methods/20-kubernetes.md similarity index 100% rename from docs/docs/30-administration/00-deployment/20-kubernetes.md rename to docs/docs/30-administration/05-deployment-methods/20-kubernetes.md diff --git a/docs/docs/30-administration/05-deployment-methods/30-third-party.md b/docs/docs/30-administration/05-deployment-methods/30-third-party.md new file mode 100644 index 000000000..acad9c0fd --- /dev/null +++ b/docs/docs/30-administration/05-deployment-methods/30-third-party.md @@ -0,0 +1,12 @@ +# Third-party installation methods + +:::info +These installation methods are not officially supported. If you experience issues with them, please open issues in the specific repositories. +::: + +- [Using NixOS](./40-nixos.md) via the [NixOS module](https://search.nixos.org/options?channel=unstable&size=200&sort=relevance&query=woodpecker) +- [On Alpine Edge](https://pkgs.alpinelinux.org/packages?name=woodpecker&branch=edge&repo=&arch=&maintainer=) +- [On Arch Linux](https://archlinux.org/packages/?q=woodpecker) +- [On openSUSE](https://software.opensuse.org/package/woodpecker) +- [Using YunoHost](https://apps.yunohost.org/app/woodpecker) +- [On Cloudron](https://www.cloudron.io/store/org.woodpecker_ci.cloudronapp.html) diff --git a/docs/docs/30-administration/00-deployment/30-nixos.md b/docs/docs/30-administration/05-deployment-methods/40-nixos.md similarity index 100% rename from docs/docs/30-administration/00-deployment/30-nixos.md rename to docs/docs/30-administration/05-deployment-methods/40-nixos.md diff --git a/docs/docs/30-administration/05-deployment-methods/_category_.yaml b/docs/docs/30-administration/05-deployment-methods/_category_.yaml new file mode 100644 index 000000000..3907838b0 --- /dev/null +++ b/docs/docs/30-administration/05-deployment-methods/_category_.yaml @@ -0,0 +1,3 @@ +label: 'Deployment methods' +collapsible: true +collapsed: true diff --git a/docs/docs/30-administration/30-database.md b/docs/docs/30-administration/10-database.md similarity index 100% rename from docs/docs/30-administration/30-database.md rename to docs/docs/30-administration/10-database.md diff --git a/docs/docs/30-administration/10-server-config.md b/docs/docs/30-administration/10-server-config.md index 5be1feed7..1d2e15b26 100644 --- a/docs/docs/30-administration/10-server-config.md +++ b/docs/docs/30-administration/10-server-config.md @@ -517,7 +517,7 @@ Example: `WOODPECKER_LIMIT_CPU_SET=1,2` > Default: empty -Specify a configuration service endpoint, see [Configuration Extension](./100-external-configuration-api.md) +Specify a configuration service endpoint, see [Configuration Extension](./40-advanced/100-external-configuration-api.md) ### `WOODPECKER_FORGE_TIMEOUT` diff --git a/docs/docs/30-administration/70-proxy.md b/docs/docs/30-administration/40-advanced/10-proxy.md similarity index 98% rename from docs/docs/30-administration/70-proxy.md rename to docs/docs/30-administration/40-advanced/10-proxy.md index 1e253e457..607cd8bd4 100644 --- a/docs/docs/30-administration/70-proxy.md +++ b/docs/docs/30-administration/40-advanced/10-proxy.md @@ -93,7 +93,7 @@ woodpeckeragent.example.com { ``` :::note -Above configuration shows how to create reverse-proxies for web and agent communication. If your agent uses SSL do not forget to enable [`WOODPECKER_GRPC_SECURE`](./15-agent-config.md#woodpecker_grpc_secure). +Above configuration shows how to create reverse-proxies for web and agent communication. If your agent uses SSL do not forget to enable [`WOODPECKER_GRPC_SECURE`](../15-agent-config.md#woodpecker_grpc_secure). ::: ## Tunnelmole diff --git a/docs/docs/30-administration/100-external-configuration-api.md b/docs/docs/30-administration/40-advanced/100-external-configuration-api.md similarity index 100% rename from docs/docs/30-administration/100-external-configuration-api.md rename to docs/docs/30-administration/40-advanced/100-external-configuration-api.md diff --git a/docs/docs/30-administration/60-ssl.md b/docs/docs/30-administration/40-advanced/20-ssl.md similarity index 100% rename from docs/docs/30-administration/60-ssl.md rename to docs/docs/30-administration/40-advanced/20-ssl.md diff --git a/docs/docs/30-administration/80-autoscaler.md b/docs/docs/30-administration/40-advanced/30-autoscaler.md similarity index 100% rename from docs/docs/30-administration/80-autoscaler.md rename to docs/docs/30-administration/40-advanced/30-autoscaler.md diff --git a/docs/docs/30-administration/40-advanced/40-advanced.md b/docs/docs/30-administration/40-advanced/40-advanced.md new file mode 100644 index 000000000..f19d4f8e2 --- /dev/null +++ b/docs/docs/30-administration/40-advanced/40-advanced.md @@ -0,0 +1,25 @@ +# Adavanced options + +Why should we be happy with a default setup? We should not! Woodpecker offers a lot of advanced options to configure it to your needs. + +## Behind a proxy + +See the [proxy guide](./10-proxy.md) if you want to see a setup behind Apache, Nginx, Caddy or ngrok. + +In the case you need to use Woodpecker with a URL path prefix (like: ), add the root path to [`WOODPECKER_HOST`](../10-server-config.md#woodpecker_host). + +## SSL + +Woodpecker supports SSL configuration by using Let's encrypt or by using own certificates. See the [SSL guide](./20-ssl.md). + +## Metrics + +A [Prometheus endpoint](./90-prometheus.md) is exposed by Woodpecker to collect metrics. + +## Autoscaling + +The [autoscaler](./30-autoscaler.md) can be used to deploy new agents to a cloud provider based on the current workload your server is experiencing. + +## Configuration service + +Sometime the normal yaml configuration compiler isn't enough. You can use the [configuration service](./100-external-configuration-api.md) to process your configuration files by your own. diff --git a/docs/docs/30-administration/90-prometheus.md b/docs/docs/30-administration/40-advanced/90-prometheus.md similarity index 100% rename from docs/docs/30-administration/90-prometheus.md rename to docs/docs/30-administration/40-advanced/90-prometheus.md diff --git a/docs/docs/30-administration/00-deployment/_category_.yaml b/docs/docs/30-administration/40-advanced/_category_.yaml similarity index 59% rename from docs/docs/30-administration/00-deployment/_category_.yaml rename to docs/docs/30-administration/40-advanced/_category_.yaml index 728434969..e6c6ba0f7 100644 --- a/docs/docs/30-administration/00-deployment/_category_.yaml +++ b/docs/docs/30-administration/40-advanced/_category_.yaml @@ -1,6 +1,6 @@ -label: 'Deployment' +label: 'Advanced' collapsible: true collapsed: true link: type: 'doc' - id: 'overview' + id: 'advanced' diff --git a/docs/docs/91-migrations.md b/docs/docs/91-migrations.md index 841dee3d0..84a79ac5e 100644 --- a/docs/docs/91-migrations.md +++ b/docs/docs/91-migrations.md @@ -37,7 +37,7 @@ Some versions need some changes to the server configuration or the pipeline conf ## 1.0.0 -- The signature used to verify extension calls (like those used for the [config-extension](./30-administration/100-external-configuration-api.md)) done by the Woodpecker server switched from using a shared-secret HMac to an ed25519 key-pair. Read more about it at the [config-extensions](./30-administration/100-external-configuration-api.md) documentation. +- The signature used to verify extension calls (like those used for the [config-extension](./30-administration/40-advanced/100-external-configuration-api.md)) done by the Woodpecker server switched from using a shared-secret HMac to an ed25519 key-pair. Read more about it at the [config-extensions](./30-administration/40-advanced/100-external-configuration-api.md) documentation. - Refactored support for old agent filter labels and expressions. Learn how to use the new [filter](./20-usage/20-workflow-syntax.md#labels) - Renamed step environment variable `CI_SYSTEM_ARCH` to `CI_SYSTEM_PLATFORM`. Same applies for the cli exec variable. - Renamed environment variables `CI_BUILD_*` and `CI_PREV_BUILD_*` to `CI_PIPELINE_*` and `CI_PREV_PIPELINE_*`, old ones are still available but deprecated diff --git a/docs/docs/92-development/02-core-ideas.md b/docs/docs/92-development/02-core-ideas.md index 8e0d6e292..a88470f0a 100644 --- a/docs/docs/92-development/02-core-ideas.md +++ b/docs/docs/92-development/02-core-ideas.md @@ -8,7 +8,7 @@ ## Addons and extensions If you are wondering whether your contribution will be accepted to be merged in the Woodpecker core, or whether it's better to write an -[addon forge](../30-administration/11-forges/100-addon.md), [extension](../30-administration/100-external-configuration-api.md) or an +[addon forge](../30-administration/11-forges/100-addon.md), [extension](../30-administration/40-advanced/100-external-configuration-api.md) or an [external custom backend](../30-administration/22-backends/50-custom-backends.md), please check these points: - Is your change very specific to your setup and unlikely to be used by anyone else? diff --git a/docs/docs/pipeline-list.png b/docs/docs/pipeline-list.png new file mode 100644 index 0000000000000000000000000000000000000000..f501fe0e621761f0a76fe121c7e8e4f18db37114 GIT binary patch literal 213680 zcmeFZWmJ^!+6O9)bazO1cQ+^qQZo$Q-6EYsN-Kg0DBVL0-Cas|cT0E28Ta1rc|RWi z``cOT^$Ws+xu12%b^YpoBGuKDFww}+Uc7jL`R28}=8G3-B`;o}zCcBW{Y1Ass0{W6 z&P`KE_C?t+#qSp{UcGoDFQe^cbg+a88uENbIjI|GnW7=Y!=sHB7wi>hk2lwH=&2pF zI7%DpdJ=TZ_bqKmp5vZy0;Wv~@=l6()8|0tzZNLSzb@Iz8vPwCWdRb<3?b_6ao^&ohH%oj+^(s2Lizq@ZTUm`$!61JfK z&0oU?MT0{Idei;4qXUA#fR?lOF8}D6|93Fh(AfX`-9P$}-TxcV)H(c={&JK3}!}x*N5wM5<}YFKlLVw>3sg2_NyuEzpA(D znMClhtWZ1WF}M~7pLHKKWDJuR=wG&>+_rGhRzx;Tj?o@Nj;1r&lzM_yqbYkHGJ;sS zJ*GRi62gJ^!NZSp;Qwk^@uGi?YG)DUyaddG0Ek=CcYY66f!r-HhnLJ;0Og|;-~Wpb z1}oBx7Q#b1Bdhss!Oo0+k!l=bdyhea43EJ8rPi@~@$dg#SK_w-D-weUv2rZ=&`SbY zP)i3(E&~LA)oF4EUej(8ZSDDUs{O-*_@6dGmMxuwQG$jtwvf-%>VCiX`TMWD1ODck zeZxhzL2vqVSG<4JMgFJxjDA8Sb2I@6hvNQ-SgX=LvH)A30Xr=`9u zDR176K~%BDm&&LWJ*be$&jqLAT-$PSp65@oIIRrrY_8#FRQ?%? z`Oh+3(4KT70>k=?2NVNKhi(5BZv+sYexo~B1so^WJ!{V z|1n%rm&W--qHJO}iP5Xdz|G4YEQ24?N0pCZ$()od3)G9rPN3Z+CYCm03_O^5e8&#W z%|z_Ej#B@yFNx+%^h$~Y#qxT~M)L&;5ozWdTl~y7q?@V(ubh#8#%^&}@`6)-5HOae z%9z>0=MeRBbNf6TN6+6#;)17YHOU_iPAOAK1+;kP)5t=&*5N<14NT0H=SP*+p;w*+ zYDDYW0;~ZZ{}cg^)+4@6CCh1Wbwdpl3}>rjCcch(|B8#v9%G^Coa&5oNnyLy{%2ci z2(K-MC1WIf zuU{P=f8ZD3lO2#O9o=rY`c&;eajhb9f{zP&JpR~2vcWC8m5+AMM*&s}+5b>=S^GP( zye|;TTmT!7M)j!aS?eL-^7W5x6YGC`B5l6G6ESj(E`sK{iH*C8RW=!Zwg#evF(|}3 zIg<%#1HOQ&glB+p3nU7}5kVyFOhhtO6Sq*7N+uM<8p;j6-d0<9hQFc1F zJ%)#No7dZZLmDX1&rx{CrtqmI%Q#jNYB!TD(OK}2`Cd)-;|J3VrOWpLbfVZ@);SNw zl>7Uk&J}AHUwu-dL;j~o{Pls7?!tlc)`X^fw(SBraOik9y&^~IL8>`eI%!NI`ufU$ zK*54?pc{RpEocg&lOq>_WiwxG+v2E*THbHLd$80*jP6ggK0c+gE8K%S9kMXJK=Iry z4SV3bj!&K^2@{A6`dJjGn;d)uznvV*u_IcdO({`m_>LK`@_Scza*Y!kIY}!>%%`+n zIh-%{!&*S^SJ52{%*FosI<&)csOm}2qq0GY#S+MG>s~c~Zssv&xb3OOb;GR8^=saH zLd$=b5!dQ}zvn-2eZ10_F5!D}ShqrZ)QLMAQyXI0Htmz4LygbB*Ir!onI+o@JK~L& zIYSd+#B;<+)k4jcUuiPRvbR;O=Ka11DF~;AQ-iBV+u;MaV8vttgS@u7rb>Lnm6Z2(cysmIU z#*%%OMULi(@7aruSm$1sTx?y&ZTU1plIX@9#$hu?zL>qe{Yd=Om%-&mEm7^|2&ew? z%=67QDCpMqnZI(36b`rTC&5!aUCUv<*Qd(78pPKfQXVPOdU4Z+rxPkGg^qz&+unn- zl6C8z&Jq#`6Zft8Q?rnGWYdidT)i4gx_`cDNZ@5%#%sYHJm?%U&+c{53vL)ZHakgM&TGvqPa|?ugCPkH7?advbWz? z5^0%sdpzx<_L@7lOcb~Lh=t!Iew73yhhdf1vBznxhFhzOPpfg_x~s;B%lw!#ZoI4kl6gBSUY;ilqOly>w*FjqQuS`nWonPJ-~KUJq>=((4LJhfbKQ0G zy4B&MtvI-U7ZH!m^pbwf=NQW+Iu0Uct=#^F=0dwc5b$O>l0ugg%>v0?H&uD%d$s{= z3+t4dOYU_<9TTpN*ID!QOd&vkrNJpFb2&!AYUhRx?~%R~yp>UeEI=t|aFOxke%wj* z_r?lB=j$A~5LIt9fAP`@;eQE8FRm(|1VxD;ENlC%hV8@PHIN#!b9s^^uR@aK49ns(WaOwLNY z``WMa`2!y*>@3MJH-fY^wYkjErvPE%268RR=*limx2}UJcSP`#m_eUEYlO`9*Vxaj zo>imAAb-nQivB^hARsi~UJN^qAn^l3hMN%Eh|{O#czb^mSkp6cHjU6qd1KdynsOs` zVYAdSy%Bh>gc=~+P%-^D_xT?$+mi@fWEQT&;KHOgoN6k6$2U&8)wu~uj+nF=@8&&Z z=C8zbYj>^=cjv^5gKe?AiBqJ2+Q5%{zicLgON9Fs}Q=CU8EYVfwfi1UN#~x9 z;f{&^dt@MY=w8e<@(8%52oNhN`;-6O*Z9d2mDdgaFRh)@yONr8#^xu<67um9lYS9C zE+{*47k0f626+TqR(<8>=PvPB9Bd{>m1w|adVa!}y{Qq@k;5!mmiQ7DL#^pb|Agvu zb)cJ8D#!T6bf(O3w$7PaQ&W?G29Tu;si_fgaBv`a)<=b)(M)G&(<%fB@bTf3l9EPc zcehg@Xdh~!D`g6JtTO2`_VVSv?Vx`;ZPmE5yA@cnNdWhmxmN10RL!ZzX$oBTODBYjV>1dep@1*&$;LDW772 zKRQ4=Y}6LkwcrsD2mxBgey0j=zj4FCa9>ztq>uF}y{zyJY&t&1#VN|mBgRonVd?AZ z-`w0VcS2;5fQDrW33y)K-loq}a=YS7FI6#8cgGFO9brAdJ*Ure*KF?1OXuDzZ(-ka zgO*^d3SVTljOS{jJ_2kHx?>{AsF&@(2l;%`LJ+k6A(vNYdZm5$;J&wQ=ZaUxWcGBV z(Cy2tzR+Hbqxsln^58v*#_dj$7&QC8%(I+|(6$%F=wb|y5;1ZQAoX9k z(nK^0Q-`>`?3iA-okNvsqO8yfD4$9ZtZ%o|B`tgSfK_%FvA&ZL2=ub?-P+#n92vo0 zTU&E+bL%2^ZiZ7*Qu=|AzkVCK2MK(B6jJ*x42EH5w&0TE*84Iu2g7MbZBKX73x2&8 zCzSJHj_Rd^W1*tnHLd-AyhYsDOTNb`c+fA!xnw6?5cgwMTl*uO7FR_X{n^AnQVOo1} zo~=sr^MPLyeC(D9j2lAlUgL1CG@#Mo=us!*XdaGjv&0;WqH)&x(^vqj&?<2Qti;Uh zNP&dYQ={;Z+usfKMBjtyP&U>!H**O~)p0LR*1Eold2)(=*bU-pd%!bn@|Y?v=Zp>A zE7h-c=%}%yxLLR*T07tPc($)U@{#DsD{$#dk4rU4CgKq{} zL?enh#~^DXJNY5@jGEje7ENNqlgMx4QiMtv#l5h3B!D5H_CE;7e$2>n@w|@f)#|FU z!OuqRWXmcpB!2YQ6sz0onDJMR;O452;2n_q| zJQ*G|`MuB|c2K%&+4uTo3vbo%HX`herKQrEC)>tzfon#2_NVBqgU%*42~(p7sG(ceMT5 zemC@%3#D@)`#p8#ph{=*%fA)*GVd z*plBW3)fyA=cfg6C0AxLgolKyVvG$nqA&aSAkQm1Cf0)3xjMjXZRUpSK0mWoOrlT1 zUDwhJ25C1r_i71#p5Z z*?=YOXIldm_A{IqB;3-FteJA-c#(|3h>hUZc!i`XMN$x9XS!5N?t=+_!hL#LfxY|d zd4677yOyytZ9_QEuB@|;R8r)`+h6VcCf@QD7~m#`I%VUi zn)`_?t!owsC%sRh$NMM8puFCdLhdGioO0&#EV%HcJN(?onDnS1$fcI%1NDNw8&^r% z0j9NU*#0;o;=^Y2&-FkD!1sD&xX2<(QGvSPBwH1bO716;Hzw@gjf*fE6m;ud5>n2)asy)wvn@QuHwc!O zYoJCF*KhBUI20@)VIA+R(|g+JR*Gi4`%$U{Yr0j`oOTy#iJu0=L!6&b#|FgXH!?Mq z0v*VC5j8bt3mV<~(Z)}AYF2PlDB^bYG0OJ>(gjc6qj&g`zp>Qu7L~0Vl2!+9#nW41 z?M~&hQE(i<&^XHecT~SmUU>2D56Zmo14jB7I%CtHsKZ3kfV3Lst8YEuTor}{;e1c8 zhBx}U-c@WR-hiR&IYN7?M{$)aPxEwS?oT`o7iL&P2zAHm-j-1-Z1%Ny9g_hTvF5EI z@9f04XB-ZWCaR-WKL6ygL1M<`q;%6`VNrCinPzHyqh^Fv*N@0Cp0K@fN%t%MnomoN zqxNs~1hQ|^ZssfjzUB*3wR?rpZ5>jzr$l=bf>2g%ogbIgLg5~M$f}qGzsIBYf7Y1) zL42M^D^sW6V@8Yi#o3P*(1}z-%dT*>fVQOWmv@gocG>DMS-ND=UL@ za_GV_$;01#VJyO|C^Kv#dcNH@|L|jhTz!%Fd2tF>@~9*h*Uk^b8Kw%O?^mgtN{sS| zv3-eQ1s4)?yO0NZunv@N8NSTLwwiJi@xVTUkcWt4v+N+OdD0`>V$khbFx6ak^6GHa ze|z)7n<^nevJ2(q%fdm3GPl<(a><^PE>GFPnP$u)@%guia(b7829g0}EO04Kz}GxF zUMC)S%^Hk~-?=|u?Y6}IPZprp9ZwzqWWug_+=1Q@qvtF~M2Qi)~ZLvVBX+i>7bzaWLkJ*iTVI?Y! zxTLk6(mT3d17mPjgc78nQmoVE6n0_5dG$1~(qN zNoJ6qUUqISqN1W=h1p6`8CyQV$*}?vL}?qfh7)UxJcyqy(|4;Wc_QITkPI5@wfU!S)0wHK$WrFCik1puxgaWhU8Ctog{gB3lN!-3 zbjUlJpU#;1Z&R{uXhSsu?|w7+-EJkjxV!hXJza7Mi;3mD`4U)9U-VT7tPUqADM^(P z_|#y=^#?QDUHs13H8e1Yu}=3!o{PJ+c{G5{+~m6|SV1%taAHCBB*~<&-E1emx$Io_ z(V_THjr3SV^7X^bNLN30lZ-?tMg(sC{wRSP*4-)oa})1%%#i6qHk;2JR*>6yG2FU? z{P7RCHhvCS<#)7BrB{nk1W3(1ub6}$oB&+gVhkm!s)~|RBnI~P zqCH|13s2A0ke}ta#y2*}!*fqEa0p^vO(>=wY*Y6#pd@xW5-pDiIytQ*KvH`#1`CVn z$Kigt&o0jb0uhsgSaFVbojtvZ3>0Z;wFFvMQLW4!?R!#QS}t~fp)+QRf^GecI=;j4 zQIn3sM6DZqGlzg1GQ)@j*#sDyP3+8_&Wp#`fEx))>pSz%bvidB84jl^?Rx zy9QGSUwsV#;PewlNwL`EIt6JNr&x5CYs6TKuP5r1ax$l3F=`1Kp>kimj{m+-%OXX* z$)`U=Hf$D?T=12!FbSPfoVK=^VXL2rB(`xRC!eomFhE;M0cJ=#`CCea?iH->8;dP> zWC#uKAuT|XnYN|)R4fllf*qRio*3Upy}#r={=#2qXCeRxCv`_#SsxV)W-z$BHP@A5 z%6swoU{5(FJ}x-_%cs}urffB#uDVpbN0zj8)gJww!kYLmV^l2b{iVoxRo4p13O-A- z)_@)P+%oB#uJ#i^okn&DMOhe?35|!?g*)xVpBWC)^kwZ{Y;G6Om1fo+zfYDnGsCiv zL{zABuppfFpm0Z_1y?svI>dsrgFobM&6pkdNQBHUrD5hLbHYg>s0e#rhmQogx|Aen z4Ju#uC4Li*&F~M428%ePEwn4cZxUJ2(lKGz2yda8MHXQ?46)OMVKgA6ydIcg6D0lymrZ_!SVAw`q?@GpRu zCEGMU#}+qvMORgom%TeV&8r5wZ>X6iBDbXOUuCbZH8(Df_zw{X(8++PP*Xa}sy#{AnGY+cQ337^o9{)gj+UZ@mc8UOc%}yi&{41`f)>cXoFqCw zH)0s>w8nBmS$X(7kDV2Z+Qo^_XhRcQTgyCAMl=#_%X}!`ip5-C2b7fCW_)w4!74$c zl?{`q!xTZ<{iJr#ANOm3B(FmGwo`)9p3#+bF>tIhX50v!Tw z!X8v8Ityhk)zu;XZsee}R5=ztrevD^BVGFZzE=-#2@?7d-jb=kvlBt2YFRqU%tumOLh}H1Wf39ha7IjAUhdRr#40LV?k{N?7eC}KzLu6ZV>VMT9)#}Q zQ2{Ua^cp(F#Gt#&_)aef=ha)<(<*$!Y=U zV`ZoZMk>&Rh+w`v5UcN+u%$3qSm;pZuPu2+7@3@df4)}clv9Ix z^G46t^w7&$I9e*`>_h0$H*lu@lqx;g5yjK%nj*s5F=+%;U+`u8n(pC4eRgHOU~=xQ zwAa=9uGu*MH5(v<1e>4YlbW=JCNnK>V&4}~TziZpKF{><%j|{oj>Mk1*G+D?f%)My zCvPh~*7O~T7Ix>qnI9Blg2v|_)`l%!D;s=t8OY1dfYT*@kIGo6wyVL?4YfaJM z6RrzDb3-1M_uO|P>ub>W!geAzmeY9ixwjUx0h|x34`AHdyP zJj;2&to`8)TqNd5ElLzaWzHp|YLT?xt;C?+`W6ZfuTJ;pgnu|`%DG#%W1s&%@ zfu(v=chh3NSM0K~vIH_?_t(dAsIht=(CSvQaqs4@FKer-nRrHo^WA-Y8~4X;ePcOF zG>C>_FG^wmvf~R1nC5E%oQp*R@bMHP*(Bz3m6kBxhiTP(%jh8K5(NItT$ncybU9i( zh6HTVb?>-K4oR|c+Ft1lh3f2sA=@<5t@ZGaj`xN9cb=PK!as^K_R4%#Ce3-lYG8oC zloU;L$cj&(ypDIezWevEkqDp8x$6Ab{!gFp1c)eNWc8-nurW|NucuzX6a8wMCfj}hfCUMenPL!_WRjgd?Qhv5-q4&YpHi3gq&bsF;{aU!y z?t-#aY-w{>SlzW?wIr#ZXkCepS+6051Q153-VnR)jz7<-dhmPUl3Sdc7z5OJ;8sVa zohUIq-GOHyq7flSS#y!ev+|3@LH?y&Ui#j5J>U5{N$~1pm#|jil4Lq#EU4c`iWQL= z@x2e~a|vvon9Ellt?Ty-`-K{-8yML?9)UU4tWPRb8|B@p1wf?ZLeRk3Tf^=P(m zD^WrwsU|1&N@$9D!<-+HgZwd8qYF9B*DQ92y*}|dr|E|NtJ2M@@pTCYY9TD(mZ9ZK z)Ybj zPMnTCz4)UZZ3G+bZ-G72Q%YUO0(fBXk1VIcP|hin1zW@-8Q@d%^U%bsO? zeEei1UTS@{BV>27=!^11XQ%99y({hFJE8t;qM~Q>S}H6UoHOk zf)5W51RF|pv2$7E2@ixS-`l7-TT5QjGJ}R-r=`XsM6)mf)D3idR1A!6&lUd&u`&f4D+o50y#tCg+>#r~sp$nXGEBn}f>BrJ&AM1YoLD0 z#4^hZdlc-@q�HtkvDdo3$fRnqqf#@ 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
4syDWfMP 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�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

@@ -160,7 +161,7 @@ const loadedLogs = computed(() => !!log.value); const hasLogs = computed( () => // we do not have logs for skipped steps - repo?.value && pipeline.value && step.value && step.value.state !== 'skipped' && step.value.state !== 'killed', + repo?.value && pipeline.value && step.value && step.value.state !== 'skipped', ); const autoScroll = useStorage('log-auto-scroll', false); const showActions = ref(false); diff --git a/web/src/views/repo/pipeline/Pipeline.vue b/web/src/views/repo/pipeline/Pipeline.vue index f1fe10961..c7e734a3e 100644 --- a/web/src/views/repo/pipeline/Pipeline.vue +++ b/web/src/views/repo/pipeline/Pipeline.vue @@ -8,17 +8,7 @@ />
- - -
- - {{ $t('repo.pipeline.we_got_some_errors') }} - {{ selectedStep?.error }} -
-
-
- - +
@@ -86,7 +76,6 @@ import useApiClient from '~/compositions/useApiClient'; import { useAsyncAction } from '~/compositions/useAsyncAction'; import useNotifications from '~/compositions/useNotifications'; import type { Pipeline, PipelineStep, Repo, RepoPermissions } from '~/lib/api/types'; -import { findStep } from '~/utils/helpers'; const props = defineProps<{ stepId?: string | null; @@ -148,8 +137,6 @@ const selectedStepId = computed({ }, }); -const selectedStep = computed(() => findStep(pipeline.value.workflows || [], selectedStepId.value || -1)); - const { doSubmit: approvePipeline, isLoading: isApprovingPipeline } = useAsyncAction(async () => { if (!repo) { throw new Error('Unexpected: Repo is undefined'); From 1c1d082f5eb162a6624df3daf470e90e4b709852 Mon Sep 17 00:00:00 2001 From: Gianluca Boiano Date: Fri, 26 Jul 2024 10:48:59 +0000 Subject: [PATCH 062/547] Translated using Weblate (Italian) Currently translated at 100.0% (330 of 330 strings) Translation: Woodpecker CI/UI Translate-URL: http://translate.woodpecker-ci.org/projects/woodpecker-ci/ui/it/ --- web/src/assets/locales/it.json | 37 +++++++++++++++++----------------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/web/src/assets/locales/it.json b/web/src/assets/locales/it.json index f1e6d6a85..42cbaa403 100644 --- a/web/src/assets/locales/it.json +++ b/web/src/assets/locales/it.json @@ -29,7 +29,7 @@ "placeholder": "L'utente è un amministratore" }, "created": "Utente creato", - "delete_confirm": "Vuoi davvero eliminare questo utente? Ciò eliminerà anche tutti i repository di proprietà di questo utente.", + "delete_confirm": "Vuoi davvero eliminare questo utente? Ciò eliminerà anche tutte le repository di proprietà di questo utente.", "delete_user": "Elimina utente", "deleted": "Utente eliminato", "edit_user": "Modifica utente", @@ -90,24 +90,24 @@ "delete_org": "Elimina organizzazione", "deleted": "Organizzazione eliminata", "org_settings": "Impostazioni organizzazione", - "delete_confirm": "Vuoi davvero eliminare questa organizzazione? Ciò eliminerà anche tutti i repository di proprietà di questa organizzazione.", + "delete_confirm": "Vuoi davvero eliminare questa organizzazione? Ciò eliminerà anche tutte le repository di proprietà di questa organizzazione.", "view": "Mostra organizzazione", "orgs": "Organizzazioni" }, "secrets": { "warning": "Questi segreti saranno disponibili a tutti gli utenti.", - "desc": "I segreti globali possono essere passati ad ogni step della pipeline del repository, come variabili d'ambiente." + "desc": "I segreti globali possono essere passati ad ogni step della pipeline della repository, come variabili d'ambiente." }, "repos": { "settings": "Impostazioni repository", "repos": "Repository", - "desc": "Repository che sono o sono stati abilitati su questo server.", - "none": "Ancora nessun repository.", + "desc": "Repository che sono o sono state abilitate su questo server.", + "none": "Ancora nessuna repository.", "view": "Mostra repository", "disabled": "Disabilitato", "repair": { "repair": "Ripara tutti", - "success": "Repository riparati" + "success": "Repository riparate" } }, "not_allowed": "Non ti è consentito accedere alle impostazioni del server.", @@ -155,7 +155,7 @@ "enabled": "Già abilitato", "list_reloaded": "Elenco dei repository ricaricato", "reload": "Ricarica i repository", - "success": "Repository abilitato", + "success": "Repository abilitata", "disabled": "Disabilitato" }, "manual_pipeline": { @@ -171,8 +171,8 @@ "delete": "Elimina variabile" } }, - "not_allowed": "Non ti è consentito accedere a questo repository", - "open_in_forge": "Apri pagina web del repository", + "not_allowed": "Non ti è consentito accedere a questa repository", + "open_in_forge": "Apri pagina web della repository", "pipeline": { "actions": { "cancel": "Annulla", @@ -237,28 +237,29 @@ "log_title": "Registro Attività di Step", "pipelines_for_pr": "Pipeline per richiesta di modifica #{index}", "duration": "Durata pipeline", - "created": "Creata: {created}" + "created": "Creata: {created}", + "no_logs": "Nessun registro" }, "pull_requests": "Richieste di modifica", "settings": { "actions": { "actions": "Azioni", "repair": { - "success": "Repository riparato", + "success": "Repository riparata", "repair": "Ripara repository" }, "delete": { "delete": "Elimina repository", "confirm": "Tutti i dati andranno persi dopo questa azione!!!\n\nVuoi davvero procedere?", - "success": "Repository eliminato" + "success": "Repository eliminata" }, "disable": { "disable": "Disabilita repository", - "success": "Repository disabilitato" + "success": "Repository disabilitata" }, "enable": { "enable": "Abilita repository", - "success": "Repository abiltato" + "success": "Repository abiltata" } }, "crons": { @@ -303,7 +304,7 @@ "desc": "Ogni pipeline deve essere approvata prima di essere eseguita." }, "save": "Salva impostazioni", - "success": "Impostazioni del repository aggiornate", + "success": "Impostazioni della repository aggiornate", "timeout": { "minutes": "minuti", "timeout": "Scadenza" @@ -314,7 +315,7 @@ "internal": "Interno" }, "private": { - "desc": "Solo tu e gli altri proprietari del repository potete vedere questo progetto.", + "desc": "Solo tu e gli altri proprietari della repository potete vedere questo progetto.", "private": "Privato" }, "public": { @@ -344,7 +345,7 @@ "desc": "Inietta le credenziali netrc solo nei contenitori attendibili (consigliato)." } }, - "not_allowed": "Non ti è consentito accedere alle impostazioni di questo repository", + "not_allowed": "Non ti è consentito accedere alle impostazioni di questa repository", "secrets": { "name": "Nome", "value": "Valore" @@ -472,7 +473,7 @@ "settings": { "not_allowed": "Non ti è consentito accedere alle impostazioni di questa organizzazione", "secrets": { - "desc": "I segreti dell'organizzazione possono essere passati ad ogni step della pipeline del repository dell'organizzazione, come variabili d'ambiente." + "desc": "I segreti dell'organizzazione possono essere passati ad ogni step della pipeline della repository dell'organizzazione, come variabili d'ambiente." }, "registries": { "desc": "È possibile aggiungere le credenziali di registro dell'organizzazione per utilizzare immagini private per tutte le pipeline di un'organizzazione." From ef8e03396e0da0f72212ee834f77f381744d4646 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 29 Jul 2024 08:12:25 +0200 Subject: [PATCH 063/547] fix(deps): update github.com/urfave/cli/v3 digest to 127cf54 (#3989) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index f1959d52f..47362655d 100644 --- a/go.mod +++ b/go.mod @@ -56,7 +56,7 @@ require ( github.com/swaggo/gin-swagger v1.6.0 github.com/swaggo/swag v1.16.3 github.com/urfave/cli-docs/v3 v3.0.0-alpha5.0.20240714105325-1da00919bcb4 - github.com/urfave/cli/v3 v3.0.0-alpha9.0.20240711030030-937cfe918cb1 + github.com/urfave/cli/v3 v3.0.0-alpha9.0.20240717192922-127cf54fac9f github.com/xanzy/go-gitlab v0.107.0 github.com/xeipuuv/gojsonschema v1.2.0 github.com/yaronf/httpsign v0.3.1 diff --git a/go.sum b/go.sum index c226ebb9c..964957cdf 100644 --- a/go.sum +++ b/go.sum @@ -521,8 +521,8 @@ github.com/ugorji/go/codec v1.2.12 h1:9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65E github.com/ugorji/go/codec v1.2.12/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= github.com/urfave/cli-docs/v3 v3.0.0-alpha5.0.20240714105325-1da00919bcb4 h1:exFN/ZOxXslYr9t2AjrniP7wPjp/VLLAJhgazj92EBg= github.com/urfave/cli-docs/v3 v3.0.0-alpha5.0.20240714105325-1da00919bcb4/go.mod h1:AIqom6Q60U4tiqHp41i7+/AB2XHgi1WvQ7jOFlccmZ4= -github.com/urfave/cli/v3 v3.0.0-alpha9.0.20240711030030-937cfe918cb1 h1:oxO/Jem1QPy4lxbDtX8PMiFbL79dNMA6CNAfbC06rn4= -github.com/urfave/cli/v3 v3.0.0-alpha9.0.20240711030030-937cfe918cb1/go.mod h1:Z1ItyMma7t6I7zHG9OpbExhHQOSkFf/96n+mAZ9MtVI= +github.com/urfave/cli/v3 v3.0.0-alpha9.0.20240717192922-127cf54fac9f h1:yCJ90PBe7+45EQSF3qJXyAGW5rkE65lE8huv5pM0HY8= +github.com/urfave/cli/v3 v3.0.0-alpha9.0.20240717192922-127cf54fac9f/go.mod h1:Z1ItyMma7t6I7zHG9OpbExhHQOSkFf/96n+mAZ9MtVI= github.com/xanzy/go-gitlab v0.107.0 h1:P2CT9Uy9yN9lJo3FLxpMZ4xj6uWcpnigXsjvqJ6nd2Y= github.com/xanzy/go-gitlab v0.107.0/go.mod h1:wKNKh3GkYDMOsGmnfuX+ITCmDuSDWFO0G+C4AygL9RY= github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= From c8a95fa204fa3468626b867934c07947b2a06271 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 30 Jul 2024 08:24:12 +0200 Subject: [PATCH 064/547] fix(deps): update docs npm deps non-major (#3990) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com> --- docs/pnpm-lock.yaml | 344 ++++++++++++++++++++++---------------------- 1 file changed, 172 insertions(+), 172 deletions(-) diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml index ffc732879..03d63ad94 100644 --- a/docs/pnpm-lock.yaml +++ b/docs/pnpm-lock.yaml @@ -13,28 +13,28 @@ importers: dependencies: '@docusaurus/core': specifier: ^3.1.0 - version: 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + version: 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/plugin-content-blog': specifier: ^3.1.0 - version: 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + version: 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/preset-classic': specifier: ^3.1.0 - version: 3.4.0(@algolia/client-search@4.24.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)(typescript@5.5.3) + version: 3.4.0(@algolia/client-search@4.24.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)(typescript@5.5.4) '@easyops-cn/docusaurus-search-local': specifier: ^0.44.0 - version: 0.44.2(@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3))(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + version: 0.44.4(@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@mdx-js/react': specifier: ^3.0.0 version: 3.0.1(@types/react@18.3.3)(react@18.3.1) '@svgr/webpack': specifier: ^8.1.0 - version: 8.1.0(typescript@5.5.3) + version: 8.1.0(typescript@5.5.4) clsx: specifier: ^2.1.0 version: 2.1.1 esbuild-loader: specifier: ^4.1.0 - version: 4.2.0(webpack@5.92.1) + version: 4.2.2(webpack@5.92.1) file-loader: specifier: ^6.2.0 version: 6.2.0(webpack@5.92.1) @@ -49,7 +49,7 @@ importers: version: 18.3.1(react@18.3.1) redocusaurus: specifier: ^2.0.2 - version: 2.1.1(@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3))(@docusaurus/utils@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3))(core-js@3.37.1)(enzyme@3.11.0)(mobx@6.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(webpack@5.92.1) + version: 2.1.1(@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/utils@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4))(core-js@3.37.1)(enzyme@3.11.0)(mobx@6.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(webpack@5.92.1) url-loader: specifier: ^4.1.1 version: 4.1.1(file-loader@6.2.0(webpack@5.92.1))(webpack@5.92.1) @@ -65,7 +65,7 @@ importers: version: 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/node': specifier: ^20.11.30 - version: 20.14.10 + version: 20.14.12 '@types/react': specifier: ^18.2.67 version: 18.3.3 @@ -77,7 +77,7 @@ importers: version: 5.3.3 typescript: specifier: ^5.4.3 - version: 5.5.3 + version: 5.5.4 plugins/woodpecker-plugins: dependencies: @@ -92,14 +92,14 @@ importers: version: 18.3.1(react@18.3.1) yaml: specifier: ^2.4.2 - version: 2.4.5 + version: 2.5.0 devDependencies: '@docusaurus/module-type-aliases': specifier: ^3.3.2 version: 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/theme-classic': specifier: ^3.3.2 - version: 3.4.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + version: 3.4.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/types': specifier: ^3.3.2 version: 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -108,7 +108,7 @@ importers: version: 2.0.3 '@types/node': specifier: ^20.12.13 - version: 20.14.10 + version: 20.14.12 axios: specifier: ^1.7.2 version: 1.7.2 @@ -117,7 +117,7 @@ importers: version: 8.2.2 isomorphic-dompurify: specifier: ^2.11.0 - version: 2.12.0 + version: 2.14.0 marked: specifier: ^13.0.0 version: 13.0.2 @@ -126,7 +126,7 @@ importers: version: 2.6.3 typescript: specifier: ^5.4.5 - version: 5.5.3 + version: 5.5.4 packages: @@ -1039,8 +1039,8 @@ packages: '@easyops-cn/autocomplete.js@0.38.1': resolution: {integrity: sha512-drg76jS6syilOUmVNkyo1c7ZEBPcPuK+aJA7AksM5ZIIbV57DMHCywiCr+uHyv8BE5jUTU98j/H7gVrkHrWW3Q==} - '@easyops-cn/docusaurus-search-local@0.44.2': - resolution: {integrity: sha512-4tMBU54R1O6ITxkMGwOEifSHNkZLa2fb4ajGc8rd6TYZ0a8+jlu/u/5gYtw1s6sGGMRkwyG+QI6HD0bEnCRa1w==} + '@easyops-cn/docusaurus-search-local@0.44.4': + resolution: {integrity: sha512-Zgp69N9W+lkOqmwxE3aLLkveeqSJh/BwHg6TFZTfbliwEg9p9k5DH8NBWfZNpVfN7y6RFqCQ6/SU2l+4hKcXzw==} engines: {node: '>=12'} peerDependencies: '@docusaurus/theme-common': ^2 || ^3 @@ -1588,8 +1588,8 @@ packages: '@types/node@17.0.45': resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} - '@types/node@20.14.10': - resolution: {integrity: sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==} + '@types/node@20.14.12': + resolution: {integrity: sha512-r7wNXakLeSsGT0H1AU863vS2wa5wBOK4bWMjZz2wj+8nBx+m5PeIn0k8AloSLpRuiwdRQZwarZqHE4FNArPuJQ==} '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} @@ -2609,8 +2609,8 @@ packages: es6-promise@3.3.1: resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} - esbuild-loader@4.2.0: - resolution: {integrity: sha512-BhwHchuDknxIa69AqOPeZh2fIFqj2AzZKC1E3RBRvXSuyk5drsqMrwsgYZJufX41yrauLYjDM3KBmruoGl1NWQ==} + esbuild-loader@4.2.2: + resolution: {integrity: sha512-Mdq/A1L8p37hkibp8jGFwuQTDSWhDmlueAefsrCPRwNWThEOlQmIglV7Gd6GE2mO5bt7ksfxKOMwkuY7jjVTXg==} peerDependencies: webpack: ^4.40.0 || ^5.0.0 @@ -2913,8 +2913,8 @@ packages: resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} - get-tsconfig@4.7.5: - resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} + get-tsconfig@4.7.6: + resolution: {integrity: sha512-ZAqrLlu18NbDdRaHq+AKXzAmqIUPswPWKUchfytdAjiRFnCe5ojG2bstg6mRiZabkKfCoL/e98pbBELIV/YCeA==} github-slugger@1.5.0: resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} @@ -3443,8 +3443,8 @@ packages: resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} engines: {node: '>=0.10.0'} - isomorphic-dompurify@2.12.0: - resolution: {integrity: sha512-jJm6VgJ9toBLqNUHuLudn+2Q3NBBaoPbsh5SzzO2dp9Zq9+p6fEg4Ffuq9RZsofb8OnqE6FJVVq3MRDLlmBHpA==} + isomorphic-dompurify@2.14.0: + resolution: {integrity: sha512-7xyjuzBf3P/HBt0PbOpmv5LuV38TmfvidBFvgyuSWVMLwCGDITBPHWsBZ/L1a8DpcGz5PEintBeGdlrKzUqt5A==} engines: {node: '>=18'} jest-util@29.7.0: @@ -3481,8 +3481,8 @@ packages: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true - jsdom@24.1.0: - resolution: {integrity: sha512-6gpM7pRXCwIOKxX47cgOyvyQDN/Eh0f1MeKySBV2xGdKtqJBLj8P25eY3EVCWo2mglDDzozR2r2MW4T+JiNUZA==} + jsdom@24.1.1: + resolution: {integrity: sha512-5O1wWV99Jhq4DV7rCLIoZ/UIhyQeDR7wHVyZAHAshbrvZsLs+Xzz7gtwnlJTJDjleiTKh54F4dXrX70vJQTyJQ==} engines: {node: '>=18'} peerDependencies: canvas: ^2.11.2 @@ -4020,8 +4020,8 @@ packages: nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} - nwsapi@2.2.10: - resolution: {integrity: sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ==} + nwsapi@2.2.12: + resolution: {integrity: sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==} oas-kit-common@1.0.8: resolution: {integrity: sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==} @@ -5315,8 +5315,8 @@ packages: typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - typescript@5.5.3: - resolution: {integrity: sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==} + typescript@5.5.4: + resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} engines: {node: '>=14.17'} hasBin: true @@ -5639,8 +5639,8 @@ packages: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} - yaml@2.4.5: - resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==} + yaml@2.5.0: + resolution: {integrity: sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==} engines: {node: '>= 14'} hasBin: true @@ -6670,7 +6670,7 @@ snapshots: transitivePeerDependencies: - '@algolia/client-search' - '@docusaurus/core@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3)': + '@docusaurus/core@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: '@babel/core': 7.24.7 '@babel/generator': 7.24.7 @@ -6684,10 +6684,10 @@ snapshots: '@babel/traverse': 7.24.7 '@docusaurus/cssnano-preset': 3.4.0 '@docusaurus/logger': 3.4.0 - '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) + '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) autoprefixer: 10.4.19(postcss@8.4.39) babel-loader: 9.1.3(@babel/core@7.24.7)(webpack@5.92.1) babel-plugin-dynamic-import-node: 2.3.3 @@ -6718,10 +6718,10 @@ snapshots: mini-css-extract-plugin: 2.9.0(webpack@5.92.1) p-map: 4.0.0 postcss: 8.4.39 - postcss-loader: 7.3.4(postcss@8.4.39)(typescript@5.5.3)(webpack@5.92.1) + postcss-loader: 7.3.4(postcss@8.4.39)(typescript@5.5.4)(webpack@5.92.1) prompts: 2.4.2 react: 18.3.1 - react-dev-utils: 12.0.1(typescript@5.5.3)(webpack@5.92.1) + react-dev-utils: 12.0.1(typescript@5.5.4)(webpack@5.92.1) react-dom: 18.3.1(react@18.3.1) react-helmet-async: 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)' @@ -6773,11 +6773,11 @@ snapshots: chalk: 4.1.2 tslib: 2.6.3 - '@docusaurus/mdx-loader@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3)': + '@docusaurus/mdx-loader@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: '@docusaurus/logger': 3.4.0 - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) '@mdx-js/mdx': 3.0.1 '@slorber/remark-comment': 1.0.0 escape-html: 1.0.3 @@ -6828,15 +6828,15 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/plugin-content-blog@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3)': + '@docusaurus/plugin-content-blog@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/logger': 3.4.0 - '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) cheerio: 1.0.0-rc.12 feed: 4.2.2 fs-extra: 11.2.0 @@ -6867,16 +6867,16 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-content-docs@3.4.0(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3)': + '@docusaurus/plugin-content-docs@3.4.0(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/logger': 3.4.0 - '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/module-type-aliases': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) '@types/react-router-config': 5.0.11 combine-promises: 1.2.0 fs-extra: 11.2.0 @@ -6905,13 +6905,13 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-content-pages@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3)': + '@docusaurus/plugin-content-pages@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) - '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) fs-extra: 11.2.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -6935,11 +6935,11 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-debug@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3)': + '@docusaurus/plugin-debug@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) fs-extra: 11.2.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -6963,11 +6963,11 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-analytics@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3)': + '@docusaurus/plugin-google-analytics@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) tslib: 2.6.3 @@ -6989,11 +6989,11 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-gtag@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3)': + '@docusaurus/plugin-google-gtag@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) '@types/gtag.js': 0.0.12 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -7016,11 +7016,11 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-tag-manager@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3)': + '@docusaurus/plugin-google-tag-manager@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) tslib: 2.6.3 @@ -7042,14 +7042,14 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-sitemap@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3)': + '@docusaurus/plugin-sitemap@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/logger': 3.4.0 '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) fs-extra: 11.2.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -7073,20 +7073,20 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/preset-classic@3.4.0(@algolia/client-search@4.24.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)(typescript@5.5.3)': + '@docusaurus/preset-classic@3.4.0(@algolia/client-search@4.24.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) - '@docusaurus/plugin-content-blog': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) - '@docusaurus/plugin-content-docs': 3.4.0(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) - '@docusaurus/plugin-content-pages': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) - '@docusaurus/plugin-debug': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) - '@docusaurus/plugin-google-analytics': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) - '@docusaurus/plugin-google-gtag': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) - '@docusaurus/plugin-google-tag-manager': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) - '@docusaurus/plugin-sitemap': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) - '@docusaurus/theme-classic': 3.4.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) - '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) - '@docusaurus/theme-search-algolia': 3.4.0(@algolia/client-search@4.24.0)(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)(typescript@5.5.3) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-content-blog': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-content-docs': 3.4.0(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-content-pages': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-debug': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-google-analytics': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-google-gtag': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-google-tag-manager': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-sitemap': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/theme-classic': 3.4.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/theme-search-algolia': 3.4.0(@algolia/client-search@4.24.0)(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)(typescript@5.5.4) '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -7116,20 +7116,20 @@ snapshots: '@types/react': 18.3.3 react: 18.3.1 - '@docusaurus/theme-classic@3.4.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3)': + '@docusaurus/theme-classic@3.4.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) - '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/module-type-aliases': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/plugin-content-blog': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) - '@docusaurus/plugin-content-docs': 3.4.0(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) - '@docusaurus/plugin-content-pages': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) - '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/plugin-content-blog': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-content-docs': 3.4.0(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-content-pages': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/theme-translations': 3.4.0 '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) '@mdx-js/react': 3.0.1(@types/react@18.3.3)(react@18.3.1) clsx: 2.1.1 copy-text-to-clipboard: 3.2.0 @@ -7164,14 +7164,14 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3)': + '@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/module-type-aliases': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/plugin-content-blog': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) - '@docusaurus/plugin-content-docs': 3.4.0(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) - '@docusaurus/plugin-content-pages': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) + '@docusaurus/plugin-content-blog': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-content-docs': 3.4.0(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-content-pages': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@types/history': 4.7.11 '@types/react': 18.3.3 @@ -7202,16 +7202,16 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/theme-search-algolia@3.4.0(@algolia/client-search@4.24.0)(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)(typescript@5.5.3)': + '@docusaurus/theme-search-algolia@3.4.0(@algolia/client-search@4.24.0)(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)(typescript@5.5.4)': dependencies: '@docsearch/react': 3.6.0(@algolia/client-search@4.24.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0) - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/logger': 3.4.0 - '@docusaurus/plugin-content-docs': 3.4.0(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) - '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/plugin-content-docs': 3.4.0(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/theme-translations': 3.4.0 - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) algoliasearch: 4.24.0 algoliasearch-helper: 3.22.2(algoliasearch@4.24.0) clsx: 2.1.1 @@ -7277,10 +7277,10 @@ snapshots: optionalDependencies: '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3)': + '@docusaurus/utils-validation@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4)': dependencies: '@docusaurus/logger': 3.4.0 - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) fs-extra: 11.2.0 joi: 17.13.3 @@ -7296,11 +7296,11 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/utils@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3)': + '@docusaurus/utils@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4)': dependencies: '@docusaurus/logger': 3.4.0 '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@svgr/webpack': 8.1.0(typescript@5.5.3) + '@svgr/webpack': 8.1.0(typescript@5.5.4) escape-string-regexp: 4.0.0 file-loader: 6.2.0(webpack@5.92.1) fs-extra: 11.2.0 @@ -7333,14 +7333,14 @@ snapshots: cssesc: 3.0.0 immediate: 3.3.0 - '@easyops-cn/docusaurus-search-local@0.44.2(@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3))(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3)': + '@easyops-cn/docusaurus-search-local@0.44.4(@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/plugin-content-docs': 3.4.0(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) - '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/plugin-content-docs': 3.4.0(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/theme-translations': 3.4.0 - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) '@easyops-cn/autocomplete.js': 0.38.1 '@node-rs/jieba': 1.10.3 cheerio: 1.0.0-rc.12 @@ -7482,7 +7482,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.14.10 + '@types/node': 20.14.12 '@types/yargs': 17.0.32 chalk: 4.1.2 @@ -7730,12 +7730,12 @@ snapshots: '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.24.7) '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.24.7) - '@svgr/core@8.1.0(typescript@5.5.3)': + '@svgr/core@8.1.0(typescript@5.5.4)': dependencies: '@babel/core': 7.24.7 '@svgr/babel-preset': 8.1.0(@babel/core@7.24.7) camelcase: 6.3.0 - cosmiconfig: 8.3.6(typescript@5.5.3) + cosmiconfig: 8.3.6(typescript@5.5.4) snake-case: 3.0.4 transitivePeerDependencies: - supports-color @@ -7746,35 +7746,35 @@ snapshots: '@babel/types': 7.24.7 entities: 4.5.0 - '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.5.3))': + '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.5.4))': dependencies: '@babel/core': 7.24.7 '@svgr/babel-preset': 8.1.0(@babel/core@7.24.7) - '@svgr/core': 8.1.0(typescript@5.5.3) + '@svgr/core': 8.1.0(typescript@5.5.4) '@svgr/hast-util-to-babel-ast': 8.0.0 svg-parser: 2.0.4 transitivePeerDependencies: - supports-color - '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.5.3))(typescript@5.5.3)': + '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.5.4))(typescript@5.5.4)': dependencies: - '@svgr/core': 8.1.0(typescript@5.5.3) - cosmiconfig: 8.3.6(typescript@5.5.3) + '@svgr/core': 8.1.0(typescript@5.5.4) + cosmiconfig: 8.3.6(typescript@5.5.4) deepmerge: 4.3.1 svgo: 3.3.2 transitivePeerDependencies: - typescript - '@svgr/webpack@8.1.0(typescript@5.5.3)': + '@svgr/webpack@8.1.0(typescript@5.5.4)': dependencies: '@babel/core': 7.24.7 '@babel/plugin-transform-react-constant-elements': 7.24.7(@babel/core@7.24.7) '@babel/preset-env': 7.24.7(@babel/core@7.24.7) '@babel/preset-react': 7.24.7(@babel/core@7.24.7) '@babel/preset-typescript': 7.24.7(@babel/core@7.24.7) - '@svgr/core': 8.1.0(typescript@5.5.3) - '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.5.3)) - '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.5.3))(typescript@5.5.3) + '@svgr/core': 8.1.0(typescript@5.5.4) + '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.5.4)) + '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.5.4))(typescript@5.5.4) transitivePeerDependencies: - supports-color - typescript @@ -7799,20 +7799,20 @@ snapshots: '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.14.10 + '@types/node': 20.14.12 '@types/bonjour@3.5.13': dependencies: - '@types/node': 20.14.10 + '@types/node': 20.14.12 '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 4.19.5 - '@types/node': 20.14.10 + '@types/node': 20.14.12 '@types/connect@3.4.38': dependencies: - '@types/node': 20.14.10 + '@types/node': 20.14.12 '@types/debug@4.1.12': dependencies: @@ -7840,7 +7840,7 @@ snapshots: '@types/express-serve-static-core@4.19.5': dependencies: - '@types/node': 20.14.10 + '@types/node': 20.14.12 '@types/qs': 6.9.15 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -7868,7 +7868,7 @@ snapshots: '@types/http-proxy@1.17.14': dependencies: - '@types/node': 20.14.10 + '@types/node': 20.14.12 '@types/istanbul-lib-coverage@2.0.6': {} @@ -7894,11 +7894,11 @@ snapshots: '@types/node-forge@1.3.11': dependencies: - '@types/node': 20.14.10 + '@types/node': 20.14.12 '@types/node@17.0.45': {} - '@types/node@20.14.10': + '@types/node@20.14.12': dependencies: undici-types: 5.26.5 @@ -7942,12 +7942,12 @@ snapshots: '@types/sax@1.2.7': dependencies: - '@types/node': 20.14.10 + '@types/node': 20.14.12 '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.14.10 + '@types/node': 20.14.12 '@types/serve-index@1.9.4': dependencies: @@ -7956,12 +7956,12 @@ snapshots: '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 20.14.10 + '@types/node': 20.14.12 '@types/send': 0.17.4 '@types/sockjs@0.3.36': dependencies: - '@types/node': 20.14.10 + '@types/node': 20.14.12 '@types/stylis@4.2.5': {} @@ -7973,7 +7973,7 @@ snapshots: '@types/ws@8.5.10': dependencies: - '@types/node': 20.14.10 + '@types/node': 20.14.12 '@types/yargs-parser@21.0.3': {} @@ -8626,14 +8626,14 @@ snapshots: path-type: 4.0.0 yaml: 1.10.2 - cosmiconfig@8.3.6(typescript@5.5.3): + cosmiconfig@8.3.6(typescript@5.5.4): dependencies: import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 optionalDependencies: - typescript: 5.5.3 + typescript: 5.5.4 cross-spawn@7.0.3: dependencies: @@ -8901,9 +8901,9 @@ snapshots: dependencies: '@leichtgewicht/ip-codec': 2.0.5 - docusaurus-plugin-redoc@2.1.1(@docusaurus/utils@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3))(core-js@3.37.1)(enzyme@3.11.0)(mobx@6.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): + docusaurus-plugin-redoc@2.1.1(@docusaurus/utils@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4))(core-js@3.37.1)(enzyme@3.11.0)(mobx@6.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): dependencies: - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) '@redocly/openapi-core': 1.16.0 redoc: 2.1.5(core-js@3.37.1)(enzyme@3.11.0)(mobx@6.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) transitivePeerDependencies: @@ -8917,9 +8917,9 @@ snapshots: - styled-components - supports-color - docusaurus-theme-redoc@2.1.1(@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3))(core-js@3.37.1)(enzyme@3.11.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(webpack@5.92.1): + docusaurus-theme-redoc@2.1.1(@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(core-js@3.37.1)(enzyme@3.11.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(webpack@5.92.1): dependencies: - '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@redocly/openapi-core': 1.16.0 clsx: 1.2.1 lodash: 4.17.21 @@ -9129,10 +9129,10 @@ snapshots: es6-promise@3.3.1: {} - esbuild-loader@4.2.0(webpack@5.92.1): + esbuild-loader@4.2.2(webpack@5.92.1): dependencies: esbuild: 0.21.5 - get-tsconfig: 4.7.5 + get-tsconfig: 4.7.6 loader-utils: 2.0.4 webpack: 5.92.1 webpack-sources: 1.4.3 @@ -9230,7 +9230,7 @@ snapshots: eval@0.1.8: dependencies: - '@types/node': 20.14.10 + '@types/node': 20.14.12 require-like: 0.1.2 eventemitter3@4.0.7: {} @@ -9382,7 +9382,7 @@ snapshots: foreach@2.0.6: {} - fork-ts-checker-webpack-plugin@6.5.3(typescript@5.5.3)(webpack@5.92.1): + fork-ts-checker-webpack-plugin@6.5.3(typescript@5.5.4)(webpack@5.92.1): dependencies: '@babel/code-frame': 7.24.7 '@types/json-schema': 7.0.15 @@ -9397,7 +9397,7 @@ snapshots: schema-utils: 2.7.0 semver: 7.6.2 tapable: 1.1.3 - typescript: 5.5.3 + typescript: 5.5.4 webpack: 5.92.1 form-data-encoder@4.0.2: {} @@ -9484,7 +9484,7 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.2.4 - get-tsconfig@4.7.5: + get-tsconfig@4.7.6: dependencies: resolve-pkg-maps: 1.0.0 @@ -10069,11 +10069,11 @@ snapshots: isobject@3.0.1: {} - isomorphic-dompurify@2.12.0: + isomorphic-dompurify@2.14.0: dependencies: '@types/dompurify': 3.0.5 dompurify: 3.1.6 - jsdom: 24.1.0 + jsdom: 24.1.1 transitivePeerDependencies: - bufferutil - canvas @@ -10083,7 +10083,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.14.10 + '@types/node': 20.14.12 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -10091,13 +10091,13 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.14.10 + '@types/node': 20.14.12 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@29.7.0: dependencies: - '@types/node': 20.14.10 + '@types/node': 20.14.12 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -10125,7 +10125,7 @@ snapshots: dependencies: argparse: 2.0.1 - jsdom@24.1.0: + jsdom@24.1.1: dependencies: cssstyle: 4.0.1 data-urls: 5.0.0 @@ -10135,7 +10135,7 @@ snapshots: http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.5 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.10 + nwsapi: 2.2.12 parse5: 7.1.2 rrweb-cssom: 0.7.1 saxes: 6.0.0 @@ -10904,7 +10904,7 @@ snapshots: dependencies: boolbase: 1.0.0 - nwsapi@2.2.10: {} + nwsapi@2.2.12: {} oas-kit-common@1.0.8: dependencies: @@ -11182,9 +11182,9 @@ snapshots: postcss: 8.4.39 postcss-selector-parser: 6.1.0 - postcss-loader@7.3.4(postcss@8.4.39)(typescript@5.5.3)(webpack@5.92.1): + postcss-loader@7.3.4(postcss@8.4.39)(typescript@5.5.4)(webpack@5.92.1): dependencies: - cosmiconfig: 8.3.6(typescript@5.5.3) + cosmiconfig: 8.3.6(typescript@5.5.4) jiti: 1.21.6 postcss: 8.4.39 semver: 7.6.2 @@ -11459,7 +11459,7 @@ snapshots: minimist: 1.2.8 strip-json-comments: 2.0.1 - react-dev-utils@12.0.1(typescript@5.5.3)(webpack@5.92.1): + react-dev-utils@12.0.1(typescript@5.5.4)(webpack@5.92.1): dependencies: '@babel/code-frame': 7.24.7 address: 1.2.2 @@ -11470,7 +11470,7 @@ snapshots: escape-string-regexp: 4.0.0 filesize: 8.0.7 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(typescript@5.5.3)(webpack@5.92.1) + fork-ts-checker-webpack-plugin: 6.5.3(typescript@5.5.4)(webpack@5.92.1) global-modules: 2.0.0 globby: 11.1.0 gzip-size: 6.0.0 @@ -11487,7 +11487,7 @@ snapshots: text-table: 0.2.0 webpack: 5.92.1 optionalDependencies: - typescript: 5.5.3 + typescript: 5.5.4 transitivePeerDependencies: - eslint - supports-color @@ -11645,12 +11645,12 @@ snapshots: - react-native - supports-color - redocusaurus@2.1.1(@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3))(@docusaurus/utils@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3))(core-js@3.37.1)(enzyme@3.11.0)(mobx@6.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(webpack@5.92.1): + redocusaurus@2.1.1(@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/utils@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4))(core-js@3.37.1)(enzyme@3.11.0)(mobx@6.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(webpack@5.92.1): dependencies: - '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) - docusaurus-plugin-redoc: 2.1.1(@docusaurus/utils@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3))(core-js@3.37.1)(enzyme@3.11.0)(mobx@6.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - docusaurus-theme-redoc: 2.1.1(@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3))(core-js@3.37.1)(enzyme@3.11.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(webpack@5.92.1) + '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + docusaurus-plugin-redoc: 2.1.1(@docusaurus/utils@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4))(core-js@3.37.1)(enzyme@3.11.0)(mobx@6.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + docusaurus-theme-redoc: 2.1.1(@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(core-js@3.37.1)(enzyme@3.11.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(webpack@5.92.1) transitivePeerDependencies: - core-js - encoding @@ -12385,7 +12385,7 @@ snapshots: dependencies: is-typedarray: 1.0.0 - typescript@5.5.3: {} + typescript@5.5.4: {} unbox-primitive@1.0.2: dependencies: @@ -12773,7 +12773,7 @@ snapshots: yaml@1.10.2: {} - yaml@2.4.5: {} + yaml@2.5.0: {} yargs-parser@21.1.1: {} From 2d039f85cba4a7bd97a0d6ffa5231d25727773b6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 30 Jul 2024 08:46:31 +0200 Subject: [PATCH 065/547] chore(deps): lock file maintenance (#3991) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- docs/pnpm-lock.yaml | 2362 +++++++++++++++++++++---------------------- web/pnpm-lock.yaml | 1639 ++++++++++++++---------------- 2 files changed, 1920 insertions(+), 2081 deletions(-) diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml index 03d63ad94..c1297da91 100644 --- a/docs/pnpm-lock.yaml +++ b/docs/pnpm-lock.yaml @@ -13,13 +13,13 @@ importers: dependencies: '@docusaurus/core': specifier: ^3.1.0 - version: 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + version: 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/plugin-content-blog': specifier: ^3.1.0 version: 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/preset-classic': specifier: ^3.1.0 - version: 3.4.0(@algolia/client-search@4.24.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)(typescript@5.5.4) + version: 3.4.0(@algolia/client-search@4.24.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)(typescript@5.5.4) '@easyops-cn/docusaurus-search-local': specifier: ^0.44.0 version: 0.44.4(@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) @@ -34,10 +34,10 @@ importers: version: 2.1.1 esbuild-loader: specifier: ^4.1.0 - version: 4.2.2(webpack@5.92.1) + version: 4.2.2(webpack@5.93.0) file-loader: specifier: ^6.2.0 - version: 6.2.0(webpack@5.92.1) + version: 6.2.0(webpack@5.93.0) prism-react-renderer: specifier: ^2.3.1 version: 2.3.1(react@18.3.1) @@ -49,10 +49,10 @@ importers: version: 18.3.1(react@18.3.1) redocusaurus: specifier: ^2.0.2 - version: 2.1.1(@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/utils@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4))(core-js@3.37.1)(enzyme@3.11.0)(mobx@6.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(webpack@5.92.1) + version: 2.1.1(@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/utils@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4))(core-js@3.37.1)(enzyme@3.11.0)(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(webpack@5.93.0) url-loader: specifier: ^4.1.1 - version: 4.1.1(file-loader@6.2.0(webpack@5.92.1))(webpack@5.92.1) + version: 4.1.1(file-loader@6.2.0(webpack@5.93.0))(webpack@5.93.0) devDependencies: '@docusaurus/module-type-aliases': specifier: ^3.1.0 @@ -65,7 +65,7 @@ importers: version: 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/node': specifier: ^20.11.30 - version: 20.14.12 + version: 20.14.13 '@types/react': specifier: ^18.2.67 version: 18.3.3 @@ -108,7 +108,7 @@ importers: version: 2.0.3 '@types/node': specifier: ^20.12.13 - version: 20.14.12 + version: 20.14.13 axios: specifier: ^1.7.2 version: 1.7.2 @@ -120,7 +120,7 @@ importers: version: 2.14.0 marked: specifier: ^13.0.0 - version: 13.0.2 + version: 13.0.3 tslib: specifier: ^2.6.2 version: 2.6.3 @@ -206,16 +206,16 @@ packages: resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.24.7': - resolution: {integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==} + '@babel/compat-data@7.25.2': + resolution: {integrity: sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==} engines: {node: '>=6.9.0'} - '@babel/core@7.24.7': - resolution: {integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==} + '@babel/core@7.25.2': + resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} engines: {node: '>=6.9.0'} - '@babel/generator@7.24.7': - resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==} + '@babel/generator@7.25.0': + resolution: {integrity: sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==} engines: {node: '>=6.9.0'} '@babel/helper-annotate-as-pure@7.24.7': @@ -226,18 +226,18 @@ packages: resolution: {integrity: sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.24.7': - resolution: {integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==} + '@babel/helper-compilation-targets@7.25.2': + resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} engines: {node: '>=6.9.0'} - '@babel/helper-create-class-features-plugin@7.24.7': - resolution: {integrity: sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==} + '@babel/helper-create-class-features-plugin@7.25.0': + resolution: {integrity: sha512-GYM6BxeQsETc9mnct+nIIpf63SAyzvyYN7UB/IlTyd+MBg06afFGp0mIeUqGyWgS2mxad6vqbMrHVlaL3m70sQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-create-regexp-features-plugin@7.24.7': - resolution: {integrity: sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA==} + '@babel/helper-create-regexp-features-plugin@7.25.2': + resolution: {integrity: sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -247,28 +247,16 @@ packages: peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - '@babel/helper-environment-visitor@7.24.7': - resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-function-name@7.24.7': - resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-hoist-variables@7.24.7': - resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-member-expression-to-functions@7.24.7': - resolution: {integrity: sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==} + '@babel/helper-member-expression-to-functions@7.24.8': + resolution: {integrity: sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==} engines: {node: '>=6.9.0'} '@babel/helper-module-imports@7.24.7': resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.24.7': - resolution: {integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==} + '@babel/helper-module-transforms@7.25.2': + resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -277,18 +265,18 @@ packages: resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==} engines: {node: '>=6.9.0'} - '@babel/helper-plugin-utils@7.24.7': - resolution: {integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==} + '@babel/helper-plugin-utils@7.24.8': + resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==} engines: {node: '>=6.9.0'} - '@babel/helper-remap-async-to-generator@7.24.7': - resolution: {integrity: sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA==} + '@babel/helper-remap-async-to-generator@7.25.0': + resolution: {integrity: sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-replace-supers@7.24.7': - resolution: {integrity: sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==} + '@babel/helper-replace-supers@7.25.0': + resolution: {integrity: sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -301,47 +289,49 @@ packages: resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==} engines: {node: '>=6.9.0'} - '@babel/helper-split-export-declaration@7.24.7': - resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-string-parser@7.24.7': - resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==} + '@babel/helper-string-parser@7.24.8': + resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} engines: {node: '>=6.9.0'} '@babel/helper-validator-identifier@7.24.7': resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.24.7': - resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==} + '@babel/helper-validator-option@7.24.8': + resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} engines: {node: '>=6.9.0'} - '@babel/helper-wrap-function@7.24.7': - resolution: {integrity: sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw==} + '@babel/helper-wrap-function@7.25.0': + resolution: {integrity: sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.24.7': - resolution: {integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==} + '@babel/helpers@7.25.0': + resolution: {integrity: sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==} engines: {node: '>=6.9.0'} '@babel/highlight@7.24.7': resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} - '@babel/parser@7.24.7': - resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} + '@babel/parser@7.25.0': + resolution: {integrity: sha512-CzdIU9jdP0dg7HdyB+bHvDJGagUv+qtzZt5rYCWwW6tITNqV9odjp6Qu41gkG0ca5UfdDUWrKkiAnHHdGRnOrA==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.7': - resolution: {integrity: sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ==} + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.0': + resolution: {integrity: sha512-dG0aApncVQwAUJa8tP1VHTnmU67BeIQvKafd3raEx315H54FfkZSz3B/TT+33ZQAjatGJA79gZqTtqL5QZUKXw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.7': - resolution: {integrity: sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg==} + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.0': + resolution: {integrity: sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.0': + resolution: {integrity: sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -352,8 +342,8 @@ packages: peerDependencies: '@babel/core': ^7.13.0 - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.7': - resolution: {integrity: sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg==} + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.0': + resolution: {integrity: sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -478,8 +468,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-async-generator-functions@7.24.7': - resolution: {integrity: sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g==} + '@babel/plugin-transform-async-generator-functions@7.25.0': + resolution: {integrity: sha512-uaIi2FdqzjpAMvVqvB51S42oC2JEVgh0LDsGfZVDysWE8LrJtQC2jvKmOqEYThKyB7bDEb7BP1GYWDm7tABA0Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -496,8 +486,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-block-scoping@7.24.7': - resolution: {integrity: sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ==} + '@babel/plugin-transform-block-scoping@7.25.0': + resolution: {integrity: sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -514,8 +504,8 @@ packages: peerDependencies: '@babel/core': ^7.12.0 - '@babel/plugin-transform-classes@7.24.7': - resolution: {integrity: sha512-CFbbBigp8ln4FU6Bpy6g7sE8B/WmCmzvivzUC6xDAdWVsjYTXijpuuGJmYkAaoWAzcItGKT3IOAbxRItZ5HTjw==} + '@babel/plugin-transform-classes@7.25.0': + resolution: {integrity: sha512-xyi6qjr/fYU304fiRwFbekzkqVJZ6A7hOjWZd+89FVcBqPV3S9Wuozz82xdpLspckeaafntbzglaW4pqpzvtSw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -526,8 +516,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-destructuring@7.24.7': - resolution: {integrity: sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw==} + '@babel/plugin-transform-destructuring@7.24.8': + resolution: {integrity: sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -544,6 +534,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.0': + resolution: {integrity: sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/plugin-transform-dynamic-import@7.24.7': resolution: {integrity: sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==} engines: {node: '>=6.9.0'} @@ -568,8 +564,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-function-name@7.24.7': - resolution: {integrity: sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w==} + '@babel/plugin-transform-function-name@7.25.1': + resolution: {integrity: sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -580,8 +576,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-literals@7.24.7': - resolution: {integrity: sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==} + '@babel/plugin-transform-literals@7.25.2': + resolution: {integrity: sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -604,14 +600,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-commonjs@7.24.7': - resolution: {integrity: sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ==} + '@babel/plugin-transform-modules-commonjs@7.24.8': + resolution: {integrity: sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-systemjs@7.24.7': - resolution: {integrity: sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw==} + '@babel/plugin-transform-modules-systemjs@7.25.0': + resolution: {integrity: sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -664,8 +660,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-optional-chaining@7.24.7': - resolution: {integrity: sha512-tK+0N9yd4j+x/4hxF3F0e0fu/VdcxU18y5SevtyM/PCFlQvXbR0Zmlo2eBrKtVipGNFzpq56o8WsIIKcJFUCRQ==} + '@babel/plugin-transform-optional-chaining@7.24.8': + resolution: {integrity: sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -694,8 +690,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-constant-elements@7.24.7': - resolution: {integrity: sha512-7LidzZfUXyfZ8/buRW6qIIHBY8wAZ1OrY9c/wTr8YhZ6vMPo+Uc/CVFLYY1spZrEQlD4w5u8wjqk5NQ3OVqQKA==} + '@babel/plugin-transform-react-constant-elements@7.25.1': + resolution: {integrity: sha512-SLV/giH/V4SmloZ6Dt40HjTGTAIkxn33TVIHxNGNvo8ezMhrxBkzisj4op1KZYPIOHFLqhv60OHvX+YRu4xbmQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -712,8 +708,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-jsx@7.24.7': - resolution: {integrity: sha512-+Dj06GDZEFRYvclU6k4bme55GKBEWUmByM/eoKuqg4zTNQHiApWRhQph5fxQB2wAEFvRzL1tOEj1RJ19wJrhoA==} + '@babel/plugin-transform-react-jsx@7.25.2': + resolution: {integrity: sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -766,14 +762,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-typeof-symbol@7.24.7': - resolution: {integrity: sha512-VtR8hDy7YLB7+Pet9IarXjg/zgCMSF+1mNS/EQEiEaUPoFXCVsHG64SIxcaaI2zJgRiv+YmgaQESUfWAdbjzgg==} + '@babel/plugin-transform-typeof-symbol@7.24.8': + resolution: {integrity: sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-typescript@7.24.7': - resolution: {integrity: sha512-iLD3UNkgx2n/HrjBesVbYX6j0yqn/sJktvbtKKgcaLIQ4bTTQ8obAypc1VpyHPD2y4Phh9zHOaAt8e/L14wCpw==} + '@babel/plugin-transform-typescript@7.25.2': + resolution: {integrity: sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -802,8 +798,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/preset-env@7.24.7': - resolution: {integrity: sha512-1YZNsc+y6cTvWlDHidMBsQZrZfEFjRIo/BZCT906PMdzOyXtSLTgqGdrpcuTDCXyd11Am5uQULtDIcCfnTc8fQ==} + '@babel/preset-env@7.25.2': + resolution: {integrity: sha512-Y2Vkwy3ITW4id9c6KXshVV/x5yCGK7VdJmKkzOzNsDZMojRKfSA/033rRbLqlRozmhRXCejxWHLSJOg/wUHfzw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -828,24 +824,24 @@ packages: '@babel/regjsgen@0.8.0': resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} - '@babel/runtime-corejs3@7.24.7': - resolution: {integrity: sha512-eytSX6JLBY6PVAeQa2bFlDx/7Mmln/gaEpsit5a3WEvjGfiIytEsgAwuIXCPM0xvw0v0cJn3ilq0/TvXrW0kgA==} + '@babel/runtime-corejs3@7.25.0': + resolution: {integrity: sha512-BOehWE7MgQ8W8Qn0CQnMtg2tHPHPulcS/5AVpFvs2KCK1ET+0WqZqPvnpRpFN81gYoFopdIEJX9Sgjw3ZBccPg==} engines: {node: '>=6.9.0'} - '@babel/runtime@7.24.7': - resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==} + '@babel/runtime@7.25.0': + resolution: {integrity: sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==} engines: {node: '>=6.9.0'} - '@babel/template@7.24.7': - resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} + '@babel/template@7.25.0': + resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.24.7': - resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==} + '@babel/traverse@7.25.2': + resolution: {integrity: sha512-s4/r+a7xTnny2O6FcZzqgT6nE4/GHEdcqj4qAeglbUOh0TeglEfmNJFAd/OLoVtGd6ZhAO8GCVvCNUO5t/VJVQ==} engines: {node: '>=6.9.0'} - '@babel/types@7.24.7': - resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} + '@babel/types@7.25.2': + resolution: {integrity: sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==} engines: {node: '>=6.9.0'} '@cfaester/enzyme-adapter-react-18@0.8.0': @@ -863,11 +859,11 @@ packages: resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} engines: {node: '>=10.0.0'} - '@docsearch/css@3.6.0': - resolution: {integrity: sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==} + '@docsearch/css@3.6.1': + resolution: {integrity: sha512-VtVb5DS+0hRIprU2CO6ZQjK2Zg4QU5HrDM1+ix6rT0umsYvFvatMAnf97NHZlVWDaaLlx7GRfR/7FikANiM2Fg==} - '@docsearch/react@3.6.0': - resolution: {integrity: sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==} + '@docsearch/react@3.6.1': + resolution: {integrity: sha512-qXZkEPvybVhSXj0K7U3bXc233tk5e8PfhoZ6MhPOiik/qUQxYC+Dn9DnoS7CxHQQhHfCvTiN0eY9M12oRghEXw==} peerDependencies: '@types/react': '>= 16.8.0 < 19.0.0' react: '>= 16.8.0 < 19.0.0' @@ -1235,8 +1231,8 @@ packages: '@jridgewell/source-map@0.3.6': resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} - '@jridgewell/sourcemap-codec@1.4.15': - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} @@ -1373,8 +1369,8 @@ packages: '@redocly/ajv@8.11.0': resolution: {integrity: sha512-9GWx27t7xWhDIR02PA18nzBdLcKQRgc46xNQvjFkrYk4UOmvKhJ/dawwiX0cCOeetN5LcaaiqQbVOWYK62SGHw==} - '@redocly/config@0.6.2': - resolution: {integrity: sha512-c3K5u64eMnr2ootPcpEI0ioIRLE8QP8ptvLxG9MwAmb2sU8HMRfVwXDU3AZiMVY2w4Ts0mDc+Xv4HTIk8DRqFw==} + '@redocly/config@0.6.3': + resolution: {integrity: sha512-hGWJgCsXRw0Ow4rplqRlUQifZvoSwZipkYnt11e3SeH1Eb23VUIDBcRuaQOUqy1wn0eevXkU2GzzQ8fbKdQ7Mg==} '@redocly/openapi-core@1.16.0': resolution: {integrity: sha512-z06h+svyqbUcdAaePq8LPSwTPlm6Ig7j2VlL8skPBYnJvyaQ2IN7x/JkOvRL4ta+wcOCBdAex5JWnZbKaNktJg==} @@ -1399,9 +1395,9 @@ packages: resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} engines: {node: '>=10'} - '@sindresorhus/is@6.3.1': - resolution: {integrity: sha512-FX4MfcifwJyFOI2lPoX7PQxCqx8BG1HCho7WdiXwpEQx1Ycij0JxkfYtGK7yqNScrZGSlt6RE6sw8QYoH7eKnQ==} - engines: {node: '>=16'} + '@sindresorhus/is@7.0.0': + resolution: {integrity: sha512-WDTlVTyvFivSOuyvMeedzg2hdoBLZ3f1uNVuEida2Rl9BrfjrIRjWA/VZIrMRLvSwJYCAlCRA3usDt1THytxWQ==} + engines: {node: '>=18'} '@slorber/remark-comment@1.0.0': resolution: {integrity: sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==} @@ -1522,8 +1518,8 @@ packages: '@types/eslint-scope@3.7.7': resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} - '@types/eslint@8.56.10': - resolution: {integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==} + '@types/eslint@9.6.0': + resolution: {integrity: sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg==} '@types/estree-jsx@1.0.5': resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} @@ -1588,8 +1584,8 @@ packages: '@types/node@17.0.45': resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} - '@types/node@20.14.12': - resolution: {integrity: sha512-r7wNXakLeSsGT0H1AU863vS2wa5wBOK4bWMjZz2wj+8nBx+m5PeIn0k8AloSLpRuiwdRQZwarZqHE4FNArPuJQ==} + '@types/node@20.14.13': + resolution: {integrity: sha512-+bHoGiZb8UiQ0+WEtmph2IWQCjIqg8MDZMAV+ppRRhUZnquF5mQkP/9vpSwJClEiSM/C7fZZExPzfU0vJTyp8w==} '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} @@ -1651,8 +1647,8 @@ packages: '@types/unist@3.0.2': resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} - '@types/ws@8.5.10': - resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} + '@types/ws@8.5.12': + resolution: {integrity: sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==} '@types/yargs-parser@21.0.3': resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} @@ -1770,11 +1766,11 @@ packages: ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - ajv@8.16.0: - resolution: {integrity: sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==} + ajv@8.17.1: + resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} - algoliasearch-helper@3.22.2: - resolution: {integrity: sha512-3YQ6eo7uYOCHeQ2ZpD+OoT3aJJwMNKEnwtu8WMzm81XmBOSCwRjQditH9CeSOQ38qhHkuGw23pbq+kULkIJLcw==} + algoliasearch-helper@3.22.3: + resolution: {integrity: sha512-2eoEz8mG4KHE+DzfrBTrCmDPxVXv7aZZWPojAJFtARpxxMO6lkos1dJ+XDCXdPvq7q3tpYWRi6xXmVQikejtpA==} peerDependencies: algoliasearch: '>= 3.1 < 6' @@ -1939,8 +1935,8 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.23.1: - resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} + browserslist@4.23.2: + resolution: {integrity: sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -1991,8 +1987,8 @@ packages: caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} - caniuse-lite@1.0.30001640: - resolution: {integrity: sha512-lA4VMpW0PSUrFnkmVuEKBUovSWKhj7puyCg8StBChgu298N1AtuF1sKWEvfDuimSEDbhlb/KqPKC3fs1HbuQUA==} + caniuse-lite@1.0.30001644: + resolution: {integrity: sha512-YGvlOZB4QhZuiis+ETS0VXR+MExbFf4fZYYeMTEE0aTQd/RdIjkTyZjLrbYVKnHzppDvnOhritRVv+i7Go6mHw==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -2371,8 +2367,8 @@ packages: supports-color: optional: true - debug@4.3.5: - resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} + debug@4.3.6: + resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -2530,8 +2526,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.4.817: - resolution: {integrity: sha512-3znu+lZMIbTe8ZOs360OMJvVroVF2NpNI8T5jfLnDetVvj0uNmIucZzQVYMSJfsu9f47Ssox1Gt46PR+R+1JUg==} + electron-to-chromium@1.5.3: + resolution: {integrity: sha512-QNdYSS5i8D9axWp/6XIezRObRHqaav/ur9z1VzCDUCH1XIFOr9WQk5xmgunhsTpjjgDy3oLxO/WMOVZlpUQrlA==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -2553,8 +2549,8 @@ packages: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} - enhanced-resolve@5.17.0: - resolution: {integrity: sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==} + enhanced-resolve@5.17.1: + resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} engines: {node: '>=10.13.0'} entities@2.2.0: @@ -2738,6 +2734,9 @@ packages: fast-safe-stringify@2.1.1: resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + fast-uri@3.0.1: + resolution: {integrity: sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==} + fast-url-parser@1.1.3: resolution: {integrity: sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==} @@ -2901,10 +2900,6 @@ packages: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} - get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} - get-stream@9.0.1: resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} engines: {node: '>=18'} @@ -2965,8 +2960,8 @@ packages: gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} - got@14.4.1: - resolution: {integrity: sha512-IvDJbJBUeexX74xNQuMIVgCRRuNOm5wuK+OC3Dc2pnSoh1AOmgc7JVj7WC+cJ4u0aPcO9KZ2frTXcqK4W/5qTQ==} + got@14.4.2: + resolution: {integrity: sha512-+Te/qEZ6hr7i+f0FNgXx/6WQteSM/QqueGvxeYQQFm0GDfoxLVJ/oiwUKYMTeioColWUTdewZ06hmrBjw6F7tw==} engines: {node: '>=20'} graceful-fs@4.2.10: @@ -3281,8 +3276,8 @@ packages: resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} hasBin: true - is-core-module@2.14.0: - resolution: {integrity: sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==} + is-core-module@2.15.0: + resolution: {integrity: sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==} engines: {node: '>= 0.4'} is-data-view@1.0.1: @@ -3632,8 +3627,8 @@ packages: markdown-table@3.0.3: resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} - marked@13.0.2: - resolution: {integrity: sha512-J6CPjP8pS5sgrRqxVRvkCIkZ6MFdRIjDkwUwgJ9nL2fbmM6qGQeB2C16hi8Cc9BOzj6xXzy0jyi0iPIfnMHYzA==} + marked@13.0.3: + resolution: {integrity: sha512-rqRix3/TWzE9rIoFGIn8JmsVfhiuC8VIQ8IdX5TfzmeBucdY05/0UlzKaw0eVtpcN/OdVFpBk7CjKGo9iHJ/zA==} engines: {node: '>= 18'} hasBin: true @@ -3727,8 +3722,8 @@ packages: micromark-core-commonmark@2.0.1: resolution: {integrity: sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==} - micromark-extension-directive@3.0.0: - resolution: {integrity: sha512-61OI07qpQrERc+0wEysLHMvoiO3s2R56x5u7glHq2Yqq6EHbH4dW25G9GfDdGCDYqA21KE6DWgNSzxSwHc2hSg==} + micromark-extension-directive@3.0.1: + resolution: {integrity: sha512-VGV2uxUzhEZmaP7NSFo2vtq7M2nUD+WfmYQD+d8i/1nHbzE+rMy9uzTvUybBbNiVbrhOZibg3gbyoARGqgDWyg==} micromark-extension-frontmatter@2.0.0: resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==} @@ -3859,6 +3854,10 @@ packages: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} + mime-db@1.53.0: + resolution: {integrity: sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg==} + engines: {node: '>= 0.6'} + mime-types@2.1.18: resolution: {integrity: sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==} engines: {node: '>= 0.6'} @@ -3929,8 +3928,8 @@ packages: react-native: optional: true - mobx@6.13.0: - resolution: {integrity: sha512-1laWODrBWmB7mDJ8EClCjUQTyLwJ0ydJgE4FtK7t9r3JnjXgc9OhmYs2P4RtHrY1co5+4T6cKP2UswX2SU29mA==} + mobx@6.13.1: + resolution: {integrity: sha512-ekLRxgjWJr8hVxj9ZKuClPwM/iHckx3euIJ3Np7zLVNtqJvfbbq7l370W/98C8EabdQ1pB5Jd3BbDWxJPNnaOg==} moo@0.5.2: resolution: {integrity: sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==} @@ -3995,8 +3994,8 @@ packages: node-readfiles@0.2.0: resolution: {integrity: sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==} - node-releases@2.0.14: - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + node-releases@2.0.18: + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} @@ -4447,8 +4446,8 @@ packages: peerDependencies: postcss: ^8.4.31 - postcss-selector-parser@6.1.0: - resolution: {integrity: sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==} + postcss-selector-parser@6.1.1: + resolution: {integrity: sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==} engines: {node: '>=4'} postcss-sort-media-queries@5.2.0: @@ -4482,8 +4481,8 @@ packages: resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} engines: {node: ^10 || ^12 || >=14} - postcss@8.4.39: - resolution: {integrity: sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==} + postcss@8.4.40: + resolution: {integrity: sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==} engines: {node: ^10 || ^12 || >=14} pretty-error@4.0.0: @@ -4840,8 +4839,8 @@ packages: rtl-detect@1.1.2: resolution: {integrity: sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ==} - rtlcss@4.1.1: - resolution: {integrity: sha512-/oVHgBtnPNcggP2aVXQjSy6N1mMAfHg4GSag0QtZBlD5bdDgAHwr4pydqJGd+SUCu9260+Pjqbjwtvu7EMH1KQ==} + rtlcss@4.2.0: + resolution: {integrity: sha512-AV+V3oOVvCrqyH5Q/6RuT1IDH1Xy5kJTkEWTWZPN5rdQ3HCFOd8SrbC7c6N5Y8bPpCfZSR6yYbUATXslvfvu5g==} engines: {node: '>=12.0.0'} hasBin: true @@ -4890,8 +4889,8 @@ packages: resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} engines: {node: '>= 12.13.0'} - search-insights@2.14.0: - resolution: {integrity: sha512-OLN6MsPMCghDOqlCtsIsYgtsC0pnwVTyT9Mu6A3ewOj1DxvzZF6COrn2g86E/c05xbktB0XN04m/t1Z+n+fTGw==} + search-insights@2.15.0: + resolution: {integrity: sha512-ch2sPCUDD4sbPQdknVl9ALSi9H7VyoeVbsxznYz6QV55jJ8CI3EtwpO1i84keN4+hF5IeHWIeGvc08530JkVXQ==} section-matter@1.0.0: resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} @@ -4912,8 +4911,8 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.6.2: - resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} engines: {node: '>=10'} hasBin: true @@ -5149,8 +5148,8 @@ packages: style-to-object@1.0.6: resolution: {integrity: sha512-khxq+Qm3xEyZfKd/y9L3oIWQimxuc4STrQKtQn8aSDRHb8mFgpukgX1hdzfrMEW6JCjyJ8p89x+IUMVnCBI1PA==} - styled-components@6.1.11: - resolution: {integrity: sha512-Ui0jXPzbp1phYij90h12ksljKGqF8ncGx+pjrNPsSPhbUUjWT2tD1FwGo2LF6USCnbrsIhNngDfodhxbegfEOA==} + styled-components@6.1.12: + resolution: {integrity: sha512-n/O4PzRPhbYI0k1vKKayfti3C/IGcPf+DqcrOB7O/ab9x4u/zjqraneT5N45+sIe87cxrCApXM8Bna7NYxwoTA==} engines: {node: '>= 16'} peerDependencies: react: '>= 16.8.0' @@ -5220,8 +5219,8 @@ packages: uglify-js: optional: true - terser@5.31.1: - resolution: {integrity: sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==} + terser@5.31.3: + resolution: {integrity: sha512-pAfYn3NIZLyZpa83ZKigvj6Rn9c/vd5KfYGX7cN1mnzqgDcxWvrU5ZtAfIKhEXz9nRecw4z3LXkjaq96/qZqAA==} engines: {node: '>=10'} hasBin: true @@ -5288,8 +5287,8 @@ packages: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} - type-fest@4.21.0: - resolution: {integrity: sha512-ADn2w7hVPcK6w1I0uWnM//y1rLXZhzB9mr0a3OirzclKF1Wp6VzevUmzz/NRAWunOT6E8HrnpGY7xOfc6K57fA==} + type-fest@4.23.0: + resolution: {integrity: sha512-ZiBujro2ohr5+Z/hZWHESLz3g08BBdrdLMieYFULJO+tWc437sn8kQsWLJoZErY8alNhxre9K4p3GURAG11n+w==} engines: {node: '>=16'} type-is@1.6.18: @@ -5445,14 +5444,14 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - vfile-location@5.0.2: - resolution: {integrity: sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==} + vfile-location@5.0.3: + resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} vfile-message@4.0.2: resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} - vfile@6.0.1: - resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==} + vfile@6.0.2: + resolution: {integrity: sha512-zND7NlS8rJYb/sPqkb13ZvbbUoExdbi4w3SfRrMq6R3FvnLQmmfpajJNITuuYm6AZ5uao9vy4BAos3EXBPf2rg==} w3c-xmlserializer@5.0.0: resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} @@ -5510,8 +5509,8 @@ packages: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} - webpack@5.92.1: - resolution: {integrity: sha512-JECQ7IwJb+7fgUFBlrJzbyu3GEuNBcdqr1LD7IbSzwkSmIevTm8PF+wej3Oxuz/JFBUZ6O1o43zsPkwm1C4TmA==} + webpack@5.93.0: + resolution: {integrity: sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -5665,19 +5664,19 @@ packages: snapshots: - '@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.14.0)': + '@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.15.0)': dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.14.0) + '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.15.0) '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0) transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - search-insights - '@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.14.0)': + '@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.15.0)': dependencies: '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0) - search-insights: 2.14.0 + search-insights: 2.15.0 transitivePeerDependencies: - '@algolia/client-search' - algoliasearch @@ -5781,186 +5780,165 @@ snapshots: '@babel/highlight': 7.24.7 picocolors: 1.0.1 - '@babel/compat-data@7.24.7': {} + '@babel/compat-data@7.25.2': {} - '@babel/core@7.24.7': + '@babel/core@7.25.2': dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.24.7 - '@babel/generator': 7.24.7 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) - '@babel/helpers': 7.24.7 - '@babel/parser': 7.24.7 - '@babel/template': 7.24.7 - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/generator': 7.25.0 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helpers': 7.25.0 + '@babel/parser': 7.25.0 + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.2 + '@babel/types': 7.25.2 convert-source-map: 2.0.0 - debug: 4.3.5 + debug: 4.3.6 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/generator@7.24.7': + '@babel/generator@7.25.0': dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.25.2 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 '@babel/helper-annotate-as-pure@7.24.7': dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.25.2 '@babel/helper-builder-binary-assignment-operator-visitor@7.24.7': dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/traverse': 7.25.2 + '@babel/types': 7.25.2 transitivePeerDependencies: - supports-color - '@babel/helper-compilation-targets@7.24.7': + '@babel/helper-compilation-targets@7.25.2': dependencies: - '@babel/compat-data': 7.24.7 - '@babel/helper-validator-option': 7.24.7 - browserslist: 4.23.1 + '@babel/compat-data': 7.25.2 + '@babel/helper-validator-option': 7.24.8 + browserslist: 4.23.2 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-create-class-features-plugin@7.24.7(@babel/core@7.24.7)': + '@babel/helper-create-class-features-plugin@7.25.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-function-name': 7.24.7 - '@babel/helper-member-expression-to-functions': 7.24.7 + '@babel/helper-member-expression-to-functions': 7.24.8 '@babel/helper-optimise-call-expression': 7.24.7 - '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7) + '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/helper-split-export-declaration': 7.24.7 + '@babel/traverse': 7.25.2 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/helper-create-regexp-features-plugin@7.24.7(@babel/core@7.24.7)': + '@babel/helper-create-regexp-features-plugin@7.25.2(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.24.7 regexpu-core: 5.3.2 semver: 6.3.1 - '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.24.7)': + '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - debug: 4.3.5 + '@babel/core': 7.25.2 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + debug: 4.3.6 lodash.debounce: 4.0.8 resolve: 1.22.8 transitivePeerDependencies: - supports-color - '@babel/helper-environment-visitor@7.24.7': + '@babel/helper-member-expression-to-functions@7.24.8': dependencies: - '@babel/types': 7.24.7 - - '@babel/helper-function-name@7.24.7': - dependencies: - '@babel/template': 7.24.7 - '@babel/types': 7.24.7 - - '@babel/helper-hoist-variables@7.24.7': - dependencies: - '@babel/types': 7.24.7 - - '@babel/helper-member-expression-to-functions@7.24.7': - dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/traverse': 7.25.2 + '@babel/types': 7.25.2 transitivePeerDependencies: - supports-color '@babel/helper-module-imports@7.24.7': dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/traverse': 7.25.2 + '@babel/types': 7.25.2 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.24.7(@babel/core@7.24.7)': + '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 + '@babel/core': 7.25.2 '@babel/helper-module-imports': 7.24.7 '@babel/helper-simple-access': 7.24.7 - '@babel/helper-split-export-declaration': 7.24.7 '@babel/helper-validator-identifier': 7.24.7 + '@babel/traverse': 7.25.2 transitivePeerDependencies: - supports-color '@babel/helper-optimise-call-expression@7.24.7': dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.25.2 - '@babel/helper-plugin-utils@7.24.7': {} + '@babel/helper-plugin-utils@7.24.8': {} - '@babel/helper-remap-async-to-generator@7.24.7(@babel/core@7.24.7)': + '@babel/helper-remap-async-to-generator@7.25.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-wrap-function': 7.24.7 + '@babel/helper-wrap-function': 7.25.0 + '@babel/traverse': 7.25.2 transitivePeerDependencies: - supports-color - '@babel/helper-replace-supers@7.24.7(@babel/core@7.24.7)': + '@babel/helper-replace-supers@7.25.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-member-expression-to-functions': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-member-expression-to-functions': 7.24.8 '@babel/helper-optimise-call-expression': 7.24.7 + '@babel/traverse': 7.25.2 transitivePeerDependencies: - supports-color '@babel/helper-simple-access@7.24.7': dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/traverse': 7.25.2 + '@babel/types': 7.25.2 transitivePeerDependencies: - supports-color '@babel/helper-skip-transparent-expression-wrappers@7.24.7': dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/traverse': 7.25.2 + '@babel/types': 7.25.2 transitivePeerDependencies: - supports-color - '@babel/helper-split-export-declaration@7.24.7': - dependencies: - '@babel/types': 7.24.7 - - '@babel/helper-string-parser@7.24.7': {} + '@babel/helper-string-parser@7.24.8': {} '@babel/helper-validator-identifier@7.24.7': {} - '@babel/helper-validator-option@7.24.7': {} + '@babel/helper-validator-option@7.24.8': {} - '@babel/helper-wrap-function@7.24.7': + '@babel/helper-wrap-function@7.25.0': dependencies: - '@babel/helper-function-name': 7.24.7 - '@babel/template': 7.24.7 - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.2 + '@babel/types': 7.25.2 transitivePeerDependencies: - supports-color - '@babel/helpers@7.24.7': + '@babel/helpers@7.25.0': dependencies: - '@babel/template': 7.24.7 - '@babel/types': 7.24.7 + '@babel/template': 7.25.0 + '@babel/types': 7.25.2 '@babel/highlight@7.24.7': dependencies: @@ -5969,672 +5947,687 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.0.1 - '@babel/parser@7.24.7': + '@babel/parser@7.25.0': dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.25.2 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/traverse': 7.25.2 + transitivePeerDependencies: + - supports-color - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/plugin-transform-optional-chaining': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) transitivePeerDependencies: - supports-color - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-import-assertions@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-transform-async-generator-functions@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/traverse': 7.25.2 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-async-to-generator@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.25.2 + + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-import-assertions@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-async-generator-functions@7.25.0(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) + '@babel/traverse': 7.25.2 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-async-to-generator@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 '@babel/helper-module-imports': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.25.2) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-block-scoped-functions@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-block-scoped-functions@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-block-scoping@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-block-scoping@7.25.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-class-properties@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-class-properties@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-class-static-block@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-class-static-block@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.7) + '@babel/core': 7.25.2 + '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-classes@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-classes@7.25.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-function-name': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7) - '@babel/helper-split-export-declaration': 7.24.7 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) + '@babel/traverse': 7.25.2 globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/template': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/template': 7.25.0 - '@babel/plugin-transform-destructuring@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-destructuring@7.24.8(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-dotall-regex@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-dotall-regex@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-dynamic-import@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.7) + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-exponentiation-operator@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-dynamic-import@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) + + '@babel/plugin-transform-exponentiation-operator@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 '@babel/helper-builder-binary-assignment-operator-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-export-namespace-from@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-export-namespace-from@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-transform-for-of@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-for-of@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-function-name@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-function-name@7.25.1(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-function-name': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-transform-json-strings@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7) - - '@babel/plugin-transform-literals@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-transform-logical-assignment-operators@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7) - - '@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-transform-modules-amd@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/traverse': 7.25.2 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-commonjs@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-json-strings@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) + + '@babel/plugin-transform-literals@7.25.2(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-logical-assignment-operators@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) + + '@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-modules-amd@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-commonjs@7.24.8(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-simple-access': 7.24.7 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-systemjs@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-modules-systemjs@7.25.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-hoist-variables': 7.24.7 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-validator-identifier': 7.24.7 + '@babel/traverse': 7.25.2 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-umd@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-modules-umd@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-named-capturing-groups-regex@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-named-capturing-groups-regex@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-new-target@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-new-target@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-nullish-coalescing-operator@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-nullish-coalescing-operator@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-transform-numeric-separator@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-numeric-separator@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-transform-object-rest-spread@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-object-rest-spread@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.7) + '@babel/core': 7.25.2 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-object-super@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-object-super@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-optional-catch-binding@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-optional-catch-binding@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-transform-optional-chaining@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-optional-chaining@7.24.8(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-parameters@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-parameters@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-private-methods@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-private-methods@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-private-property-in-object@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-private-property-in-object@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.7) + '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-react-constant-elements@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-react-constant-elements@7.25.1(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-react-display-name@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-react-display-name@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-react-jsx-development@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-react-jsx-development@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/plugin-transform-react-jsx': 7.24.7(@babel/core@7.24.7) + '@babel/core': 7.25.2 + '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-react-jsx@7.25.2(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-module-imports': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.7) - '@babel/types': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) + '@babel/types': 7.25.2 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-react-pure-annotations@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-react-pure-annotations@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 regenerator-transform: 0.15.2 - '@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-runtime@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-runtime@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.25.2 '@babel/helper-module-imports': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.7) - babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.7) - babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.8 + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.2) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.25.2) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.2) semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-spread@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-spread@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-typeof-symbol@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-typeof-symbol@7.24.8(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-typescript@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-typescript@7.25.2(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.24.7) + '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.25.2) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-unicode-escapes@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-unicode-escapes@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-unicode-property-regex@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-unicode-property-regex@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-unicode-sets-regex@7.24.7(@babel/core@7.24.7)': + '@babel/plugin-transform-unicode-sets-regex@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 - '@babel/preset-env@7.24.7(@babel/core@7.24.7)': + '@babel/preset-env@7.25.2(@babel/core@7.25.2)': dependencies: - '@babel/compat-data': 7.24.7 - '@babel/core': 7.24.7 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-validator-option': 7.24.7 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.7) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.7) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.7) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-import-assertions': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.7) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.7) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.7) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.7) - '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-async-generator-functions': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-block-scoping': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-class-properties': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-class-static-block': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-classes': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-destructuring': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-duplicate-keys': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-dynamic-import': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-exponentiation-operator': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-function-name': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-json-strings': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-literals': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-member-expression-literals': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-modules-amd': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-modules-commonjs': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-modules-systemjs': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-modules-umd': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-new-target': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-object-super': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-optional-chaining': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-private-methods': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-property-literals': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-reserved-words': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-typeof-symbol': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-unicode-property-regex': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-unicode-sets-regex': 7.24.7(@babel/core@7.24.7) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.7) - babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.7) - babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.7) - babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.7) + '@babel/compat-data': 7.25.2 + '@babel/core': 7.25.2 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-option': 7.24.8 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.2) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.2) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-import-assertions': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.25.2) + '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-async-generator-functions': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-block-scoping': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-class-properties': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-class-static-block': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-classes': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-destructuring': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-duplicate-keys': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-dynamic-import': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-exponentiation-operator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-function-name': 7.25.1(@babel/core@7.25.2) + '@babel/plugin-transform-json-strings': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-literals': 7.25.2(@babel/core@7.25.2) + '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-member-expression-literals': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-modules-amd': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-modules-systemjs': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-modules-umd': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-new-target': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-object-super': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-private-methods': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-property-literals': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-reserved-words': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-typeof-symbol': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-unicode-property-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-unicode-sets-regex': 7.24.7(@babel/core@7.25.2) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.25.2) + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.2) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.25.2) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.2) core-js-compat: 3.37.1 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.7)': + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/types': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/types': 7.25.2 esutils: 2.0.3 - '@babel/preset-react@7.24.7(@babel/core@7.24.7)': + '@babel/preset-react@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-validator-option': 7.24.7 - '@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-react-jsx': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-react-jsx-development': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-react-pure-annotations': 7.24.7(@babel/core@7.24.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-option': 7.24.8 + '@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx-development': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-react-pure-annotations': 7.24.7(@babel/core@7.25.2) transitivePeerDependencies: - supports-color - '@babel/preset-typescript@7.24.7(@babel/core@7.24.7)': + '@babel/preset-typescript@7.24.7(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-validator-option': 7.24.7 - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-modules-commonjs': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-typescript': 7.24.7(@babel/core@7.24.7) + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-option': 7.24.8 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2) transitivePeerDependencies: - supports-color '@babel/regjsgen@0.8.0': {} - '@babel/runtime-corejs3@7.24.7': + '@babel/runtime-corejs3@7.25.0': dependencies: core-js-pure: 3.37.1 regenerator-runtime: 0.14.1 - '@babel/runtime@7.24.7': + '@babel/runtime@7.25.0': dependencies: regenerator-runtime: 0.14.1 - '@babel/template@7.24.7': + '@babel/template@7.25.0': dependencies: '@babel/code-frame': 7.24.7 - '@babel/parser': 7.24.7 - '@babel/types': 7.24.7 + '@babel/parser': 7.25.0 + '@babel/types': 7.25.2 - '@babel/traverse@7.24.7': + '@babel/traverse@7.25.2': dependencies: '@babel/code-frame': 7.24.7 - '@babel/generator': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-function-name': 7.24.7 - '@babel/helper-hoist-variables': 7.24.7 - '@babel/helper-split-export-declaration': 7.24.7 - '@babel/parser': 7.24.7 - '@babel/types': 7.24.7 - debug: 4.3.5 + '@babel/generator': 7.25.0 + '@babel/parser': 7.25.0 + '@babel/template': 7.25.0 + '@babel/types': 7.25.2 + debug: 4.3.6 globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/types@7.24.7': + '@babel/types@7.25.2': dependencies: - '@babel/helper-string-parser': 7.24.7 + '@babel/helper-string-parser': 7.24.8 '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 @@ -6654,42 +6647,42 @@ snapshots: '@discoveryjs/json-ext@0.5.7': {} - '@docsearch/css@3.6.0': {} + '@docsearch/css@3.6.1': {} - '@docsearch/react@3.6.0(@algolia/client-search@4.24.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)': + '@docsearch/react@3.6.1(@algolia/client-search@4.24.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)': dependencies: - '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.14.0) + '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.15.0) '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0) - '@docsearch/css': 3.6.0 + '@docsearch/css': 3.6.1 algoliasearch: 4.24.0 optionalDependencies: '@types/react': 18.3.3 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - search-insights: 2.14.0 + search-insights: 2.15.0 transitivePeerDependencies: - '@algolia/client-search' - '@docusaurus/core@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/core@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@babel/core': 7.24.7 - '@babel/generator': 7.24.7 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-transform-runtime': 7.24.7(@babel/core@7.24.7) - '@babel/preset-env': 7.24.7(@babel/core@7.24.7) - '@babel/preset-react': 7.24.7(@babel/core@7.24.7) - '@babel/preset-typescript': 7.24.7(@babel/core@7.24.7) - '@babel/runtime': 7.24.7 - '@babel/runtime-corejs3': 7.24.7 - '@babel/traverse': 7.24.7 + '@babel/core': 7.25.2 + '@babel/generator': 7.25.0 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-transform-runtime': 7.24.7(@babel/core@7.25.2) + '@babel/preset-env': 7.25.2(@babel/core@7.25.2) + '@babel/preset-react': 7.24.7(@babel/core@7.25.2) + '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2) + '@babel/runtime': 7.25.0 + '@babel/runtime-corejs3': 7.25.0 + '@babel/traverse': 7.25.2 '@docusaurus/cssnano-preset': 3.4.0 '@docusaurus/logger': 3.4.0 '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - autoprefixer: 10.4.19(postcss@8.4.39) - babel-loader: 9.1.3(@babel/core@7.24.7)(webpack@5.92.1) + autoprefixer: 10.4.19(postcss@8.4.40) + babel-loader: 9.1.3(@babel/core@7.25.2)(webpack@5.93.0) babel-plugin-dynamic-import-node: 2.3.3 boxen: 6.2.1 chalk: 4.1.2 @@ -6698,50 +6691,50 @@ snapshots: cli-table3: 0.6.5 combine-promises: 1.2.0 commander: 5.1.0 - copy-webpack-plugin: 11.0.0(webpack@5.92.1) + copy-webpack-plugin: 11.0.0(webpack@5.93.0) core-js: 3.37.1 - css-loader: 6.11.0(webpack@5.92.1) - css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(webpack@5.92.1) - cssnano: 6.1.2(postcss@8.4.39) + css-loader: 6.11.0(webpack@5.93.0) + css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(webpack@5.93.0) + cssnano: 6.1.2(postcss@8.4.40) del: 6.1.1 detect-port: 1.6.1 escape-html: 1.0.3 eta: 2.2.0 eval: 0.1.8 - file-loader: 6.2.0(webpack@5.92.1) + file-loader: 6.2.0(webpack@5.93.0) fs-extra: 11.2.0 html-minifier-terser: 7.2.0 html-tags: 3.3.1 - html-webpack-plugin: 5.6.0(webpack@5.92.1) + html-webpack-plugin: 5.6.0(webpack@5.93.0) leven: 3.1.0 lodash: 4.17.21 - mini-css-extract-plugin: 2.9.0(webpack@5.92.1) + mini-css-extract-plugin: 2.9.0(webpack@5.93.0) p-map: 4.0.0 - postcss: 8.4.39 - postcss-loader: 7.3.4(postcss@8.4.39)(typescript@5.5.4)(webpack@5.92.1) + postcss: 8.4.40 + postcss-loader: 7.3.4(postcss@8.4.40)(typescript@5.5.4)(webpack@5.93.0) prompts: 2.4.2 react: 18.3.1 - react-dev-utils: 12.0.1(typescript@5.5.4)(webpack@5.92.1) + react-dev-utils: 12.0.1(typescript@5.5.4)(webpack@5.93.0) react-dom: 18.3.1(react@18.3.1) react-helmet-async: 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)' - react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.92.1) + react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.93.0) react-router: 5.3.4(react@18.3.1) react-router-config: 5.1.1(react-router@5.3.4(react@18.3.1))(react@18.3.1) react-router-dom: 5.3.4(react@18.3.1) rtl-detect: 1.1.2 - semver: 7.6.2 + semver: 7.6.3 serve-handler: 6.1.5 shelljs: 0.8.5 - terser-webpack-plugin: 5.3.10(webpack@5.92.1) + terser-webpack-plugin: 5.3.10(webpack@5.93.0) tslib: 2.6.3 update-notifier: 6.0.2 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.92.1))(webpack@5.92.1) - webpack: 5.92.1 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.93.0))(webpack@5.93.0) + webpack: 5.93.0 webpack-bundle-analyzer: 4.10.2 - webpack-dev-server: 4.15.2(debug@4.3.5)(webpack@5.92.1) + webpack-dev-server: 4.15.2(debug@4.3.6)(webpack@5.93.0) webpack-merge: 5.10.0 - webpackbar: 5.0.2(webpack@5.92.1) + webpackbar: 5.0.2(webpack@5.93.0) transitivePeerDependencies: - '@docusaurus/types' - '@parcel/css' @@ -6763,9 +6756,9 @@ snapshots: '@docusaurus/cssnano-preset@3.4.0': dependencies: - cssnano-preset-advanced: 6.1.2(postcss@8.4.39) - postcss: 8.4.39 - postcss-sort-media-queries: 5.2.0(postcss@8.4.39) + cssnano-preset-advanced: 6.1.2(postcss@8.4.40) + postcss: 8.4.40 + postcss-sort-media-queries: 5.2.0(postcss@8.4.40) tslib: 2.6.3 '@docusaurus/logger@3.4.0': @@ -6782,7 +6775,7 @@ snapshots: '@slorber/remark-comment': 1.0.0 escape-html: 1.0.3 estree-util-value-to-estree: 3.1.2 - file-loader: 6.2.0(webpack@5.92.1) + file-loader: 6.2.0(webpack@5.93.0) fs-extra: 11.2.0 image-size: 1.1.1 mdast-util-mdx: 3.0.0 @@ -6798,9 +6791,9 @@ snapshots: tslib: 2.6.3 unified: 11.0.5 unist-util-visit: 5.0.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.92.1))(webpack@5.92.1) - vfile: 6.0.1 - webpack: 5.92.1 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.93.0))(webpack@5.93.0) + vfile: 6.0.2 + webpack: 5.93.0 transitivePeerDependencies: - '@docusaurus/types' - '@swc/core' @@ -6830,7 +6823,7 @@ snapshots: '@docusaurus/plugin-content-blog@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/logger': 3.4.0 '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -6848,7 +6841,7 @@ snapshots: tslib: 2.6.3 unist-util-visit: 5.0.0 utility-types: 3.11.0 - webpack: 5.92.1 + webpack: 5.93.0 transitivePeerDependencies: - '@parcel/css' - '@rspack/core' @@ -6867,9 +6860,9 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-content-docs@3.4.0(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/plugin-content-docs@3.4.0(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/logger': 3.4.0 '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/module-type-aliases': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -6886,7 +6879,7 @@ snapshots: react-dom: 18.3.1(react@18.3.1) tslib: 2.6.3 utility-types: 3.11.0 - webpack: 5.92.1 + webpack: 5.93.0 transitivePeerDependencies: - '@parcel/css' - '@rspack/core' @@ -6907,7 +6900,7 @@ snapshots: '@docusaurus/plugin-content-pages@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) @@ -6916,7 +6909,7 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) tslib: 2.6.3 - webpack: 5.92.1 + webpack: 5.93.0 transitivePeerDependencies: - '@parcel/css' - '@rspack/core' @@ -6937,7 +6930,7 @@ snapshots: '@docusaurus/plugin-debug@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) fs-extra: 11.2.0 @@ -6965,7 +6958,7 @@ snapshots: '@docusaurus/plugin-google-analytics@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) react: 18.3.1 @@ -6991,7 +6984,7 @@ snapshots: '@docusaurus/plugin-google-gtag@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) '@types/gtag.js': 0.0.12 @@ -7018,7 +7011,7 @@ snapshots: '@docusaurus/plugin-google-tag-manager@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) react: 18.3.1 @@ -7044,7 +7037,7 @@ snapshots: '@docusaurus/plugin-sitemap@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/logger': 3.4.0 '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) @@ -7073,11 +7066,11 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/preset-classic@3.4.0(@algolia/client-search@4.24.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)(typescript@5.5.4)': + '@docusaurus/preset-classic@3.4.0(@algolia/client-search@4.24.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/plugin-content-blog': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-content-docs': 3.4.0(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-content-docs': 3.4.0(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/plugin-content-pages': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/plugin-debug': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/plugin-google-analytics': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) @@ -7086,7 +7079,7 @@ snapshots: '@docusaurus/plugin-sitemap': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/theme-classic': 3.4.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/theme-search-algolia': 3.4.0(@algolia/client-search@4.24.0)(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)(typescript@5.5.4) + '@docusaurus/theme-search-algolia': 3.4.0(@algolia/client-search@4.24.0)(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)(typescript@5.5.4) '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -7118,11 +7111,11 @@ snapshots: '@docusaurus/theme-classic@3.4.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/module-type-aliases': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/plugin-content-blog': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-content-docs': 3.4.0(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-content-docs': 3.4.0(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/plugin-content-pages': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/theme-translations': 3.4.0 @@ -7136,13 +7129,13 @@ snapshots: infima: 0.2.0-alpha.43 lodash: 4.17.21 nprogress: 0.2.0 - postcss: 8.4.39 + postcss: 8.4.40 prism-react-renderer: 2.3.1(react@18.3.1) prismjs: 1.29.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) react-router-dom: 5.3.4(react@18.3.1) - rtlcss: 4.1.1 + rtlcss: 4.2.0 tslib: 2.6.3 utility-types: 3.11.0 transitivePeerDependencies: @@ -7169,7 +7162,7 @@ snapshots: '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/module-type-aliases': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/plugin-content-blog': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-content-docs': 3.4.0(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-content-docs': 3.4.0(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/plugin-content-pages': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) @@ -7202,18 +7195,18 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/theme-search-algolia@3.4.0(@algolia/client-search@4.24.0)(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)(typescript@5.5.4)': + '@docusaurus/theme-search-algolia@3.4.0(@algolia/client-search@4.24.0)(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)(typescript@5.5.4)': dependencies: - '@docsearch/react': 3.6.0(@algolia/client-search@4.24.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0) - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docsearch/react': 3.6.1(@algolia/client-search@4.24.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/logger': 3.4.0 - '@docusaurus/plugin-content-docs': 3.4.0(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-content-docs': 3.4.0(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/theme-translations': 3.4.0 '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) algoliasearch: 4.24.0 - algoliasearch-helper: 3.22.2(algoliasearch@4.24.0) + algoliasearch-helper: 3.22.3(algoliasearch@4.24.0) clsx: 2.1.1 eta: 2.2.0 fs-extra: 11.2.0 @@ -7262,7 +7255,7 @@ snapshots: react-dom: 18.3.1(react@18.3.1) react-helmet-async: 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) utility-types: 3.11.0 - webpack: 5.92.1 + webpack: 5.93.0 webpack-merge: 5.10.0 transitivePeerDependencies: - '@swc/core' @@ -7302,7 +7295,7 @@ snapshots: '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@svgr/webpack': 8.1.0(typescript@5.5.4) escape-string-regexp: 4.0.0 - file-loader: 6.2.0(webpack@5.92.1) + file-loader: 6.2.0(webpack@5.93.0) fs-extra: 11.2.0 github-slugger: 1.5.0 globby: 11.1.0 @@ -7315,9 +7308,9 @@ snapshots: resolve-pathname: 3.0.0 shelljs: 0.8.5 tslib: 2.6.3 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.92.1))(webpack@5.92.1) + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.93.0))(webpack@5.93.0) utility-types: 3.11.0 - webpack: 5.92.1 + webpack: 5.93.0 optionalDependencies: '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) transitivePeerDependencies: @@ -7335,7 +7328,7 @@ snapshots: '@easyops-cn/docusaurus-search-local@0.44.4(@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/plugin-content-docs': 3.4.0(debug@4.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-content-docs': 3.4.0(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/theme-translations': 3.4.0 '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) @@ -7345,7 +7338,7 @@ snapshots: '@node-rs/jieba': 1.10.3 cheerio: 1.0.0-rc.12 clsx: 1.2.1 - debug: 4.3.5 + debug: 4.3.6 fs-extra: 10.1.0 klaw-sync: 6.0.0 lunr: 2.3.9 @@ -7482,14 +7475,14 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.14.12 + '@types/node': 20.14.13 '@types/yargs': 17.0.32 chalk: 4.1.2 '@jridgewell/gen-mapping@0.3.5': dependencies: '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/trace-mapping': 0.3.25 '@jridgewell/resolve-uri@3.1.2': {} @@ -7501,12 +7494,12 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - '@jridgewell/sourcemap-codec@1.4.15': {} + '@jridgewell/sourcemap-codec@1.5.0': {} '@jridgewell/trace-mapping@0.3.25': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 '@leichtgewicht/ip-codec@2.0.5': {} @@ -7534,7 +7527,7 @@ snapshots: unist-util-position-from-estree: 2.0.0 unist-util-stringify-position: 4.0.0 unist-util-visit: 5.0.0 - vfile: 6.0.1 + vfile: 6.0.2 transitivePeerDependencies: - supports-color @@ -7645,12 +7638,12 @@ snapshots: require-from-string: 2.0.2 uri-js: 4.4.1 - '@redocly/config@0.6.2': {} + '@redocly/config@0.6.3': {} '@redocly/openapi-core@1.16.0': dependencies: '@redocly/ajv': 8.11.0 - '@redocly/config': 0.6.2 + '@redocly/config': 0.6.3 colorette: 1.4.0 https-proxy-agent: 7.0.5 js-levenshtein: 1.1.6 @@ -7678,7 +7671,7 @@ snapshots: '@sindresorhus/is@4.6.0': {} - '@sindresorhus/is@6.3.1': {} + '@sindresorhus/is@7.0.0': {} '@slorber/remark-comment@1.0.0': dependencies: @@ -7686,54 +7679,54 @@ snapshots: micromark-util-character: 1.2.0 micromark-util-symbol: 1.1.0 - '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.24.7)': + '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.25.2 - '@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.24.7)': + '@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.25.2 - '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.24.7)': + '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.25.2 - '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.24.7)': + '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.25.2 - '@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.24.7)': + '@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.25.2 - '@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.24.7)': + '@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.25.2 - '@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.24.7)': + '@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.25.2 - '@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.24.7)': + '@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.25.2 - '@svgr/babel-preset@8.1.0(@babel/core@7.24.7)': + '@svgr/babel-preset@8.1.0(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.24.7) - '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.24.7) - '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.24.7) - '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.24.7) - '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.24.7) - '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.24.7) - '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.24.7) - '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.24.7) + '@babel/core': 7.25.2 + '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.25.2) + '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.25.2) + '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.25.2) + '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.25.2) + '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.25.2) + '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.25.2) + '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.25.2) + '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.25.2) '@svgr/core@8.1.0(typescript@5.5.4)': dependencies: - '@babel/core': 7.24.7 - '@svgr/babel-preset': 8.1.0(@babel/core@7.24.7) + '@babel/core': 7.25.2 + '@svgr/babel-preset': 8.1.0(@babel/core@7.25.2) camelcase: 6.3.0 cosmiconfig: 8.3.6(typescript@5.5.4) snake-case: 3.0.4 @@ -7743,13 +7736,13 @@ snapshots: '@svgr/hast-util-to-babel-ast@8.0.0': dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.25.2 entities: 4.5.0 '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.5.4))': dependencies: - '@babel/core': 7.24.7 - '@svgr/babel-preset': 8.1.0(@babel/core@7.24.7) + '@babel/core': 7.25.2 + '@svgr/babel-preset': 8.1.0(@babel/core@7.25.2) '@svgr/core': 8.1.0(typescript@5.5.4) '@svgr/hast-util-to-babel-ast': 8.0.0 svg-parser: 2.0.4 @@ -7767,11 +7760,11 @@ snapshots: '@svgr/webpack@8.1.0(typescript@5.5.4)': dependencies: - '@babel/core': 7.24.7 - '@babel/plugin-transform-react-constant-elements': 7.24.7(@babel/core@7.24.7) - '@babel/preset-env': 7.24.7(@babel/core@7.24.7) - '@babel/preset-react': 7.24.7(@babel/core@7.24.7) - '@babel/preset-typescript': 7.24.7(@babel/core@7.24.7) + '@babel/core': 7.25.2 + '@babel/plugin-transform-react-constant-elements': 7.25.1(@babel/core@7.25.2) + '@babel/preset-env': 7.25.2(@babel/core@7.25.2) + '@babel/preset-react': 7.24.7(@babel/core@7.25.2) + '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2) '@svgr/core': 8.1.0(typescript@5.5.4) '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.5.4)) '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.5.4))(typescript@5.5.4) @@ -7799,20 +7792,20 @@ snapshots: '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.14.12 + '@types/node': 20.14.13 '@types/bonjour@3.5.13': dependencies: - '@types/node': 20.14.12 + '@types/node': 20.14.13 '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 4.19.5 - '@types/node': 20.14.12 + '@types/node': 20.14.13 '@types/connect@3.4.38': dependencies: - '@types/node': 20.14.12 + '@types/node': 20.14.13 '@types/debug@4.1.12': dependencies: @@ -7824,10 +7817,10 @@ snapshots: '@types/eslint-scope@3.7.7': dependencies: - '@types/eslint': 8.56.10 + '@types/eslint': 9.6.0 '@types/estree': 1.0.5 - '@types/eslint@8.56.10': + '@types/eslint@9.6.0': dependencies: '@types/estree': 1.0.5 '@types/json-schema': 7.0.15 @@ -7840,7 +7833,7 @@ snapshots: '@types/express-serve-static-core@4.19.5': dependencies: - '@types/node': 20.14.12 + '@types/node': 20.14.13 '@types/qs': 6.9.15 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -7868,7 +7861,7 @@ snapshots: '@types/http-proxy@1.17.14': dependencies: - '@types/node': 20.14.12 + '@types/node': 20.14.13 '@types/istanbul-lib-coverage@2.0.6': {} @@ -7894,11 +7887,11 @@ snapshots: '@types/node-forge@1.3.11': dependencies: - '@types/node': 20.14.12 + '@types/node': 20.14.13 '@types/node@17.0.45': {} - '@types/node@20.14.12': + '@types/node@20.14.13': dependencies: undici-types: 5.26.5 @@ -7942,12 +7935,12 @@ snapshots: '@types/sax@1.2.7': dependencies: - '@types/node': 20.14.12 + '@types/node': 20.14.13 '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.14.12 + '@types/node': 20.14.13 '@types/serve-index@1.9.4': dependencies: @@ -7956,12 +7949,12 @@ snapshots: '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 20.14.12 + '@types/node': 20.14.13 '@types/send': 0.17.4 '@types/sockjs@0.3.36': dependencies: - '@types/node': 20.14.12 + '@types/node': 20.14.13 '@types/stylis@4.2.5': {} @@ -7971,9 +7964,9 @@ snapshots: '@types/unist@3.0.2': {} - '@types/ws@8.5.10': + '@types/ws@8.5.12': dependencies: - '@types/node': 20.14.12 + '@types/node': 20.14.13 '@types/yargs-parser@21.0.3': {} @@ -8086,7 +8079,7 @@ snapshots: agent-base@7.1.1: dependencies: - debug: 4.3.5 + debug: 4.3.6 transitivePeerDependencies: - supports-color @@ -8095,17 +8088,17 @@ snapshots: clean-stack: 2.2.0 indent-string: 4.0.0 - ajv-formats@2.1.1(ajv@8.16.0): + ajv-formats@2.1.1(ajv@8.17.1): optionalDependencies: - ajv: 8.16.0 + ajv: 8.17.1 ajv-keywords@3.5.2(ajv@6.12.6): dependencies: ajv: 6.12.6 - ajv-keywords@5.1.0(ajv@8.16.0): + ajv-keywords@5.1.0(ajv@8.17.1): dependencies: - ajv: 8.16.0 + ajv: 8.17.1 fast-deep-equal: 3.1.3 ajv@6.12.6: @@ -8115,14 +8108,14 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 - ajv@8.16.0: + ajv@8.17.1: dependencies: fast-deep-equal: 3.1.3 + fast-uri: 3.0.1 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - uri-js: 4.4.1 - algoliasearch-helper@3.22.2(algoliasearch@4.24.0): + algoliasearch-helper@3.22.3(algoliasearch@4.24.0): dependencies: '@algolia/events': 4.0.1 algoliasearch: 4.24.0 @@ -8220,14 +8213,14 @@ snapshots: at-least-node@1.0.0: {} - autoprefixer@10.4.19(postcss@8.4.39): + autoprefixer@10.4.19(postcss@8.4.40): dependencies: - browserslist: 4.23.1 - caniuse-lite: 1.0.30001640 + browserslist: 4.23.2 + caniuse-lite: 1.0.30001644 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.1 - postcss: 8.4.39 + postcss: 8.4.40 postcss-value-parser: 4.2.0 available-typed-arrays@1.0.7: @@ -8236,44 +8229,44 @@ snapshots: axios@1.7.2: dependencies: - follow-redirects: 1.15.6(debug@4.3.5) + follow-redirects: 1.15.6(debug@4.3.6) form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug - babel-loader@9.1.3(@babel/core@7.24.7)(webpack@5.92.1): + babel-loader@9.1.3(@babel/core@7.25.2)(webpack@5.93.0): dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.25.2 find-cache-dir: 4.0.0 schema-utils: 4.2.0 - webpack: 5.92.1 + webpack: 5.93.0 babel-plugin-dynamic-import-node@2.3.3: dependencies: object.assign: 4.1.5 - babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.24.7): + babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.25.2): dependencies: - '@babel/compat-data': 7.24.7 - '@babel/core': 7.24.7 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.7) + '@babel/compat-data': 7.25.2 + '@babel/core': 7.25.2 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) semver: 6.3.1 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.7): + babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.25.2): dependencies: - '@babel/core': 7.24.7 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.7) + '@babel/core': 7.25.2 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) core-js-compat: 3.37.1 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.24.7): + babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.25.2): dependencies: - '@babel/core': 7.24.7 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.7) + '@babel/core': 7.25.2 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) transitivePeerDependencies: - supports-color @@ -8346,12 +8339,12 @@ snapshots: dependencies: fill-range: 7.1.1 - browserslist@4.23.1: + browserslist@4.23.2: dependencies: - caniuse-lite: 1.0.30001640 - electron-to-chromium: 1.4.817 - node-releases: 2.0.14 - update-browserslist-db: 1.1.0(browserslist@4.23.1) + caniuse-lite: 1.0.30001644 + electron-to-chromium: 1.5.3 + node-releases: 2.0.18 + update-browserslist-db: 1.1.0(browserslist@4.23.2) buffer-from@1.1.2: {} @@ -8396,12 +8389,12 @@ snapshots: caniuse-api@3.0.0: dependencies: - browserslist: 4.23.1 - caniuse-lite: 1.0.30001640 + browserslist: 4.23.2 + caniuse-lite: 1.0.30001644 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 - caniuse-lite@1.0.30001640: {} + caniuse-lite@1.0.30001644: {} ccount@2.0.1: {} @@ -8537,7 +8530,7 @@ snapshots: compressible@2.0.18: dependencies: - mime-db: 1.52.0 + mime-db: 1.53.0 compression@1.7.4: dependencies: @@ -8598,7 +8591,7 @@ snapshots: copy-text-to-clipboard@3.2.0: {} - copy-webpack-plugin@11.0.0(webpack@5.92.1): + copy-webpack-plugin@11.0.0(webpack@5.93.0): dependencies: fast-glob: 3.3.2 glob-parent: 6.0.2 @@ -8606,11 +8599,11 @@ snapshots: normalize-path: 3.0.0 schema-utils: 4.2.0 serialize-javascript: 6.0.2 - webpack: 5.92.1 + webpack: 5.93.0 core-js-compat@3.37.1: dependencies: - browserslist: 4.23.1 + browserslist: 4.23.2 core-js-pure@3.37.1: {} @@ -8647,32 +8640,32 @@ snapshots: css-color-keywords@1.0.0: {} - css-declaration-sorter@7.2.0(postcss@8.4.39): + css-declaration-sorter@7.2.0(postcss@8.4.40): dependencies: - postcss: 8.4.39 + postcss: 8.4.40 - css-loader@6.11.0(webpack@5.92.1): + css-loader@6.11.0(webpack@5.93.0): dependencies: - icss-utils: 5.1.0(postcss@8.4.39) - postcss: 8.4.39 - postcss-modules-extract-imports: 3.1.0(postcss@8.4.39) - postcss-modules-local-by-default: 4.0.5(postcss@8.4.39) - postcss-modules-scope: 3.2.0(postcss@8.4.39) - postcss-modules-values: 4.0.0(postcss@8.4.39) + icss-utils: 5.1.0(postcss@8.4.40) + postcss: 8.4.40 + postcss-modules-extract-imports: 3.1.0(postcss@8.4.40) + postcss-modules-local-by-default: 4.0.5(postcss@8.4.40) + postcss-modules-scope: 3.2.0(postcss@8.4.40) + postcss-modules-values: 4.0.0(postcss@8.4.40) postcss-value-parser: 4.2.0 - semver: 7.6.2 + semver: 7.6.3 optionalDependencies: - webpack: 5.92.1 + webpack: 5.93.0 - css-minimizer-webpack-plugin@5.0.1(clean-css@5.3.3)(webpack@5.92.1): + css-minimizer-webpack-plugin@5.0.1(clean-css@5.3.3)(webpack@5.93.0): dependencies: '@jridgewell/trace-mapping': 0.3.25 - cssnano: 6.1.2(postcss@8.4.39) + cssnano: 6.1.2(postcss@8.4.40) jest-worker: 29.7.0 - postcss: 8.4.39 + postcss: 8.4.40 schema-utils: 4.2.0 serialize-javascript: 6.0.2 - webpack: 5.92.1 + webpack: 5.93.0 optionalDependencies: clean-css: 5.3.3 @@ -8712,60 +8705,60 @@ snapshots: cssesc@3.0.0: {} - cssnano-preset-advanced@6.1.2(postcss@8.4.39): + cssnano-preset-advanced@6.1.2(postcss@8.4.40): dependencies: - autoprefixer: 10.4.19(postcss@8.4.39) - browserslist: 4.23.1 - cssnano-preset-default: 6.1.2(postcss@8.4.39) - postcss: 8.4.39 - postcss-discard-unused: 6.0.5(postcss@8.4.39) - postcss-merge-idents: 6.0.3(postcss@8.4.39) - postcss-reduce-idents: 6.0.3(postcss@8.4.39) - postcss-zindex: 6.0.2(postcss@8.4.39) + autoprefixer: 10.4.19(postcss@8.4.40) + browserslist: 4.23.2 + cssnano-preset-default: 6.1.2(postcss@8.4.40) + postcss: 8.4.40 + postcss-discard-unused: 6.0.5(postcss@8.4.40) + postcss-merge-idents: 6.0.3(postcss@8.4.40) + postcss-reduce-idents: 6.0.3(postcss@8.4.40) + postcss-zindex: 6.0.2(postcss@8.4.40) - cssnano-preset-default@6.1.2(postcss@8.4.39): + cssnano-preset-default@6.1.2(postcss@8.4.40): dependencies: - browserslist: 4.23.1 - css-declaration-sorter: 7.2.0(postcss@8.4.39) - cssnano-utils: 4.0.2(postcss@8.4.39) - postcss: 8.4.39 - postcss-calc: 9.0.1(postcss@8.4.39) - postcss-colormin: 6.1.0(postcss@8.4.39) - postcss-convert-values: 6.1.0(postcss@8.4.39) - postcss-discard-comments: 6.0.2(postcss@8.4.39) - postcss-discard-duplicates: 6.0.3(postcss@8.4.39) - postcss-discard-empty: 6.0.3(postcss@8.4.39) - postcss-discard-overridden: 6.0.2(postcss@8.4.39) - postcss-merge-longhand: 6.0.5(postcss@8.4.39) - postcss-merge-rules: 6.1.1(postcss@8.4.39) - postcss-minify-font-values: 6.1.0(postcss@8.4.39) - postcss-minify-gradients: 6.0.3(postcss@8.4.39) - postcss-minify-params: 6.1.0(postcss@8.4.39) - postcss-minify-selectors: 6.0.4(postcss@8.4.39) - postcss-normalize-charset: 6.0.2(postcss@8.4.39) - postcss-normalize-display-values: 6.0.2(postcss@8.4.39) - postcss-normalize-positions: 6.0.2(postcss@8.4.39) - postcss-normalize-repeat-style: 6.0.2(postcss@8.4.39) - postcss-normalize-string: 6.0.2(postcss@8.4.39) - postcss-normalize-timing-functions: 6.0.2(postcss@8.4.39) - postcss-normalize-unicode: 6.1.0(postcss@8.4.39) - postcss-normalize-url: 6.0.2(postcss@8.4.39) - postcss-normalize-whitespace: 6.0.2(postcss@8.4.39) - postcss-ordered-values: 6.0.2(postcss@8.4.39) - postcss-reduce-initial: 6.1.0(postcss@8.4.39) - postcss-reduce-transforms: 6.0.2(postcss@8.4.39) - postcss-svgo: 6.0.3(postcss@8.4.39) - postcss-unique-selectors: 6.0.4(postcss@8.4.39) + browserslist: 4.23.2 + css-declaration-sorter: 7.2.0(postcss@8.4.40) + cssnano-utils: 4.0.2(postcss@8.4.40) + postcss: 8.4.40 + postcss-calc: 9.0.1(postcss@8.4.40) + postcss-colormin: 6.1.0(postcss@8.4.40) + postcss-convert-values: 6.1.0(postcss@8.4.40) + postcss-discard-comments: 6.0.2(postcss@8.4.40) + postcss-discard-duplicates: 6.0.3(postcss@8.4.40) + postcss-discard-empty: 6.0.3(postcss@8.4.40) + postcss-discard-overridden: 6.0.2(postcss@8.4.40) + postcss-merge-longhand: 6.0.5(postcss@8.4.40) + postcss-merge-rules: 6.1.1(postcss@8.4.40) + postcss-minify-font-values: 6.1.0(postcss@8.4.40) + postcss-minify-gradients: 6.0.3(postcss@8.4.40) + postcss-minify-params: 6.1.0(postcss@8.4.40) + postcss-minify-selectors: 6.0.4(postcss@8.4.40) + postcss-normalize-charset: 6.0.2(postcss@8.4.40) + postcss-normalize-display-values: 6.0.2(postcss@8.4.40) + postcss-normalize-positions: 6.0.2(postcss@8.4.40) + postcss-normalize-repeat-style: 6.0.2(postcss@8.4.40) + postcss-normalize-string: 6.0.2(postcss@8.4.40) + postcss-normalize-timing-functions: 6.0.2(postcss@8.4.40) + postcss-normalize-unicode: 6.1.0(postcss@8.4.40) + postcss-normalize-url: 6.0.2(postcss@8.4.40) + postcss-normalize-whitespace: 6.0.2(postcss@8.4.40) + postcss-ordered-values: 6.0.2(postcss@8.4.40) + postcss-reduce-initial: 6.1.0(postcss@8.4.40) + postcss-reduce-transforms: 6.0.2(postcss@8.4.40) + postcss-svgo: 6.0.3(postcss@8.4.40) + postcss-unique-selectors: 6.0.4(postcss@8.4.40) - cssnano-utils@4.0.2(postcss@8.4.39): + cssnano-utils@4.0.2(postcss@8.4.40): dependencies: - postcss: 8.4.39 + postcss: 8.4.40 - cssnano@6.1.2(postcss@8.4.39): + cssnano@6.1.2(postcss@8.4.40): dependencies: - cssnano-preset-default: 6.1.2(postcss@8.4.39) + cssnano-preset-default: 6.1.2(postcss@8.4.40) lilconfig: 3.1.2 - postcss: 8.4.39 + postcss: 8.4.40 csso@5.0.5: dependencies: @@ -8802,7 +8795,7 @@ snapshots: date-fns@2.30.0: dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.25.0 debounce@1.2.1: {} @@ -8810,7 +8803,7 @@ snapshots: dependencies: ms: 2.0.0 - debug@4.3.5: + debug@4.3.6: dependencies: ms: 2.1.2 @@ -8883,7 +8876,7 @@ snapshots: detect-port@1.6.1: dependencies: address: 1.2.2 - debug: 4.3.5 + debug: 4.3.6 transitivePeerDependencies: - supports-color @@ -8901,11 +8894,11 @@ snapshots: dependencies: '@leichtgewicht/ip-codec': 2.0.5 - docusaurus-plugin-redoc@2.1.1(@docusaurus/utils@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4))(core-js@3.37.1)(enzyme@3.11.0)(mobx@6.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): + docusaurus-plugin-redoc@2.1.1(@docusaurus/utils@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4))(core-js@3.37.1)(enzyme@3.11.0)(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): dependencies: '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) '@redocly/openapi-core': 1.16.0 - redoc: 2.1.5(core-js@3.37.1)(enzyme@3.11.0)(mobx@6.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + redoc: 2.1.5(core-js@3.37.1)(enzyme@3.11.0)(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) transitivePeerDependencies: - core-js - encoding @@ -8917,16 +8910,16 @@ snapshots: - styled-components - supports-color - docusaurus-theme-redoc@2.1.1(@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(core-js@3.37.1)(enzyme@3.11.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(webpack@5.92.1): + docusaurus-theme-redoc@2.1.1(@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(core-js@3.37.1)(enzyme@3.11.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(webpack@5.93.0): dependencies: '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@redocly/openapi-core': 1.16.0 clsx: 1.2.1 lodash: 4.17.21 - mobx: 6.13.0 - redoc: 2.1.5(core-js@3.37.1)(enzyme@3.11.0)(mobx@6.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - styled-components: 6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - webpack: 5.92.1 + mobx: 6.13.1 + redoc: 2.1.5(core-js@3.37.1)(enzyme@3.11.0)(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + styled-components: 6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + webpack: 5.93.0 transitivePeerDependencies: - core-js - encoding @@ -8991,7 +8984,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.4.817: {} + electron-to-chromium@1.5.3: {} emoji-regex@8.0.0: {} @@ -9005,7 +8998,7 @@ snapshots: encodeurl@1.0.2: {} - enhanced-resolve@5.17.0: + enhanced-resolve@5.17.1: dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 @@ -9129,12 +9122,12 @@ snapshots: es6-promise@3.3.1: {} - esbuild-loader@4.2.2(webpack@5.92.1): + esbuild-loader@4.2.2(webpack@5.93.0): dependencies: esbuild: 0.21.5 get-tsconfig: 4.7.6 loader-utils: 2.0.4 - webpack: 5.92.1 + webpack: 5.93.0 webpack-sources: 1.4.3 esbuild@0.21.5: @@ -9230,7 +9223,7 @@ snapshots: eval@0.1.8: dependencies: - '@types/node': 20.14.12 + '@types/node': 20.14.13 require-like: 0.1.2 eventemitter3@4.0.7: {} @@ -9307,6 +9300,8 @@ snapshots: fast-safe-stringify@2.1.1: {} + fast-uri@3.0.1: {} + fast-url-parser@1.1.3: dependencies: punycode: 1.4.1 @@ -9327,11 +9322,11 @@ snapshots: dependencies: xml-js: 1.6.11 - file-loader@6.2.0(webpack@5.92.1): + file-loader@6.2.0(webpack@5.93.0): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.92.1 + webpack: 5.93.0 filesize@8.0.7: {} @@ -9372,9 +9367,9 @@ snapshots: flat@5.0.2: {} - follow-redirects@1.15.6(debug@4.3.5): + follow-redirects@1.15.6(debug@4.3.6): optionalDependencies: - debug: 4.3.5 + debug: 4.3.6 for-each@0.3.3: dependencies: @@ -9382,7 +9377,7 @@ snapshots: foreach@2.0.6: {} - fork-ts-checker-webpack-plugin@6.5.3(typescript@5.5.4)(webpack@5.92.1): + fork-ts-checker-webpack-plugin@6.5.3(typescript@5.5.4)(webpack@5.93.0): dependencies: '@babel/code-frame': 7.24.7 '@types/json-schema': 7.0.15 @@ -9395,10 +9390,10 @@ snapshots: memfs: 3.5.3 minimatch: 3.1.2 schema-utils: 2.7.0 - semver: 7.6.2 + semver: 7.6.3 tapable: 1.1.3 typescript: 5.5.4 - webpack: 5.92.1 + webpack: 5.93.0 form-data-encoder@4.0.2: {} @@ -9471,8 +9466,6 @@ snapshots: get-stream@6.0.1: {} - get-stream@8.0.1: {} - get-stream@9.0.1: dependencies: '@sec-ant/readable-stream': 0.4.1 @@ -9551,20 +9544,19 @@ snapshots: dependencies: get-intrinsic: 1.2.4 - got@14.4.1: + got@14.4.2: dependencies: - '@sindresorhus/is': 6.3.1 + '@sindresorhus/is': 7.0.0 '@szmarczak/http-timer': 5.0.1 cacheable-lookup: 7.0.0 cacheable-request: 12.0.1 decompress-response: 6.0.0 form-data-encoder: 4.0.2 - get-stream: 8.0.1 http2-wrapper: 2.2.1 lowercase-keys: 3.0.0 p-cancelable: 4.0.1 responselike: 3.0.0 - type-fest: 4.21.0 + type-fest: 4.23.0 graceful-fs@4.2.10: {} @@ -9616,8 +9608,8 @@ snapshots: devlop: 1.1.0 hastscript: 8.0.0 property-information: 6.5.0 - vfile: 6.0.1 - vfile-location: 5.0.2 + vfile: 6.0.2 + vfile-location: 5.0.3 web-namespaces: 2.0.1 hast-util-parse-selector@4.0.0: @@ -9636,7 +9628,7 @@ snapshots: parse5: 7.1.2 unist-util-position: 5.0.0 unist-util-visit: 5.0.0 - vfile: 6.0.1 + vfile: 6.0.2 web-namespaces: 2.0.1 zwitch: 2.0.4 @@ -9707,7 +9699,7 @@ snapshots: history@4.10.1: dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.25.0 loose-envify: 1.4.0 resolve-pathname: 3.0.0 tiny-invariant: 1.3.3 @@ -9746,7 +9738,7 @@ snapshots: he: 1.2.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.31.1 + terser: 5.31.3 html-minifier-terser@7.2.0: dependencies: @@ -9756,13 +9748,13 @@ snapshots: entities: 4.5.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.31.1 + terser: 5.31.3 html-tags@3.3.1: {} html-void-elements@3.0.0: {} - html-webpack-plugin@5.6.0(webpack@5.92.1): + html-webpack-plugin@5.6.0(webpack@5.93.0): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -9770,7 +9762,7 @@ snapshots: pretty-error: 4.0.0 tapable: 2.2.1 optionalDependencies: - webpack: 5.92.1 + webpack: 5.93.0 htmlparser2@6.1.0: dependencies: @@ -9810,14 +9802,14 @@ snapshots: http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.1 - debug: 4.3.5 + debug: 4.3.6 transitivePeerDependencies: - supports-color - http-proxy-middleware@2.0.6(@types/express@4.17.21)(debug@4.3.5): + http-proxy-middleware@2.0.6(@types/express@4.17.21)(debug@4.3.6): dependencies: '@types/http-proxy': 1.17.14 - http-proxy: 1.18.1(debug@4.3.5) + http-proxy: 1.18.1(debug@4.3.6) is-glob: 4.0.3 is-plain-obj: 3.0.0 micromatch: 4.0.7 @@ -9826,10 +9818,10 @@ snapshots: transitivePeerDependencies: - debug - http-proxy@1.18.1(debug@4.3.5): + http-proxy@1.18.1(debug@4.3.6): dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.6(debug@4.3.5) + follow-redirects: 1.15.6(debug@4.3.6) requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -9844,7 +9836,7 @@ snapshots: https-proxy-agent@7.0.5: dependencies: agent-base: 7.1.1 - debug: 4.3.5 + debug: 4.3.6 transitivePeerDependencies: - supports-color @@ -9858,9 +9850,9 @@ snapshots: dependencies: safer-buffer: 2.1.2 - icss-utils@5.1.0(postcss@8.4.39): + icss-utils@5.1.0(postcss@8.4.40): dependencies: - postcss: 8.4.39 + postcss: 8.4.40 ignore@5.3.1: {} @@ -9951,7 +9943,7 @@ snapshots: dependencies: ci-info: 3.9.0 - is-core-module@2.14.0: + is-core-module@2.15.0: dependencies: hasown: 2.0.2 @@ -10083,7 +10075,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.14.12 + '@types/node': 20.14.13 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -10091,13 +10083,13 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.14.12 + '@types/node': 20.14.13 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@29.7.0: dependencies: - '@types/node': 20.14.12 + '@types/node': 20.14.13 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -10267,7 +10259,7 @@ snapshots: markdown-table@3.0.3: {} - marked@13.0.2: {} + marked@13.0.3: {} marked@4.3.0: {} @@ -10441,7 +10433,7 @@ snapshots: trim-lines: 3.0.1 unist-util-position: 5.0.0 unist-util-visit: 5.0.0 - vfile: 6.0.1 + vfile: 6.0.2 mdast-util-to-markdown@2.1.0: dependencies: @@ -10495,7 +10487,7 @@ snapshots: micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - micromark-extension-directive@3.0.0: + micromark-extension-directive@3.0.1: dependencies: devlop: 1.1.0 micromark-factory-space: 2.0.0 @@ -10752,7 +10744,7 @@ snapshots: micromark@4.0.0: dependencies: '@types/debug': 4.1.12 - debug: 4.3.5 + debug: 4.3.6 decode-named-character-reference: 1.0.2 devlop: 1.1.0 micromark-core-commonmark: 2.0.1 @@ -10780,6 +10772,8 @@ snapshots: mime-db@1.52.0: {} + mime-db@1.53.0: {} + mime-types@2.1.18: dependencies: mime-db: 1.33.0 @@ -10796,11 +10790,11 @@ snapshots: mimic-response@4.0.0: {} - mini-css-extract-plugin@2.9.0(webpack@5.92.1): + mini-css-extract-plugin@2.9.0(webpack@5.93.0): dependencies: schema-utils: 4.2.0 tapable: 2.2.1 - webpack: 5.92.1 + webpack: 5.93.0 minimalistic-assert@1.0.1: {} @@ -10814,23 +10808,23 @@ snapshots: minimist@1.2.8: {} - mobx-react-lite@4.0.7(mobx@6.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + mobx-react-lite@4.0.7(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - mobx: 6.13.0 + mobx: 6.13.1 react: 18.3.1 use-sync-external-store: 1.2.2(react@18.3.1) optionalDependencies: react-dom: 18.3.1(react@18.3.1) - mobx-react@9.1.1(mobx@6.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + mobx-react@9.1.1(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - mobx: 6.13.0 - mobx-react-lite: 4.0.7(mobx@6.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + mobx: 6.13.1 + mobx-react-lite: 4.0.7(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 optionalDependencies: react-dom: 18.3.1(react@18.3.1) - mobx@6.13.0: {} + mobx@6.13.1: {} moo@0.5.2: {} @@ -10886,7 +10880,7 @@ snapshots: dependencies: es6-promise: 3.3.1 - node-releases@2.0.14: {} + node-releases@2.0.18: {} normalize-path@3.0.0: {} @@ -11035,10 +11029,10 @@ snapshots: package-json@8.1.1: dependencies: - got: 14.4.1 + got: 14.4.2 registry-auth-token: 5.0.2 registry-url: 6.0.1 - semver: 7.6.2 + semver: 7.6.3 param-case@3.0.4: dependencies: @@ -11137,219 +11131,219 @@ snapshots: polished@4.3.1: dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.25.0 possible-typed-array-names@1.0.0: {} - postcss-calc@9.0.1(postcss@8.4.39): + postcss-calc@9.0.1(postcss@8.4.40): dependencies: - postcss: 8.4.39 - postcss-selector-parser: 6.1.0 + postcss: 8.4.40 + postcss-selector-parser: 6.1.1 postcss-value-parser: 4.2.0 - postcss-colormin@6.1.0(postcss@8.4.39): + postcss-colormin@6.1.0(postcss@8.4.40): dependencies: - browserslist: 4.23.1 + browserslist: 4.23.2 caniuse-api: 3.0.0 colord: 2.9.3 - postcss: 8.4.39 + postcss: 8.4.40 postcss-value-parser: 4.2.0 - postcss-convert-values@6.1.0(postcss@8.4.39): + postcss-convert-values@6.1.0(postcss@8.4.40): dependencies: - browserslist: 4.23.1 - postcss: 8.4.39 + browserslist: 4.23.2 + postcss: 8.4.40 postcss-value-parser: 4.2.0 - postcss-discard-comments@6.0.2(postcss@8.4.39): + postcss-discard-comments@6.0.2(postcss@8.4.40): dependencies: - postcss: 8.4.39 + postcss: 8.4.40 - postcss-discard-duplicates@6.0.3(postcss@8.4.39): + postcss-discard-duplicates@6.0.3(postcss@8.4.40): dependencies: - postcss: 8.4.39 + postcss: 8.4.40 - postcss-discard-empty@6.0.3(postcss@8.4.39): + postcss-discard-empty@6.0.3(postcss@8.4.40): dependencies: - postcss: 8.4.39 + postcss: 8.4.40 - postcss-discard-overridden@6.0.2(postcss@8.4.39): + postcss-discard-overridden@6.0.2(postcss@8.4.40): dependencies: - postcss: 8.4.39 + postcss: 8.4.40 - postcss-discard-unused@6.0.5(postcss@8.4.39): + postcss-discard-unused@6.0.5(postcss@8.4.40): dependencies: - postcss: 8.4.39 - postcss-selector-parser: 6.1.0 + postcss: 8.4.40 + postcss-selector-parser: 6.1.1 - postcss-loader@7.3.4(postcss@8.4.39)(typescript@5.5.4)(webpack@5.92.1): + postcss-loader@7.3.4(postcss@8.4.40)(typescript@5.5.4)(webpack@5.93.0): dependencies: cosmiconfig: 8.3.6(typescript@5.5.4) jiti: 1.21.6 - postcss: 8.4.39 - semver: 7.6.2 - webpack: 5.92.1 + postcss: 8.4.40 + semver: 7.6.3 + webpack: 5.93.0 transitivePeerDependencies: - typescript - postcss-merge-idents@6.0.3(postcss@8.4.39): + postcss-merge-idents@6.0.3(postcss@8.4.40): dependencies: - cssnano-utils: 4.0.2(postcss@8.4.39) - postcss: 8.4.39 + cssnano-utils: 4.0.2(postcss@8.4.40) + postcss: 8.4.40 postcss-value-parser: 4.2.0 - postcss-merge-longhand@6.0.5(postcss@8.4.39): + postcss-merge-longhand@6.0.5(postcss@8.4.40): dependencies: - postcss: 8.4.39 + postcss: 8.4.40 postcss-value-parser: 4.2.0 - stylehacks: 6.1.1(postcss@8.4.39) + stylehacks: 6.1.1(postcss@8.4.40) - postcss-merge-rules@6.1.1(postcss@8.4.39): + postcss-merge-rules@6.1.1(postcss@8.4.40): dependencies: - browserslist: 4.23.1 + browserslist: 4.23.2 caniuse-api: 3.0.0 - cssnano-utils: 4.0.2(postcss@8.4.39) - postcss: 8.4.39 - postcss-selector-parser: 6.1.0 + cssnano-utils: 4.0.2(postcss@8.4.40) + postcss: 8.4.40 + postcss-selector-parser: 6.1.1 - postcss-minify-font-values@6.1.0(postcss@8.4.39): + postcss-minify-font-values@6.1.0(postcss@8.4.40): dependencies: - postcss: 8.4.39 + postcss: 8.4.40 postcss-value-parser: 4.2.0 - postcss-minify-gradients@6.0.3(postcss@8.4.39): + postcss-minify-gradients@6.0.3(postcss@8.4.40): dependencies: colord: 2.9.3 - cssnano-utils: 4.0.2(postcss@8.4.39) - postcss: 8.4.39 + cssnano-utils: 4.0.2(postcss@8.4.40) + postcss: 8.4.40 postcss-value-parser: 4.2.0 - postcss-minify-params@6.1.0(postcss@8.4.39): + postcss-minify-params@6.1.0(postcss@8.4.40): dependencies: - browserslist: 4.23.1 - cssnano-utils: 4.0.2(postcss@8.4.39) - postcss: 8.4.39 + browserslist: 4.23.2 + cssnano-utils: 4.0.2(postcss@8.4.40) + postcss: 8.4.40 postcss-value-parser: 4.2.0 - postcss-minify-selectors@6.0.4(postcss@8.4.39): + postcss-minify-selectors@6.0.4(postcss@8.4.40): dependencies: - postcss: 8.4.39 - postcss-selector-parser: 6.1.0 + postcss: 8.4.40 + postcss-selector-parser: 6.1.1 - postcss-modules-extract-imports@3.1.0(postcss@8.4.39): + postcss-modules-extract-imports@3.1.0(postcss@8.4.40): dependencies: - postcss: 8.4.39 + postcss: 8.4.40 - postcss-modules-local-by-default@4.0.5(postcss@8.4.39): + postcss-modules-local-by-default@4.0.5(postcss@8.4.40): dependencies: - icss-utils: 5.1.0(postcss@8.4.39) - postcss: 8.4.39 - postcss-selector-parser: 6.1.0 + icss-utils: 5.1.0(postcss@8.4.40) + postcss: 8.4.40 + postcss-selector-parser: 6.1.1 postcss-value-parser: 4.2.0 - postcss-modules-scope@3.2.0(postcss@8.4.39): + postcss-modules-scope@3.2.0(postcss@8.4.40): dependencies: - postcss: 8.4.39 - postcss-selector-parser: 6.1.0 + postcss: 8.4.40 + postcss-selector-parser: 6.1.1 - postcss-modules-values@4.0.0(postcss@8.4.39): + postcss-modules-values@4.0.0(postcss@8.4.40): dependencies: - icss-utils: 5.1.0(postcss@8.4.39) - postcss: 8.4.39 + icss-utils: 5.1.0(postcss@8.4.40) + postcss: 8.4.40 - postcss-normalize-charset@6.0.2(postcss@8.4.39): + postcss-normalize-charset@6.0.2(postcss@8.4.40): dependencies: - postcss: 8.4.39 + postcss: 8.4.40 - postcss-normalize-display-values@6.0.2(postcss@8.4.39): + postcss-normalize-display-values@6.0.2(postcss@8.4.40): dependencies: - postcss: 8.4.39 + postcss: 8.4.40 postcss-value-parser: 4.2.0 - postcss-normalize-positions@6.0.2(postcss@8.4.39): + postcss-normalize-positions@6.0.2(postcss@8.4.40): dependencies: - postcss: 8.4.39 + postcss: 8.4.40 postcss-value-parser: 4.2.0 - postcss-normalize-repeat-style@6.0.2(postcss@8.4.39): + postcss-normalize-repeat-style@6.0.2(postcss@8.4.40): dependencies: - postcss: 8.4.39 + postcss: 8.4.40 postcss-value-parser: 4.2.0 - postcss-normalize-string@6.0.2(postcss@8.4.39): + postcss-normalize-string@6.0.2(postcss@8.4.40): dependencies: - postcss: 8.4.39 + postcss: 8.4.40 postcss-value-parser: 4.2.0 - postcss-normalize-timing-functions@6.0.2(postcss@8.4.39): + postcss-normalize-timing-functions@6.0.2(postcss@8.4.40): dependencies: - postcss: 8.4.39 + postcss: 8.4.40 postcss-value-parser: 4.2.0 - postcss-normalize-unicode@6.1.0(postcss@8.4.39): + postcss-normalize-unicode@6.1.0(postcss@8.4.40): dependencies: - browserslist: 4.23.1 - postcss: 8.4.39 + browserslist: 4.23.2 + postcss: 8.4.40 postcss-value-parser: 4.2.0 - postcss-normalize-url@6.0.2(postcss@8.4.39): + postcss-normalize-url@6.0.2(postcss@8.4.40): dependencies: - postcss: 8.4.39 + postcss: 8.4.40 postcss-value-parser: 4.2.0 - postcss-normalize-whitespace@6.0.2(postcss@8.4.39): + postcss-normalize-whitespace@6.0.2(postcss@8.4.40): dependencies: - postcss: 8.4.39 + postcss: 8.4.40 postcss-value-parser: 4.2.0 - postcss-ordered-values@6.0.2(postcss@8.4.39): + postcss-ordered-values@6.0.2(postcss@8.4.40): dependencies: - cssnano-utils: 4.0.2(postcss@8.4.39) - postcss: 8.4.39 + cssnano-utils: 4.0.2(postcss@8.4.40) + postcss: 8.4.40 postcss-value-parser: 4.2.0 - postcss-reduce-idents@6.0.3(postcss@8.4.39): + postcss-reduce-idents@6.0.3(postcss@8.4.40): dependencies: - postcss: 8.4.39 + postcss: 8.4.40 postcss-value-parser: 4.2.0 - postcss-reduce-initial@6.1.0(postcss@8.4.39): + postcss-reduce-initial@6.1.0(postcss@8.4.40): dependencies: - browserslist: 4.23.1 + browserslist: 4.23.2 caniuse-api: 3.0.0 - postcss: 8.4.39 + postcss: 8.4.40 - postcss-reduce-transforms@6.0.2(postcss@8.4.39): + postcss-reduce-transforms@6.0.2(postcss@8.4.40): dependencies: - postcss: 8.4.39 + postcss: 8.4.40 postcss-value-parser: 4.2.0 - postcss-selector-parser@6.1.0: + postcss-selector-parser@6.1.1: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss-sort-media-queries@5.2.0(postcss@8.4.39): + postcss-sort-media-queries@5.2.0(postcss@8.4.40): dependencies: - postcss: 8.4.39 + postcss: 8.4.40 sort-css-media-queries: 2.2.0 - postcss-svgo@6.0.3(postcss@8.4.39): + postcss-svgo@6.0.3(postcss@8.4.40): dependencies: - postcss: 8.4.39 + postcss: 8.4.40 postcss-value-parser: 4.2.0 svgo: 3.3.2 - postcss-unique-selectors@6.0.4(postcss@8.4.39): + postcss-unique-selectors@6.0.4(postcss@8.4.40): dependencies: - postcss: 8.4.39 - postcss-selector-parser: 6.1.0 + postcss: 8.4.40 + postcss-selector-parser: 6.1.1 postcss-value-parser@4.2.0: {} - postcss-zindex@6.0.2(postcss@8.4.39): + postcss-zindex@6.0.2(postcss@8.4.40): dependencies: - postcss: 8.4.39 + postcss: 8.4.40 postcss@8.4.38: dependencies: @@ -11357,7 +11351,7 @@ snapshots: picocolors: 1.0.1 source-map-js: 1.2.0 - postcss@8.4.39: + postcss@8.4.40: dependencies: nanoid: 3.3.7 picocolors: 1.0.1 @@ -11459,18 +11453,18 @@ snapshots: minimist: 1.2.8 strip-json-comments: 2.0.1 - react-dev-utils@12.0.1(typescript@5.5.4)(webpack@5.92.1): + react-dev-utils@12.0.1(typescript@5.5.4)(webpack@5.93.0): dependencies: '@babel/code-frame': 7.24.7 address: 1.2.2 - browserslist: 4.23.1 + browserslist: 4.23.2 chalk: 4.1.2 cross-spawn: 7.0.3 detect-port-alt: 1.1.6 escape-string-regexp: 4.0.0 filesize: 8.0.7 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(typescript@5.5.4)(webpack@5.92.1) + fork-ts-checker-webpack-plugin: 6.5.3(typescript@5.5.4)(webpack@5.93.0) global-modules: 2.0.0 globby: 11.1.0 gzip-size: 6.0.0 @@ -11485,7 +11479,7 @@ snapshots: shell-quote: 1.8.1 strip-ansi: 6.0.1 text-table: 0.2.0 - webpack: 5.92.1 + webpack: 5.93.0 optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: @@ -11505,7 +11499,7 @@ snapshots: react-helmet-async@1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.25.0 invariant: 2.2.4 prop-types: 15.8.1 react: 18.3.1 @@ -11528,21 +11522,21 @@ snapshots: dependencies: react: 18.3.1 - react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.92.1): + react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.93.0): dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.25.0 react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)' - webpack: 5.92.1 + webpack: 5.93.0 react-router-config@5.1.1(react-router@5.3.4(react@18.3.1))(react@18.3.1): dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.25.0 react: 18.3.1 react-router: 5.3.4(react@18.3.1) react-router-dom@5.3.4(react@18.3.1): dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.25.0 history: 4.10.1 loose-envify: 1.4.0 prop-types: 15.8.1 @@ -11553,7 +11547,7 @@ snapshots: react-router@5.3.4(react@18.3.1): dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.25.0 history: 4.10.1 hoist-non-react-statics: 3.3.2 loose-envify: 1.4.0 @@ -11610,7 +11604,7 @@ snapshots: dependencies: minimatch: 3.1.2 - redoc@2.1.5(core-js@3.37.1)(enzyme@3.11.0)(mobx@6.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): + redoc@2.1.5(core-js@3.37.1)(enzyme@3.11.0)(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): dependencies: '@cfaester/enzyme-adapter-react-18': 0.8.0(enzyme@3.11.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@redocly/openapi-core': 1.16.0 @@ -11623,8 +11617,8 @@ snapshots: lunr: 2.3.9 mark.js: 8.11.1 marked: 4.3.0 - mobx: 6.13.0 - mobx-react: 9.1.1(mobx@6.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + mobx: 6.13.1 + mobx-react: 9.1.1(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) openapi-sampler: 1.5.1 path-browserify: 1.0.1 perfect-scrollbar: 1.5.5 @@ -11636,7 +11630,7 @@ snapshots: react-tabs: 6.0.2(react@18.3.1) slugify: 1.4.7 stickyfill: 1.1.1 - styled-components: 6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + styled-components: 6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1) swagger2openapi: 7.0.8 url-template: 2.0.8 transitivePeerDependencies: @@ -11645,12 +11639,12 @@ snapshots: - react-native - supports-color - redocusaurus@2.1.1(@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/utils@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4))(core-js@3.37.1)(enzyme@3.11.0)(mobx@6.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(webpack@5.92.1): + redocusaurus@2.1.1(@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/utils@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4))(core-js@3.37.1)(enzyme@3.11.0)(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(webpack@5.93.0): dependencies: '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - docusaurus-plugin-redoc: 2.1.1(@docusaurus/utils@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4))(core-js@3.37.1)(enzyme@3.11.0)(mobx@6.13.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - docusaurus-theme-redoc: 2.1.1(@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(core-js@3.37.1)(enzyme@3.11.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(webpack@5.92.1) + docusaurus-plugin-redoc: 2.1.1(@docusaurus/utils@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4))(core-js@3.37.1)(enzyme@3.11.0)(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + docusaurus-theme-redoc: 2.1.1(@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(core-js@3.37.1)(enzyme@3.11.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(webpack@5.93.0) transitivePeerDependencies: - core-js - encoding @@ -11675,7 +11669,7 @@ snapshots: regenerator-transform@0.15.2: dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.25.0 regexp.prototype.flags@1.5.2: dependencies: @@ -11709,7 +11703,7 @@ snapshots: dependencies: '@types/hast': 3.0.4 hast-util-raw: 9.0.4 - vfile: 6.0.1 + vfile: 6.0.2 relateurl@0.2.7: {} @@ -11717,7 +11711,7 @@ snapshots: dependencies: '@types/mdast': 4.0.4 mdast-util-directive: 3.0.0 - micromark-extension-directive: 3.0.0 + micromark-extension-directive: 3.0.1 unified: 11.0.5 transitivePeerDependencies: - supports-color @@ -11772,7 +11766,7 @@ snapshots: '@types/mdast': 4.0.4 mdast-util-to-hast: 13.2.0 unified: 11.0.5 - vfile: 6.0.1 + vfile: 6.0.2 remark-stringify@11.0.0: dependencies: @@ -11806,7 +11800,7 @@ snapshots: resolve@1.22.8: dependencies: - is-core-module: 2.14.0 + is-core-module: 2.15.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -11835,11 +11829,11 @@ snapshots: rtl-detect@1.1.2: {} - rtlcss@4.1.1: + rtlcss@4.2.0: dependencies: escalade: 3.1.2 picocolors: 1.0.1 - postcss: 8.4.39 + postcss: 8.4.40 strip-json-comments: 3.1.1 run-parallel@1.2.0: @@ -11894,11 +11888,11 @@ snapshots: schema-utils@4.2.0: dependencies: '@types/json-schema': 7.0.15 - ajv: 8.16.0 - ajv-formats: 2.1.1(ajv@8.16.0) - ajv-keywords: 5.1.0(ajv@8.16.0) + ajv: 8.17.1 + ajv-formats: 2.1.1(ajv@8.17.1) + ajv-keywords: 5.1.0(ajv@8.17.1) - search-insights@2.14.0: {} + search-insights@2.15.0: {} section-matter@1.0.0: dependencies: @@ -11914,11 +11908,11 @@ snapshots: semver-diff@4.0.0: dependencies: - semver: 7.6.2 + semver: 7.6.3 semver@6.3.1: {} - semver@7.6.2: {} + semver@7.6.3: {} send@0.18.0: dependencies: @@ -12106,7 +12100,7 @@ snapshots: spdy-transport@3.0.0: dependencies: - debug: 4.3.5 + debug: 4.3.6 detect-node: 2.1.0 hpack.js: 2.1.6 obuf: 1.1.2 @@ -12117,7 +12111,7 @@ snapshots: spdy@4.0.2: dependencies: - debug: 4.3.5 + debug: 4.3.6 handle-thing: 2.0.1 http-deceiver: 1.2.7 select-hose: 2.0.0 @@ -12211,7 +12205,7 @@ snapshots: dependencies: inline-style-parser: 0.2.3 - styled-components@6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + styled-components@6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@emotion/is-prop-valid': 1.2.2 '@emotion/unitless': 0.8.1 @@ -12225,11 +12219,11 @@ snapshots: stylis: 4.3.2 tslib: 2.6.2 - stylehacks@6.1.1(postcss@8.4.39): + stylehacks@6.1.1(postcss@8.4.40): dependencies: - browserslist: 4.23.1 - postcss: 8.4.39 - postcss-selector-parser: 6.1.0 + browserslist: 4.23.2 + postcss: 8.4.40 + postcss-selector-parser: 6.1.1 stylis@4.3.2: {} @@ -12281,16 +12275,16 @@ snapshots: tapable@2.2.1: {} - terser-webpack-plugin@5.3.10(webpack@5.92.1): + terser-webpack-plugin@5.3.10(webpack@5.93.0): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 - terser: 5.31.1 - webpack: 5.92.1 + terser: 5.31.3 + webpack: 5.93.0 - terser@5.31.1: + terser@5.31.3: dependencies: '@jridgewell/source-map': 0.3.6 acorn: 8.12.1 @@ -12342,7 +12336,7 @@ snapshots: type-fest@2.19.0: {} - type-fest@4.21.0: {} + type-fest@4.23.0: {} type-is@1.6.18: dependencies: @@ -12417,7 +12411,7 @@ snapshots: extend: 3.0.2 is-plain-obj: 4.1.0 trough: 2.2.0 - vfile: 6.0.1 + vfile: 6.0.2 unique-string@3.0.0: dependencies: @@ -12461,9 +12455,9 @@ snapshots: unpipe@1.0.0: {} - update-browserslist-db@1.1.0(browserslist@4.23.1): + update-browserslist-db@1.1.0(browserslist@4.23.2): dependencies: - browserslist: 4.23.1 + browserslist: 4.23.2 escalade: 3.1.2 picocolors: 1.0.1 @@ -12480,7 +12474,7 @@ snapshots: is-yarn-global: 0.4.1 latest-version: 7.0.0 pupa: 3.1.0 - semver: 7.6.2 + semver: 7.6.3 semver-diff: 4.0.0 xdg-basedir: 5.1.0 @@ -12488,14 +12482,14 @@ snapshots: dependencies: punycode: 2.3.1 - url-loader@4.1.1(file-loader@6.2.0(webpack@5.92.1))(webpack@5.92.1): + url-loader@4.1.1(file-loader@6.2.0(webpack@5.93.0))(webpack@5.93.0): dependencies: loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.3.0 - webpack: 5.92.1 + webpack: 5.93.0 optionalDependencies: - file-loader: 6.2.0(webpack@5.92.1) + file-loader: 6.2.0(webpack@5.93.0) url-parse@1.5.10: dependencies: @@ -12522,17 +12516,17 @@ snapshots: vary@1.1.2: {} - vfile-location@5.0.2: + vfile-location@5.0.3: dependencies: '@types/unist': 3.0.2 - vfile: 6.0.1 + vfile: 6.0.2 vfile-message@4.0.2: dependencies: '@types/unist': 3.0.2 unist-util-stringify-position: 4.0.0 - vfile@6.0.1: + vfile@6.0.2: dependencies: '@types/unist': 3.0.2 unist-util-stringify-position: 4.0.0 @@ -12575,16 +12569,16 @@ snapshots: - bufferutil - utf-8-validate - webpack-dev-middleware@5.3.4(webpack@5.92.1): + webpack-dev-middleware@5.3.4(webpack@5.93.0): dependencies: colorette: 2.0.20 memfs: 3.5.3 mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.92.1 + webpack: 5.93.0 - webpack-dev-server@4.15.2(debug@4.3.5)(webpack@5.92.1): + webpack-dev-server@4.15.2(debug@4.3.6)(webpack@5.93.0): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -12592,7 +12586,7 @@ snapshots: '@types/serve-index': 1.9.4 '@types/serve-static': 1.15.7 '@types/sockjs': 0.3.36 - '@types/ws': 8.5.10 + '@types/ws': 8.5.12 ansi-html-community: 0.0.8 bonjour-service: 1.2.1 chokidar: 3.6.0 @@ -12603,7 +12597,7 @@ snapshots: express: 4.19.2 graceful-fs: 4.2.11 html-entities: 2.5.2 - http-proxy-middleware: 2.0.6(@types/express@4.17.21)(debug@4.3.5) + http-proxy-middleware: 2.0.6(@types/express@4.17.21)(debug@4.3.6) ipaddr.js: 2.2.0 launch-editor: 2.8.0 open: 8.4.2 @@ -12614,10 +12608,10 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 5.3.4(webpack@5.92.1) + webpack-dev-middleware: 5.3.4(webpack@5.93.0) ws: 8.18.0 optionalDependencies: - webpack: 5.92.1 + webpack: 5.93.0 transitivePeerDependencies: - bufferutil - debug @@ -12637,7 +12631,7 @@ snapshots: webpack-sources@3.2.3: {} - webpack@5.92.1: + webpack@5.93.0: dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.5 @@ -12646,9 +12640,9 @@ snapshots: '@webassemblyjs/wasm-parser': 1.12.1 acorn: 8.12.1 acorn-import-attributes: 1.9.5(acorn@8.12.1) - browserslist: 4.23.1 + browserslist: 4.23.2 chrome-trace-event: 1.0.4 - enhanced-resolve: 5.17.0 + enhanced-resolve: 5.17.1 es-module-lexer: 1.5.4 eslint-scope: 5.1.1 events: 3.3.0 @@ -12660,7 +12654,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(webpack@5.92.1) + terser-webpack-plugin: 5.3.10(webpack@5.93.0) watchpack: 2.4.1 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -12668,13 +12662,13 @@ snapshots: - esbuild - uglify-js - webpackbar@5.0.2(webpack@5.92.1): + webpackbar@5.0.2(webpack@5.93.0): dependencies: chalk: 4.1.2 consola: 2.15.3 pretty-time: 1.1.0 std-env: 3.7.0 - webpack: 5.92.1 + webpack: 5.93.0 websocket-driver@0.7.4: dependencies: diff --git a/web/pnpm-lock.yaml b/web/pnpm-lock.yaml index 40ac6169d..2508fd661 100644 --- a/web/pnpm-lock.yaml +++ b/web/pnpm-lock.yaml @@ -13,16 +13,16 @@ importers: dependencies: '@intlify/unplugin-vue-i18n': specifier: ^4.0.0 - version: 4.0.0(rollup@4.18.1)(vue-i18n@9.13.1(vue@3.4.32(typescript@5.5.3))) + version: 4.0.0(rollup@4.19.1)(vue-i18n@9.13.1(vue@3.4.34(typescript@5.5.3))) '@kyvg/vue3-notification': specifier: ^3.2.1 - version: 3.2.1(vue@3.4.32(typescript@5.5.3)) + version: 3.2.1(vue@3.4.34(typescript@5.5.3)) '@mdi/js': specifier: ^7.4.47 version: 7.4.47 '@vueuse/core': specifier: ^10.10.0 - version: 10.11.0(vue@3.4.32(typescript@5.5.3)) + version: 10.11.0(vue@3.4.34(typescript@5.5.3)) ansi_up: specifier: ^6.0.2 version: 6.0.2 @@ -43,7 +43,7 @@ importers: version: 2.1.3 pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.5.3)(vue@3.4.32(typescript@5.5.3)) + version: 2.2.0(typescript@5.5.3)(vue@3.4.34(typescript@5.5.3)) prismjs: specifier: ^1.29.0 version: 1.29.0 @@ -55,26 +55,26 @@ importers: version: 12.4.0 vue: specifier: ^3.4.27 - version: 3.4.32(typescript@5.5.3) + version: 3.4.34(typescript@5.5.3) vue-i18n: specifier: ^9.13.1 - version: 9.13.1(vue@3.4.32(typescript@5.5.3)) + version: 9.13.1(vue@3.4.34(typescript@5.5.3)) vue-router: specifier: ^4.3.2 - version: 4.4.0(vue@3.4.32(typescript@5.5.3)) + version: 4.4.0(vue@3.4.34(typescript@5.5.3)) devDependencies: '@antfu/eslint-config': specifier: ^2.20.0 - version: 2.23.0(@vue/compiler-sfc@3.4.32)(eslint@9.7.0)(typescript@5.5.3)(vitest@2.0.3(@types/node@20.14.11)(jsdom@24.1.0)(stylus@0.57.0)) + version: 2.24.0(@vue/compiler-sfc@3.4.34)(eslint@9.8.0)(typescript@5.5.3)(vitest@2.0.4(@types/node@20.14.13)(jsdom@24.1.1)(stylus@0.57.0)) '@eslint/js': specifier: ^9.4.0 - version: 9.7.0 + version: 9.8.0 '@ianvs/prettier-plugin-sort-imports': specifier: ^4.2.1 - version: 4.3.1(@vue/compiler-sfc@3.4.32)(prettier@3.3.3) + version: 4.3.1(@vue/compiler-sfc@3.4.34)(prettier@3.3.3) '@intlify/eslint-plugin-vue-i18n': specifier: 3.0.0 - version: 3.0.0(eslint@9.7.0) + version: 3.0.0(eslint@9.8.0) '@types/eslint__js': specifier: ^8.42.3 version: 8.42.3 @@ -83,7 +83,7 @@ importers: version: 4.17.7 '@types/node': specifier: ^20.14.2 - version: 20.14.11 + version: 20.14.13 '@types/prismjs': specifier: ^1.26.4 version: 1.26.4 @@ -95,25 +95,25 @@ importers: version: 1.4.6 '@vitejs/plugin-vue': specifier: ^5.0.5 - version: 5.0.5(vite@5.3.4(@types/node@20.14.11)(stylus@0.57.0))(vue@3.4.32(typescript@5.5.3)) + version: 5.1.1(vite@5.3.5(@types/node@20.14.13)(stylus@0.57.0))(vue@3.4.34(typescript@5.5.3)) '@vue/compiler-sfc': specifier: ^3.4.27 - version: 3.4.32 + version: 3.4.34 '@vue/test-utils': specifier: ^2.4.6 version: 2.4.6 eslint: specifier: ^9.4.0 - version: 9.7.0 + version: 9.8.0 eslint-plugin-promise: specifier: ^6.2.0 - version: 6.4.0(eslint@9.7.0) + version: 6.6.0(eslint@9.8.0) eslint-plugin-vue-scoped-css: specifier: ^2.8.0 - version: 2.8.1(eslint@9.7.0)(vue-eslint-parser@9.4.3(eslint@9.7.0)) + version: 2.8.1(eslint@9.8.0)(vue-eslint-parser@9.4.3(eslint@9.8.0)) jsdom: specifier: ^24.1.0 - version: 24.1.0 + version: 24.1.1 prettier: specifier: ^3.3.0 version: 3.3.3 @@ -128,25 +128,25 @@ importers: version: 5.5.3 typescript-eslint: specifier: ^7.12.0 - version: 7.16.1(eslint@9.7.0)(typescript@5.5.3) + version: 7.18.0(eslint@9.8.0)(typescript@5.5.3) vite: specifier: ^5.2.12 - version: 5.3.4(@types/node@20.14.11)(stylus@0.57.0) + version: 5.3.5(@types/node@20.14.13)(stylus@0.57.0) vite-plugin-prismjs: specifier: ^0.0.11 version: 0.0.11(prismjs@1.29.0) vite-plugin-windicss: specifier: ^1.9.3 - version: 1.9.3(vite@5.3.4(@types/node@20.14.11)(stylus@0.57.0)) + version: 1.9.3(vite@5.3.5(@types/node@20.14.13)(stylus@0.57.0)) vite-svg-loader: specifier: ^5.1.0 - version: 5.1.0(vue@3.4.32(typescript@5.5.3)) + version: 5.1.0(vue@3.4.34(typescript@5.5.3)) vitest: specifier: ^2.0.0 - version: 2.0.3(@types/node@20.14.11)(jsdom@24.1.0)(stylus@0.57.0) + version: 2.0.4(@types/node@20.14.13)(jsdom@24.1.1)(stylus@0.57.0) vue-tsc: specifier: ^2.0.19 - version: 2.0.26(typescript@5.5.3) + version: 2.0.29(typescript@5.5.3) windicss: specifier: ^3.5.6 version: 3.5.6 @@ -157,8 +157,8 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@antfu/eslint-config@2.23.0': - resolution: {integrity: sha512-+ibN5QHV78JFWRa+Y9ttHj75d8zOb0NQjWXWeRlVwr1+WSns8UnEPd40dqzzUXq0D76FJ9gkMAlzKeEyfubkTQ==} + '@antfu/eslint-config@2.24.0': + resolution: {integrity: sha512-F5wG5lP+f16aeQMVn1l5Wetd8973NsyaWirc9s3YCoe7LTBMpkxnduzTT/wP4L5OlLNLDTRQbH9GUMedTixcsA==} hasBin: true peerDependencies: '@eslint-react/eslint-plugin': ^1.5.8 @@ -203,16 +203,6 @@ packages: svelte-eslint-parser: optional: true - '@antfu/eslint-plugin-unused-imports@4.0.0': - resolution: {integrity: sha512-bvM3EnoradE3WbdOWafEGj0VzTi455gWvjmIHsmpWoIHJ6XehjnJh8Dq3+sz8t3bh14LQyFBKTx3m24q2zE1dw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - '@typescript-eslint/eslint-plugin': ^8.0.0-0 - eslint: ^9.0.0 - peerDependenciesMeta: - '@typescript-eslint/eslint-plugin': - optional: true - '@antfu/install-pkg@0.3.3': resolution: {integrity: sha512-nHHsk3NXQ6xkCfiRRC8Nfrg8pU5kkr3P3Y9s9dKqiuRmBD0Yap7fymNDjGFKeWhZQHqqbCS5CfeMy9wtExM24w==} @@ -223,58 +213,28 @@ packages: resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.24.7': - resolution: {integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==} + '@babel/compat-data@7.25.2': + resolution: {integrity: sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.24.9': - resolution: {integrity: sha512-e701mcfApCJqMMueQI0Fb68Amflj83+dvAvHawoBpAz+GDjCIyGHzNwnefjsWJ3xiYAqqiQFoWbspGYBdb2/ng==} + '@babel/core@7.25.2': + resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} engines: {node: '>=6.9.0'} - '@babel/core@7.24.7': - resolution: {integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==} + '@babel/generator@7.25.0': + resolution: {integrity: sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==} engines: {node: '>=6.9.0'} - '@babel/core@7.24.9': - resolution: {integrity: sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg==} - engines: {node: '>=6.9.0'} - - '@babel/generator@7.24.10': - resolution: {integrity: sha512-o9HBZL1G2129luEUlG1hB4N/nlYNWHnpwlND9eOMclRqqu1YDy2sSYVCFUZwl8I1Gxh+QSRrP2vD7EpUmFVXxg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-compilation-targets@7.24.7': - resolution: {integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-compilation-targets@7.24.8': - resolution: {integrity: sha512-oU+UoqCHdp+nWVDkpldqIQL/i/bvAv53tRqLG/s+cOXxe66zOYLU7ar/Xs3LdmBihrUMEUhwu6dMZwbNOYDwvw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-environment-visitor@7.24.7': - resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-function-name@7.24.7': - resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-hoist-variables@7.24.7': - resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} + '@babel/helper-compilation-targets@7.25.2': + resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} engines: {node: '>=6.9.0'} '@babel/helper-module-imports@7.24.7': resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.24.7': - resolution: {integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-module-transforms@7.24.9': - resolution: {integrity: sha512-oYbh+rtFKj/HwBQkFlUzvcybzklmVdVV3UU+mN7n2t/q3yGHbuVdNxyFvSBO1tfvjyArpHNcWMAzsSPdyI46hw==} + '@babel/helper-module-transforms@7.25.2': + resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -283,10 +243,6 @@ packages: resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} engines: {node: '>=6.9.0'} - '@babel/helper-split-export-declaration@7.24.7': - resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} - engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.24.8': resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} engines: {node: '>=6.9.0'} @@ -295,45 +251,37 @@ packages: resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.24.7': - resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==} - engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.24.8': resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.24.7': - resolution: {integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==} - engines: {node: '>=6.9.0'} - - '@babel/helpers@7.24.8': - resolution: {integrity: sha512-gV2265Nkcz7weJJfvDoAEVzC1e2OTDpkGbEsebse8koXUJUXPsCMi7sRo/+SPMuMZ9MtUPnGwITTnQnU5YjyaQ==} + '@babel/helpers@7.25.0': + resolution: {integrity: sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==} engines: {node: '>=6.9.0'} '@babel/highlight@7.24.7': resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} - '@babel/parser@7.24.8': - resolution: {integrity: sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==} + '@babel/parser@7.25.0': + resolution: {integrity: sha512-CzdIU9jdP0dg7HdyB+bHvDJGagUv+qtzZt5rYCWwW6tITNqV9odjp6Qu41gkG0ca5UfdDUWrKkiAnHHdGRnOrA==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/runtime@7.24.7': - resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==} + '@babel/runtime@7.25.0': + resolution: {integrity: sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==} engines: {node: '>=6.9.0'} - '@babel/template@7.24.7': - resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} + '@babel/template@7.25.0': + resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.24.8': - resolution: {integrity: sha512-t0P1xxAPzEDcEPmjprAQq19NWum4K0EQPjMwZQZbHt+GiZqvjCHjj755Weq1YRPVzBI+3zSfvScfpnuIecVFJQ==} + '@babel/traverse@7.25.2': + resolution: {integrity: sha512-s4/r+a7xTnny2O6FcZzqgT6nE4/GHEdcqj4qAeglbUOh0TeglEfmNJFAd/OLoVtGd6ZhAO8GCVvCNUO5t/VJVQ==} engines: {node: '>=6.9.0'} - '@babel/types@7.24.9': - resolution: {integrity: sha512-xm8XrMKz0IlUdocVbYJe0Z9xEgidU7msskG8BbhnTPK/HZ2z/7FP7ykqPgrUH+C+r414mNfNWam1f2vqOjqjYQ==} + '@babel/types@7.25.2': + resolution: {integrity: sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==} engines: {node: '>=6.9.0'} '@clack/core@0.3.4': @@ -500,16 +448,16 @@ packages: resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/config-array@0.17.0': - resolution: {integrity: sha512-A68TBu6/1mHHuc5YJL0U0VVeGNiklLAL6rRmhTCP2B5XjWLMnrX+HkO+IAXyHvks5cyyY1jjK5ITPQ1HGS2EVA==} + '@eslint/config-array@0.17.1': + resolution: {integrity: sha512-BlYOpej8AQ8Ev9xVqroV7a02JK3SkBAaN9GfMMH9W6Ch8FlQlkjGw4Ir7+FgYwfirivAf4t+GtzuAxqfukmISA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/eslintrc@3.1.0': resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.7.0': - resolution: {integrity: sha512-ChuWDQenef8OSFnvuxv0TCVxEwmu3+hPNKvM9B34qpM0rDRbjL8t5QkQeHHeAfsKQjuH9wS82WeCi1J/owatng==} + '@eslint/js@9.8.0': + resolution: {integrity: sha512-MfluB7EUfxXtv3i/++oh89uzAr4PDI4nn201hsp+qaXqsjAWzinlZEHEfPgAX4doIlKvPG/i0A9dpKxOLII8yA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.4': @@ -644,118 +592,115 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.18.1': - resolution: {integrity: sha512-lncuC4aHicncmbORnx+dUaAgzee9cm/PbIqgWz1PpXuwc+sa1Ct83tnqUDy/GFKleLiN7ZIeytM6KJ4cAn1SxA==} + '@rollup/rollup-android-arm-eabi@4.19.1': + resolution: {integrity: sha512-XzqSg714++M+FXhHfXpS1tDnNZNpgxxuGZWlRG/jSj+VEPmZ0yg6jV4E0AL3uyBKxO8mO3xtOsP5mQ+XLfrlww==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.18.1': - resolution: {integrity: sha512-F/tkdw0WSs4ojqz5Ovrw5r9odqzFjb5LIgHdHZG65dFI1lWTWRVy32KDJLKRISHgJvqUeUhdIvy43fX41znyDg==} + '@rollup/rollup-android-arm64@4.19.1': + resolution: {integrity: sha512-thFUbkHteM20BGShD6P08aungq4irbIZKUNbG70LN8RkO7YztcGPiKTTGZS7Kw+x5h8hOXs0i4OaHwFxlpQN6A==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.18.1': - resolution: {integrity: sha512-vk+ma8iC1ebje/ahpxpnrfVQJibTMyHdWpOGZ3JpQ7Mgn/3QNHmPq7YwjZbIE7km73dH5M1e6MRRsnEBW7v5CQ==} + '@rollup/rollup-darwin-arm64@4.19.1': + resolution: {integrity: sha512-8o6eqeFZzVLia2hKPUZk4jdE3zW7LCcZr+MD18tXkgBBid3lssGVAYuox8x6YHoEPDdDa9ixTaStcmx88lio5Q==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.18.1': - resolution: {integrity: sha512-IgpzXKauRe1Tafcej9STjSSuG0Ghu/xGYH+qG6JwsAUxXrnkvNHcq/NL6nz1+jzvWAnQkuAJ4uIwGB48K9OCGA==} + '@rollup/rollup-darwin-x64@4.19.1': + resolution: {integrity: sha512-4T42heKsnbjkn7ovYiAdDVRRWZLU9Kmhdt6HafZxFcUdpjlBlxj4wDrt1yFWLk7G4+E+8p2C9tcmSu0KA6auGA==} cpu: [x64] os: [darwin] - '@rollup/rollup-linux-arm-gnueabihf@4.18.1': - resolution: {integrity: sha512-P9bSiAUnSSM7EmyRK+e5wgpqai86QOSv8BwvkGjLwYuOpaeomiZWifEos517CwbG+aZl1T4clSE1YqqH2JRs+g==} + '@rollup/rollup-linux-arm-gnueabihf@4.19.1': + resolution: {integrity: sha512-MXg1xp+e5GhZ3Vit1gGEyoC+dyQUBy2JgVQ+3hUrD9wZMkUw/ywgkpK7oZgnB6kPpGrxJ41clkPPnsknuD6M2Q==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.18.1': - resolution: {integrity: sha512-5RnjpACoxtS+aWOI1dURKno11d7krfpGDEn19jI8BuWmSBbUC4ytIADfROM1FZrFhQPSoP+KEa3NlEScznBTyQ==} + '@rollup/rollup-linux-arm-musleabihf@4.19.1': + resolution: {integrity: sha512-DZNLwIY4ftPSRVkJEaxYkq7u2zel7aah57HESuNkUnz+3bZHxwkCUkrfS2IWC1sxK6F2QNIR0Qr/YXw7nkF3Pw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.18.1': - resolution: {integrity: sha512-8mwmGD668m8WaGbthrEYZ9CBmPug2QPGWxhJxh/vCgBjro5o96gL04WLlg5BA233OCWLqERy4YUzX3bJGXaJgQ==} + '@rollup/rollup-linux-arm64-gnu@4.19.1': + resolution: {integrity: sha512-C7evongnjyxdngSDRRSQv5GvyfISizgtk9RM+z2biV5kY6S/NF/wta7K+DanmktC5DkuaJQgoKGf7KUDmA7RUw==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.18.1': - resolution: {integrity: sha512-dJX9u4r4bqInMGOAQoGYdwDP8lQiisWb9et+T84l2WXk41yEej8v2iGKodmdKimT8cTAYt0jFb+UEBxnPkbXEQ==} + '@rollup/rollup-linux-arm64-musl@4.19.1': + resolution: {integrity: sha512-89tFWqxfxLLHkAthAcrTs9etAoBFRduNfWdl2xUs/yLV+7XDrJ5yuXMHptNqf1Zw0UCA3cAutkAiAokYCkaPtw==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.18.1': - resolution: {integrity: sha512-V72cXdTl4EI0x6FNmho4D502sy7ed+LuVW6Ym8aI6DRQ9hQZdp5sj0a2usYOlqvFBNKQnLQGwmYnujo2HvjCxQ==} + '@rollup/rollup-linux-powerpc64le-gnu@4.19.1': + resolution: {integrity: sha512-PromGeV50sq+YfaisG8W3fd+Cl6mnOOiNv2qKKqKCpiiEke2KiKVyDqG/Mb9GWKbYMHj5a01fq/qlUR28PFhCQ==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.18.1': - resolution: {integrity: sha512-f+pJih7sxoKmbjghrM2RkWo2WHUW8UbfxIQiWo5yeCaCM0TveMEuAzKJte4QskBp1TIinpnRcxkquY+4WuY/tg==} + '@rollup/rollup-linux-riscv64-gnu@4.19.1': + resolution: {integrity: sha512-/1BmHYh+iz0cNCP0oHCuF8CSiNj0JOGf0jRlSo3L/FAyZyG2rGBuKpkZVH9YF+x58r1jgWxvm1aRg3DHrLDt6A==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.18.1': - resolution: {integrity: sha512-qb1hMMT3Fr/Qz1OKovCuUM11MUNLUuHeBC2DPPAWUYYUAOFWaxInaTwTQmc7Fl5La7DShTEpmYwgdt2hG+4TEg==} + '@rollup/rollup-linux-s390x-gnu@4.19.1': + resolution: {integrity: sha512-0cYP5rGkQWRZKy9/HtsWVStLXzCF3cCBTRI+qRL8Z+wkYlqN7zrSYm6FuY5Kd5ysS5aH0q5lVgb/WbG4jqXN1Q==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.18.1': - resolution: {integrity: sha512-7O5u/p6oKUFYjRbZkL2FLbwsyoJAjyeXHCU3O4ndvzg2OFO2GinFPSJFGbiwFDaCFc+k7gs9CF243PwdPQFh5g==} + '@rollup/rollup-linux-x64-gnu@4.19.1': + resolution: {integrity: sha512-XUXeI9eM8rMP8aGvii/aOOiMvTs7xlCosq9xCjcqI9+5hBxtjDpD+7Abm1ZhVIFE1J2h2VIg0t2DX/gjespC2Q==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.18.1': - resolution: {integrity: sha512-pDLkYITdYrH/9Cv/Vlj8HppDuLMDUBmgsM0+N+xLtFd18aXgM9Nyqupb/Uw+HeidhfYg2lD6CXvz6CjoVOaKjQ==} + '@rollup/rollup-linux-x64-musl@4.19.1': + resolution: {integrity: sha512-V7cBw/cKXMfEVhpSvVZhC+iGifD6U1zJ4tbibjjN+Xi3blSXaj/rJynAkCFFQfoG6VZrAiP7uGVzL440Q6Me2Q==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.18.1': - resolution: {integrity: sha512-W2ZNI323O/8pJdBGil1oCauuCzmVd9lDmWBBqxYZcOqWD6aWqJtVBQ1dFrF4dYpZPks6F+xCZHfzG5hYlSHZ6g==} + '@rollup/rollup-win32-arm64-msvc@4.19.1': + resolution: {integrity: sha512-88brja2vldW/76jWATlBqHEoGjJLRnP0WOEKAUbMcXaAZnemNhlAHSyj4jIwMoP2T750LE9lblvD4e2jXleZsA==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.18.1': - resolution: {integrity: sha512-ELfEX1/+eGZYMaCIbK4jqLxO1gyTSOIlZr6pbC4SRYFaSIDVKOnZNMdoZ+ON0mrFDp4+H5MhwNC1H/AhE3zQLg==} + '@rollup/rollup-win32-ia32-msvc@4.19.1': + resolution: {integrity: sha512-LdxxcqRVSXi6k6JUrTah1rHuaupoeuiv38du8Mt4r4IPer3kwlTo+RuvfE8KzZ/tL6BhaPlzJ3835i6CxrFIRQ==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.18.1': - resolution: {integrity: sha512-yjk2MAkQmoaPYCSu35RLJ62+dz358nE83VfTePJRp8CG7aMg25mEJYpXFiD+NcevhX8LxD5OP5tktPXnXN7GDw==} + '@rollup/rollup-win32-x64-msvc@4.19.1': + resolution: {integrity: sha512-2bIrL28PcK3YCqD9anGxDxamxdiJAxA+l7fWIwM5o8UqNy1t3d1NdAweO2XhA0KTDJ5aH1FsuiT5+7VhtHliXg==} cpu: [x64] os: [win32] - '@rtsao/scc@1.1.0': - resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} - '@sindresorhus/is@4.6.0': resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} engines: {node: '>=10'} - '@stylistic/eslint-plugin-js@2.6.0-beta.0': - resolution: {integrity: sha512-KQiNvzNzvl9AmMs1MiIBszLIy/Xy1bTExnyaVy5dSzOF9c+yT64JQfH0p0jP6XpGwoCnZsrPUNflwP30G42QBQ==} + '@stylistic/eslint-plugin-js@2.6.0-beta.1': + resolution: {integrity: sha512-XfCUkArkh8nbMZRczJGwW92jvrvKcHsz7jjA166f+37SQJ0dcBBvoJFTS84GuvQlyE9ZUdoIPvG+9daRz25lBg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.40.0' - '@stylistic/eslint-plugin-jsx@2.6.0-beta.0': - resolution: {integrity: sha512-TOimEpr3vndXHRhuQ5gMqmJv1SBlFI3poIJzyeNMmXi3NWVHoPxfd4QAJHGNJe5G3EO2NAXGf2H7nl8gY5QaZA==} + '@stylistic/eslint-plugin-jsx@2.6.0-beta.1': + resolution: {integrity: sha512-w13pjsE10gAjfSra00+xfgHbvx/fQQW7IjZAKmon246UYRw01+8KKYukRLSJ9wINe7fUKka//LAbqSbm8VKxmg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.40.0' - '@stylistic/eslint-plugin-plus@2.6.0-beta.0': - resolution: {integrity: sha512-Wp+e4sTbFq0Uk5ncU3PETYfg1IcCZ1KycdlqFYXIA7/bgcieeShXouXUcA+S/S5+gWLXGuVJ12IxNzY8yfe4IA==} + '@stylistic/eslint-plugin-plus@2.6.0-beta.1': + resolution: {integrity: sha512-Hm7pq1KB8s5LeuatMvIVQvsHANnd9sNkkXY7naGcasz2W/f9at9IhozmN+/Oq5O2nRtrzb5rovQ/FclGiaO49w==} peerDependencies: eslint: '*' - '@stylistic/eslint-plugin-ts@2.6.0-beta.0': - resolution: {integrity: sha512-WMz1zgmMC3bvg1L/tiYt5ygvDbTDKlbezoHoX2lV9MnUCAEQZUP4xJ9Wj3jmIKxb4mUuK5+vFZJVcOygvbbqow==} + '@stylistic/eslint-plugin-ts@2.6.0-beta.1': + resolution: {integrity: sha512-pgRqZiC9NpvO7zPbs713WW8dhns61i7syhDKxSpgMecbvcS7I/uTFFEihmIbzBgWbebhuFLEFS6FC9Lh/j5tlQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.40.0' - '@stylistic/eslint-plugin@2.6.0-beta.0': - resolution: {integrity: sha512-1NJy1iIDSFC4gelDJ82VMTq9J32tNvQ9k1lnxOsipZ0YQB826U5zGLiH37QAM8dRfNY6yeYhjlrUVtZUxFR19w==} + '@stylistic/eslint-plugin@2.6.0-beta.1': + resolution: {integrity: sha512-ff+7KkbtAzYzJvNH3MEtn+ImWMtoFkYowIakeFexMzDdurQHGu5wQ2D7YGc0jsM1/qnF2cxJ/ucVYQgeRZYH8g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.40.0' @@ -764,8 +709,11 @@ packages: resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} engines: {node: '>=10.13.0'} - '@types/eslint@8.56.10': - resolution: {integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==} + '@types/eslint@8.56.11': + resolution: {integrity: sha512-sVBpJMf7UPo/wGecYOpk2aQya2VUGeHhe38WG7/mN5FufNSubf5VT9Uh9Uyp8/eLJpu1/tuhJ/qTo4mhSB4V4Q==} + + '@types/eslint@9.6.0': + resolution: {integrity: sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg==} '@types/eslint__js@8.42.3': resolution: {integrity: sha512-alfG737uhmPdnvkrLdZLcEKJ/B8s9Y4hrZ+YAdzUeoArBlSUERA2E87ROfOaS4jd/C45fzOoZzidLc1IPwLqOw==} @@ -782,8 +730,8 @@ packages: '@types/mdast@3.0.15': resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} - '@types/node@20.14.11': - resolution: {integrity: sha512-kprQpL8MMeszbz6ojB5/tU8PLN4kesnN8Gjzw349rDlNgsSzg90lAVj3llK99Dh7JON+t9AuscPPFW6mPbTnSA==} + '@types/node@20.14.13': + resolution: {integrity: sha512-+bHoGiZb8UiQ0+WEtmph2IWQCjIqg8MDZMAV+ppRRhUZnquF5mQkP/9vpSwJClEiSM/C7fZZExPzfU0vJTyp8w==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -803,8 +751,8 @@ packages: '@types/web-bluetooth@0.0.20': resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} - '@typescript-eslint/eslint-plugin@7.16.1': - resolution: {integrity: sha512-SxdPak/5bO0EnGktV05+Hq8oatjAYVY3Zh2bye9pGZy6+jwyR3LG3YKkV4YatlsgqXP28BTeVm9pqwJM96vf2A==} + '@typescript-eslint/eslint-plugin@7.18.0': + resolution: {integrity: sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 @@ -825,8 +773,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@7.16.1': - resolution: {integrity: sha512-u+1Qx86jfGQ5i4JjK33/FnawZRpsLxRnKzGE6EABZ40KxVT/vWsiZFEBBHjFOljmmV3MBYOHEKi0Jm9hbAOClA==} + '@typescript-eslint/parser@7.18.0': + resolution: {integrity: sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -845,20 +793,20 @@ packages: typescript: optional: true - '@typescript-eslint/scope-manager@7.16.1': - resolution: {integrity: sha512-nYpyv6ALte18gbMz323RM+vpFpTjfNdyakbf3nsLvF43uF9KeNC289SUEW3QLZ1xPtyINJ1dIsZOuWuSRIWygw==} + '@typescript-eslint/scope-manager@7.18.0': + resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} engines: {node: ^18.18.0 || >=20.0.0} '@typescript-eslint/scope-manager@8.0.0-alpha.40': resolution: {integrity: sha512-KQL502sCGZW+dYvxIzF6rEozbgppN0mBkYV6kT8ciY5OtFIRlLDTP7NdVAMMDk7q35T7Ad8negaQ9AGpZ8+Y5w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.0.0-alpha.45': - resolution: {integrity: sha512-zmfZYLH6Oaq1drf99idktn1/m4SZvBXFUKdl8B2A1SrBc6E57wtRW9OwFBnROgM4gHeG1wb89DLhQ/UeqcUmMQ==} + '@typescript-eslint/scope-manager@8.0.0-alpha.58': + resolution: {integrity: sha512-bGgJXn8B3Pf3mzEOUQTPxEqhux54MOJSqw4HcgBReuP7dudz/hsN4TH9GqHbMXkFv8N4Ed1iqVRfgGeC8b1mGw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@7.16.1': - resolution: {integrity: sha512-rbu/H2MWXN4SkjIIyWcmYBjlp55VT+1G3duFOIukTNFxr9PI35pLc2ydwAfejCEitCv4uztA07q0QWanOHC7dA==} + '@typescript-eslint/type-utils@7.18.0': + resolution: {integrity: sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -876,20 +824,20 @@ packages: typescript: optional: true - '@typescript-eslint/types@7.16.1': - resolution: {integrity: sha512-AQn9XqCzUXd4bAVEsAXM/Izk11Wx2u4H3BAfQVhSfzfDOm/wAON9nP7J5rpkCxts7E5TELmN845xTUCQrD1xIQ==} + '@typescript-eslint/types@7.18.0': + resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} engines: {node: ^18.18.0 || >=20.0.0} '@typescript-eslint/types@8.0.0-alpha.40': resolution: {integrity: sha512-44mUq4VZVydxNlOM8Xtp/BXDkyfuvvjgPIBf7vRQDutrLDeNS0pJ9pcSloSbop5MwKLfJjBU+PbwnJPQM+DWNg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/types@8.0.0-alpha.45': - resolution: {integrity: sha512-yjTlmcSnkFV8IoqE0vinmWo+fl7TjkaGyGX/g9gKN/b2IO8g+AimB7BhilmlBqvZupvo2AfiHqcnZEVhQAXI8w==} + '@typescript-eslint/types@8.0.0-alpha.58': + resolution: {integrity: sha512-6+jM4y31a6pwKeV3MVQuVXPZl6d3I1ySMvP5WjZdZ+n57uovMvasZ3ZJstXngoRpa7JtkjVZ7NrMhQ1J8dxKCQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@7.16.1': - resolution: {integrity: sha512-0vFPk8tMjj6apaAZ1HlwM8w7jbghC8jc1aRNJG5vN8Ym5miyhTQGMqU++kuBFDNKe9NcPeZ6x0zfSzV8xC1UlQ==} + '@typescript-eslint/typescript-estree@7.18.0': + resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' @@ -906,8 +854,8 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@8.0.0-alpha.45': - resolution: {integrity: sha512-FcvtdTxahvP+qlZ1XXF+m0GVqomklKtkG6cIHLdBvTOHgIBILtahU7yyRE5rOHDdGoAFu8AzItJI12rtf9TRyA==} + '@typescript-eslint/typescript-estree@8.0.0-alpha.58': + resolution: {integrity: sha512-hm4nsoJnQcA7axMopUJrH7CD0MJhAMtE2zQt65uMFCy+U2YDdKPwE0g6qEAUBoKn6UBLQJWthJgUmwDbWrnwZg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -915,8 +863,8 @@ packages: typescript: optional: true - '@typescript-eslint/utils@7.16.1': - resolution: {integrity: sha512-WrFM8nzCowV0he0RlkotGDujx78xudsxnGMBHI88l5J8wEhED6yBwaSLP99ygfrzAjsQvcYQ94quDwI0d7E1fA==} + '@typescript-eslint/utils@7.18.0': + resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -927,97 +875,100 @@ packages: peerDependencies: eslint: ^8.57.0 || ^9.0.0 - '@typescript-eslint/utils@8.0.0-alpha.45': - resolution: {integrity: sha512-5YVHji5bovAKsDdT3mV7vjDEUhPJvmsh7LXY+/ixHyZJDE52TmsobBGSEBmijeqYWfz2vuNJyyvFGJTo70UikA==} + '@typescript-eslint/utils@8.0.0-alpha.58': + resolution: {integrity: sha512-lZuGnpK23jr3huebgY4/qqrOKsWJ8dX0Q1Fo4oVYcyAy+sK6p+6nObK4VEPJG098gUmrriiavRiDKIhPDFm4Ig==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - '@typescript-eslint/visitor-keys@7.16.1': - resolution: {integrity: sha512-Qlzzx4sE4u3FsHTPQAAQFJFNOuqtuY0LFrZHwQ8IHK705XxBiWOFkfKRWu6niB7hwfgnwIpO4jTC75ozW1PHWg==} + '@typescript-eslint/visitor-keys@7.18.0': + resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} engines: {node: ^18.18.0 || >=20.0.0} '@typescript-eslint/visitor-keys@8.0.0-alpha.40': resolution: {integrity: sha512-y1stojSPb5D3M8VlGGpaiBU5XxGLe+sPuW0YbLe09Lxvo4AwKGvhAr5lhqJZo4z6qHNz385+6+BS63+qIQdYLw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/visitor-keys@8.0.0-alpha.45': - resolution: {integrity: sha512-SZmtknee9MzeT41tCpvh5vUyji0Zr4OyfERJqDmfg5YZwkm3BRdTeexrBKK9C8da97ULR1SUSeLUTqttC77vJw==} + '@typescript-eslint/visitor-keys@8.0.0-alpha.58': + resolution: {integrity: sha512-V//E9PRY2216kh9fN/ihRvTtjpobAXEtmrsr3utlVUwHa2iklcofq1J12yl3KOjx9QBRfBrtfQnYaeruF7L0Fw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@vitejs/plugin-vue@5.0.5': - resolution: {integrity: sha512-LOjm7XeIimLBZyzinBQ6OSm3UBCNVCpLkxGC0oWmm2YPzVZoxMsdvNVimLTBzpAnR9hl/yn1SHGuRfe6/Td9rQ==} + '@vitejs/plugin-vue@5.1.1': + resolution: {integrity: sha512-sDckXxlHpMsjRQbAH9WanangrfrblsOd3pNifePs+FOHjJg1jfWq5L/P0PsBRndEt3nmdUnmvieP8ULDeX5AvA==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^5.0.0 vue: ^3.2.25 - '@vitest/expect@2.0.3': - resolution: {integrity: sha512-X6AepoOYePM0lDNUPsGXTxgXZAl3EXd0GYe/MZyVE4HzkUqyUVC6S3PrY5mClDJ6/7/7vALLMV3+xD/Ko60Hqg==} + '@vitest/expect@2.0.4': + resolution: {integrity: sha512-39jr5EguIoanChvBqe34I8m1hJFI4+jxvdOpD7gslZrVQBKhh8H9eD7J/LJX4zakrw23W+dITQTDqdt43xVcJw==} - '@vitest/pretty-format@2.0.3': - resolution: {integrity: sha512-URM4GLsB2xD37nnTyvf6kfObFafxmycCL8un3OC9gaCs5cti2u+5rJdIflZ2fUJUen4NbvF6jCufwViAFLvz1g==} + '@vitest/pretty-format@2.0.4': + resolution: {integrity: sha512-RYZl31STbNGqf4l2eQM1nvKPXE0NhC6Eq0suTTePc4mtMQ1Fn8qZmjV4emZdEdG2NOWGKSCrHZjmTqDCDoeFBw==} - '@vitest/runner@2.0.3': - resolution: {integrity: sha512-EmSP4mcjYhAcuBWwqgpjR3FYVeiA4ROzRunqKltWjBfLNs1tnMLtF+qtgd5ClTwkDP6/DGlKJTNa6WxNK0bNYQ==} + '@vitest/runner@2.0.4': + resolution: {integrity: sha512-Gk+9Su/2H2zNfNdeJR124gZckd5st4YoSuhF1Rebi37qTXKnqYyFCd9KP4vl2cQHbtuVKjfEKrNJxHHCW8thbQ==} - '@vitest/snapshot@2.0.3': - resolution: {integrity: sha512-6OyA6v65Oe3tTzoSuRPcU6kh9m+mPL1vQ2jDlPdn9IQoUxl8rXhBnfICNOC+vwxWY684Vt5UPgtcA2aPFBb6wg==} + '@vitest/snapshot@2.0.4': + resolution: {integrity: sha512-or6Mzoz/pD7xTvuJMFYEtso1vJo1S5u6zBTinfl+7smGUhqybn6VjzCDMhmTyVOFWwkCMuNjmNNxnyXPgKDoPw==} - '@vitest/spy@2.0.3': - resolution: {integrity: sha512-sfqyAw/ypOXlaj4S+w8689qKM1OyPOqnonqOc9T91DsoHbfN5mU7FdifWWv3MtQFf0lEUstEwR9L/q/M390C+A==} + '@vitest/spy@2.0.4': + resolution: {integrity: sha512-uTXU56TNoYrTohb+6CseP8IqNwlNdtPwEO0AWl+5j7NelS6x0xZZtP0bDWaLvOfUbaYwhhWp1guzXUxkC7mW7Q==} - '@vitest/utils@2.0.3': - resolution: {integrity: sha512-c/UdELMuHitQbbc/EVctlBaxoYAwQPQdSNwv7z/vHyBKy2edYZaFgptE27BRueZB7eW8po+cllotMNTDpL3HWg==} + '@vitest/utils@2.0.4': + resolution: {integrity: sha512-Zc75QuuoJhOBnlo99ZVUkJIuq4Oj0zAkrQ2VzCqNCx6wAwViHEh5Fnp4fiJTE9rA+sAoXRf00Z9xGgfEzV6fzQ==} - '@volar/language-core@2.4.0-alpha.15': - resolution: {integrity: sha512-mt8z4Fm2WxfQYoQHPcKVjLQV6PgPqyKLbkCVY2cr5RSaamqCHjhKEpsFX66aL4D/7oYguuaUw9Bx03Vt0TpIIA==} + '@volar/language-core@2.4.0-alpha.18': + resolution: {integrity: sha512-JAYeJvYQQROmVRtSBIczaPjP3DX4QW1fOqW1Ebs0d3Y3EwSNRglz03dSv0Dm61dzd0Yx3WgTW3hndDnTQqgmyg==} - '@volar/source-map@2.4.0-alpha.15': - resolution: {integrity: sha512-8Htngw5TmBY4L3ClDqBGyfLhsB8EmoEXUH1xydyEtEoK0O6NX5ur4Jw8jgvscTlwzizyl/wsN1vn0cQXVbbXYg==} + '@volar/source-map@2.4.0-alpha.18': + resolution: {integrity: sha512-MTeCV9MUwwsH0sNFiZwKtFrrVZUK6p8ioZs3xFzHc2cvDXHWlYN3bChdQtwKX+FY2HG6H3CfAu1pKijolzIQ8g==} - '@volar/typescript@2.4.0-alpha.15': - resolution: {integrity: sha512-U3StRBbDuxV6Woa4hvGS4kz3XcOzrWUKgFdEFN+ba1x3eaYg7+ytau8ul05xgA+UNGLXXsKur7fTUhDFyISk0w==} + '@volar/typescript@2.4.0-alpha.18': + resolution: {integrity: sha512-sXh5Y8sqGUkgxpMWUGvRXggxYHAVxg0Pa1C42lQZuPDrW6vHJPR0VCK8Sr7WJsAW530HuNQT/ZIskmXtxjybMQ==} - '@vue/compiler-core@3.4.32': - resolution: {integrity: sha512-8tCVWkkLe/QCWIsrIvExUGnhYCAOroUs5dzhSoKL5w4MJS8uIYiou+pOPSVIOALOQ80B0jBs+Ri+kd5+MBnCDw==} + '@vue/compiler-core@3.4.34': + resolution: {integrity: sha512-Z0izUf32+wAnQewjHu+pQf1yw00EGOmevl1kE+ljjjMe7oEfpQ+BI3/JNK7yMB4IrUsqLDmPecUrpj3mCP+yJQ==} - '@vue/compiler-dom@3.4.32': - resolution: {integrity: sha512-PbSgt9KuYo4fyb90dynuPc0XFTfFPs3sCTbPLOLlo+PrUESW1gn/NjSsUvhR+mI2AmmEzexwYMxbHDldxSOr2A==} + '@vue/compiler-dom@3.4.34': + resolution: {integrity: sha512-3PUOTS1h5cskdOJMExCu2TInXuM0j60DRPpSCJDqOCupCfUZCJoyQmKtRmA8EgDNZ5kcEE7vketamRZfrEuVDw==} - '@vue/compiler-sfc@3.4.32': - resolution: {integrity: sha512-STy9im/WHfaguJnfKjjVpMHukxHUrOKjm2vVCxiojQJyo3Sb6Os8SMXBr/MI+ekpstEGkDONfqAQoSbZhspLYw==} + '@vue/compiler-sfc@3.4.34': + resolution: {integrity: sha512-x6lm0UrM03jjDXTPZgD9Ad8bIVD1ifWNit2EaWQIZB5CULr46+FbLQ5RpK7AXtDHGjx9rmvC7QRCTjsiGkAwRw==} - '@vue/compiler-ssr@3.4.32': - resolution: {integrity: sha512-nyu/txTecF6DrxLrpLcI34xutrvZPtHPBj9yRoPxstIquxeeyywXpYZrQMsIeDfBhlw1abJb9CbbyZvDw2kjdg==} + '@vue/compiler-ssr@3.4.34': + resolution: {integrity: sha512-8TDBcLaTrFm5rnF+Qm4BlliaopJgqJ28Nsrc80qazynm5aJO+Emu7y0RWw34L8dNnTRdcVBpWzJxhGYzsoVu4g==} + + '@vue/compiler-vue2@2.7.16': + resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} '@vue/devtools-api@6.6.3': resolution: {integrity: sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw==} - '@vue/language-core@2.0.26': - resolution: {integrity: sha512-/lt6SfQ3O1yDAhPsnLv9iSUgXd1dMHqUm/t3RctfqjuwQf1LnftZ414X3UBn6aXT4MiwXWtbNJ4Z0NZWwDWgJQ==} + '@vue/language-core@2.0.29': + resolution: {integrity: sha512-o2qz9JPjhdoVj8D2+9bDXbaI4q2uZTHQA/dbyZT4Bj1FR9viZxDJnLcKVHfxdn6wsOzRgpqIzJEEmSSvgMvDTQ==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true - '@vue/reactivity@3.4.32': - resolution: {integrity: sha512-1P7QvghAzhSIWmiNmh4MNkLVjr2QTNDcFv2sKmytEWhR6t7BZzNicgm5ENER4uU++wbWxgRh/pSEYgdI3MDcvg==} + '@vue/reactivity@3.4.34': + resolution: {integrity: sha512-ua+Lo+wBRlBEX9TtgPOShE2JwIO7p6BTZ7t1KZVPoaBRfqbC7N3c8Mpzicx173fXxx5VXeU6ykiHo7WgLzJQDA==} - '@vue/runtime-core@3.4.32': - resolution: {integrity: sha512-FxT2dTHUs1Hki8Ui/B1Hu339mx4H5kRJooqrNM32tGUHBPStJxwMzLIRbeGO/B1NMplU4Pg9fwOqrJtrOzkdfA==} + '@vue/runtime-core@3.4.34': + resolution: {integrity: sha512-PXhkiRPwcPGJ1BnyBZFI96GfInCVskd0HPNIAZn7i3YOmLbtbTZpB7/kDTwC1W7IqdGPkTVC63IS7J2nZs4Ebg==} - '@vue/runtime-dom@3.4.32': - resolution: {integrity: sha512-Xz9G+ZViRyPFQtRBCPFkhMzKn454ihCPMKUiacNaUhuTIXvyfkAq8l89IZ/kegFVyw/7KkJGRGqYdEZrf27Xsg==} + '@vue/runtime-dom@3.4.34': + resolution: {integrity: sha512-dXqIe+RqFAK2Euak4UsvbIupalrhc67OuQKpD7HJ3W2fv8jlqvI7szfBCsAEcE8o/wyNpkloxB6J8viuF/E3gw==} - '@vue/server-renderer@3.4.32': - resolution: {integrity: sha512-3c4rd0522Ao8hKjzgmUAbcjv2mBnvnw0Ld2f8HOMCuWJZjYie/p8cpIoYJbeP0VV2JYmrJJMwGQDO5RH4iQ30A==} + '@vue/server-renderer@3.4.34': + resolution: {integrity: sha512-GeyEUfMVRZMD/mZcNONEqg7MiU10QQ1DB3O/Qr6+8uXpbwdlmVgQ5Qs1/ZUAFX1X2UUtqMoGrDRbxdWfOJFT7Q==} peerDependencies: - vue: 3.4.32 + vue: 3.4.34 - '@vue/shared@3.4.32': - resolution: {integrity: sha512-ep4mF1IVnX/pYaNwxwOpJHyBtOMKWoKZMbnUyd+z0udqIxLUh7YCCd/JfDna8aUrmnG9SFORyIq2HzEATRrQsg==} + '@vue/shared@3.4.34': + resolution: {integrity: sha512-x5LmiRLpRsd9KTjAB8MPKf0CDPMcuItjP0gbNqFCIgL1I8iYp4zglhj9w9FPCdIbHG2M91RVeIbArFfFTz9I3A==} '@vue/test-utils@2.4.6': resolution: {integrity: sha512-FMxEjOpYNYiFe0GkaHsnJPXFHxQ6m4t8vI/ElPGpMWxZKpmRvQ33OIrvRXemy6yha03RxhOlQuy+gZMC3CQSow==} @@ -1133,11 +1084,6 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.23.1: - resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - browserslist@4.23.2: resolution: {integrity: sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -1158,11 +1104,8 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - caniuse-lite@1.0.30001640: - resolution: {integrity: sha512-lA4VMpW0PSUrFnkmVuEKBUovSWKhj7puyCg8StBChgu298N1AtuF1sKWEvfDuimSEDbhlb/KqPKC3fs1HbuQUA==} - - caniuse-lite@1.0.30001642: - resolution: {integrity: sha512-3XQ0DoRgLijXJErLSl+bLnJ+Et4KqV1PY6JJBGAFlsNsz31zeAIncyeZfLCabHK/jtSh+671RM9YMldxjUPZtA==} + caniuse-lite@1.0.30001644: + resolution: {integrity: sha512-YGvlOZB4QhZuiis+ETS0VXR+MExbFf4fZYYeMTEE0aTQd/RdIjkTyZjLrbYVKnHzppDvnOhritRVv+i7Go6mHw==} chai@5.1.1: resolution: {integrity: sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==} @@ -1316,8 +1259,8 @@ packages: supports-color: optional: true - debug@4.3.5: - resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} + debug@4.3.6: + resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -1372,11 +1315,8 @@ packages: engines: {node: '>=14'} hasBin: true - electron-to-chromium@1.4.817: - resolution: {integrity: sha512-3znu+lZMIbTe8ZOs360OMJvVroVF2NpNI8T5jfLnDetVvj0uNmIucZzQVYMSJfsu9f47Ssox1Gt46PR+R+1JUg==} - - electron-to-chromium@1.4.829: - resolution: {integrity: sha512-5qp1N2POAfW0u1qGAxXEtz6P7bO1m6gpZr5hdf5ve6lxpLM7MpiM4jIPz7xcrNlClQMafbyUDDWjlIQZ1Mw0Rw==} + electron-to-chromium@1.5.3: + resolution: {integrity: sha512-QNdYSS5i8D9axWp/6XIezRObRHqaav/ur9z1VzCDUCH1XIFOr9WQk5xmgunhsTpjjgDy3oLxO/WMOVZlpUQrlA==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -1387,8 +1327,8 @@ packages: emojilib@2.4.0: resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} - enhanced-resolve@5.17.0: - resolution: {integrity: sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==} + enhanced-resolve@5.17.1: + resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} engines: {node: '>=10.13.0'} entities@4.5.0: @@ -1432,8 +1372,8 @@ packages: eslint-config-flat-gitignore@0.1.8: resolution: {integrity: sha512-OEUbS2wzzYtUfshjOqzFo4Bl4lHykXUdM08TCnYNl7ki+niW4Q1R0j0FDFDr0vjVsI5ZFOz5LvluxOP+Ew+dYw==} - eslint-flat-config-utils@0.2.5: - resolution: {integrity: sha512-iO+yLZtC/LKgACerkpvsZ6NoRVB2sxT04mOpnNcEM1aTwKy+6TsT46PUvrML4y2uVBS6I67hRCd2JiKAPaL/Uw==} + eslint-flat-config-utils@0.3.0: + resolution: {integrity: sha512-FaFQLUunAl6YK7aU/pT23DXYVWg/cEHbSfxwAxpCGT6Su8H9RfkmzKLh1G2bba46p6dTlQeA4VTiV5//0SeToQ==} eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} @@ -1465,14 +1405,14 @@ packages: peerDependencies: eslint: '>=4.19.1' - eslint-plugin-import-x@3.0.1: - resolution: {integrity: sha512-jzQgJuE4ssxwNi0aMBkOL8whd4eHb0Z/uFWsk8uEoYB7xwTkAptSKojLzRswxgf/1bhH6QgcLjgabUBQqluBIg==} + eslint-plugin-import-x@3.1.0: + resolution: {integrity: sha512-/UbPA+bYY7nIxcjL3kpcDY3UNdoLHFhyBFzHox2M0ypcUoueTn6woZUUmzzi5et/dXChksasYYFeKE2wshOrhg==} engines: {node: '>=16'} peerDependencies: eslint: ^8.56.0 || ^9.0.0-0 - eslint-plugin-jsdoc@48.7.0: - resolution: {integrity: sha512-5oiVf7Y+ZxGYQTlLq81X72n+S+hjvS/u0upAdbpPEeaIZILK3MKN8lm/6QqKioBjm/qZ0B5XpMQUtc2fUkqXAg==} + eslint-plugin-jsdoc@48.9.3: + resolution: {integrity: sha512-9RUsTlW6ZlMgy+dd9uDreU9lZAh4Hxw2ZAV5T0hPtrWgbw0OnvuT3elF6ihnpAY+NCrJx8BUUmcBnKftc/F0qw==} engines: {node: '>=18'} peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 @@ -1489,8 +1429,8 @@ packages: peerDependencies: eslint: '>=8' - eslint-plugin-n@17.9.0: - resolution: {integrity: sha512-CPSaXDXdrT4nsrOrO4mT4VB6FMUkoySRkHWuuJJHVqsIEjIeZgMY1H7AzSwPbDScikBmLN82KeM1u7ixV7PzGg==} + eslint-plugin-n@17.10.1: + resolution: {integrity: sha512-hm/q37W6efDptJXdwirsm6A257iY6ZNtpoSG0wEzFzjJ3AhL7OhEIhdSR2e4OdYfHO5EDeqlCfFrjf9q208IPw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.23.0' @@ -1499,13 +1439,14 @@ packages: resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==} engines: {node: '>=5.0.0'} - eslint-plugin-perfectionist@2.11.0: - resolution: {integrity: sha512-XrtBtiu5rbQv88gl+1e2RQud9te9luYNvKIgM9emttQ2zutHPzY/AQUucwxscDKV4qlTkvLTxjOFvxqeDpPorw==} + eslint-plugin-perfectionist@3.0.0: + resolution: {integrity: sha512-B+leJTo1YjxiNIm8Yv0rCHp4eWh9RaJHO6T1ifxd26wg8NCbEiWSdqZVeYLWPCI+zS1dlf89WpOkUzG7cE4vtQ==} + engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: astro-eslint-parser: ^1.0.2 eslint: '>=8.0.0' svelte: '>=3.0.0' - svelte-eslint-parser: ^0.37.0 + svelte-eslint-parser: ^0.40.0 vue-eslint-parser: '>=9.0.0' peerDependenciesMeta: astro-eslint-parser: @@ -1517,8 +1458,8 @@ packages: vue-eslint-parser: optional: true - eslint-plugin-promise@6.4.0: - resolution: {integrity: sha512-/KWWRaD3fGkVCZsdR0RU53PSthFmoHVhZl+y9+6DqeDLSikLdlUVpVEAmI6iCRR5QyOjBYBqHZV/bdv4DJ4Gtw==} + eslint-plugin-promise@6.6.0: + resolution: {integrity: sha512-57Zzfw8G6+Gq7axm2Pdo3gW/Rx3h9Yywgn61uE/3elTCOePEHVrn2i5CdfBwA1BLK0Q0WqctICIUSqXZW/VprQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 @@ -1535,12 +1476,22 @@ packages: peerDependencies: eslint: '>=6.0.0' - eslint-plugin-unicorn@54.0.0: - resolution: {integrity: sha512-XxYLRiYtAWiAjPv6z4JREby1TAE2byBC7wlh0V4vWDCpccOSU1KovWV//jqPXF6bq3WKxqX9rdjoRQ1EhdmNdQ==} + eslint-plugin-unicorn@55.0.0: + resolution: {integrity: sha512-n3AKiVpY2/uDcGrS3+QsYDkjPfaOrNrsfQxU9nt5nitd9KuvVXrfAvgCO9DYPSfap+Gqjw9EOrXIsBp5tlHZjA==} engines: {node: '>=18.18'} peerDependencies: eslint: '>=8.56.0' + eslint-plugin-unused-imports@4.0.1: + resolution: {integrity: sha512-rax76s05z64uQgG9YXsWFmXrgjkaK79AvfeAWiSxhPP6RVGxeRaj4+2u+wxxu/mDy2pmJoOy1QTOEALMia2xGQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^8.0.0-0 + eslint: ^9.0.0 + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + eslint-plugin-vitest@0.5.4: resolution: {integrity: sha512-um+odCkccAHU53WdKAw39MY61+1x990uXjSPguUCq3VcEHdqJrOb8OTMrbYlY6f9jAKx7x98kLVlIe3RJeJqoQ==} engines: {node: ^18.0.0 || >= 20.0.0} @@ -1599,8 +1550,8 @@ packages: resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.7.0: - resolution: {integrity: sha512-FzJ9D/0nGiCGBf8UXO/IGLTgLVzIxze1zpfA8Ton2mjLovXdAPlYDv+MQDcqj3TmrhAGYfOpz9RfR+ent0AgAw==} + eslint@9.8.0: + resolution: {integrity: sha512-K8qnZ/QJzT2dLKdZJVX6W4XOwBzutMYmt0lqUS+JdXgd+HTYFlonFgkJ8s44d/zMPPCnOOk0kMWCApCPhiOy9A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true @@ -1727,8 +1678,8 @@ packages: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} - get-tsconfig@4.7.5: - resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} + get-tsconfig@4.7.6: + resolution: {integrity: sha512-ZAqrLlu18NbDdRaHq+AKXzAmqIUPswPWKUchfytdAjiRFnCe5ojG2bstg6mRiZabkKfCoL/e98pbBELIV/YCeA==} glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} @@ -1738,9 +1689,8 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} - glob@10.4.2: - resolution: {integrity: sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==} - engines: {node: '>=16 || 14 >=14.18'} + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} hasBin: true glob@7.2.3: @@ -1898,9 +1848,8 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - jackspeak@3.4.0: - resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==} - engines: {node: '>=14'} + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} jiti@1.21.6: resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} @@ -1929,8 +1878,8 @@ packages: resolution: {integrity: sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==} engines: {node: '>=12.0.0'} - jsdom@24.1.0: - resolution: {integrity: sha512-6gpM7pRXCwIOKxX47cgOyvyQDN/Eh0f1MeKySBV2xGdKtqJBLj8P25eY3EVCWo2mglDDzozR2r2MW4T+JiNUZA==} + jsdom@24.1.1: + resolution: {integrity: sha512-5O1wWV99Jhq4DV7rCLIoZ/UIhyQeDR7wHVyZAHAshbrvZsLs+Xzz7gtwnlJTJDjleiTKh54F4dXrX70vJQTyJQ==} engines: {node: '>=18'} peerDependencies: canvas: ^2.11.2 @@ -2010,15 +1959,14 @@ packages: loupe@3.1.1: resolution: {integrity: sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==} - lru-cache@10.3.0: - resolution: {integrity: sha512-CQl19J/g+Hbjbv4Y3mFNNXFEL/5t/KCg8POCuUqd4rMKjGG+j1ybER83hxV58zL+dFI1PTkt3GNFSHRt+d8qEQ==} - engines: {node: 14 || >=16.14} + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - magic-string@0.30.10: - resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} + magic-string@0.30.11: + resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} mdast-util-from-markdown@0.8.5: resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} @@ -2062,6 +2010,10 @@ packages: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} + minimatch@10.0.1: + resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} + engines: {node: 20 || >=22} + minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -2104,11 +2056,8 @@ packages: resolution: {integrity: sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==} engines: {node: '>=18'} - node-releases@2.0.14: - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} - - node-releases@2.0.17: - resolution: {integrity: sha512-Ww6ZlOiEQfPfXM45v17oabk77Z7mg5bOt7AjDyzy7RjK9OrLrLC8dyZQoAPEOtFX9SaNf1Tdvr5gRJWdTJj7GA==} + node-releases@2.0.18: + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} nopt@7.2.1: resolution: {integrity: sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==} @@ -2129,8 +2078,8 @@ packages: nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} - nwsapi@2.2.10: - resolution: {integrity: sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ==} + nwsapi@2.2.12: + resolution: {integrity: sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==} once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} @@ -2236,8 +2185,8 @@ packages: resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} engines: {node: '>=12'} - pinia@2.1.7: - resolution: {integrity: sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==} + pinia@2.2.0: + resolution: {integrity: sha512-iPrIh26GMqfpUlMOGyxuDowGmYousTecbTHFwT0xZ1zJvh23oQ+Cj99ZoPQA1TnUPhU6AuRPv6/drkTCJ0VHQA==} peerDependencies: '@vue/composition-api': ^1.4.0 typescript: '>=4.4.4' @@ -2267,10 +2216,6 @@ packages: peerDependencies: postcss: ^8.4.29 - postcss-selector-parser@6.1.0: - resolution: {integrity: sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==} - engines: {node: '>=4'} - postcss-selector-parser@6.1.1: resolution: {integrity: sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==} engines: {node: '>=4'} @@ -2279,8 +2224,8 @@ packages: resolution: {integrity: sha512-8I7Cd8sxiEITIp32xBK4K/Aj1ukX6vuWnx8oY/oAH35NfQI4OZaY5nd68Yx8HeN5S49uhQ6DL0rNk0ZBu/TaLg==} engines: {node: ^8.10.0 || ^10.13.0 || ^11.10.1 || >=12.13.0} - postcss@8.4.39: - resolution: {integrity: sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==} + postcss@8.4.40: + resolution: {integrity: sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==} engines: {node: ^10 || ^12 || >=14} prelude-ls@1.2.1: @@ -2370,8 +2315,8 @@ packages: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rollup@4.18.1: - resolution: {integrity: sha512-Elx2UT8lzxxOXMpy5HWQGZqkrQOtrVDDa/bm9l10+U4rQnVzbL/LgZ4NOM1MPIDyHk69W4InuYDF5dzRh4Kw1A==} + rollup@4.19.1: + resolution: {integrity: sha512-K5vziVlg7hTpYfFBI+91zHBEMo6jafYXpkMlqZjg7/zhIG9iHqazBf4xz9AVdjS9BruRn280ROqLI7G3OFRIlw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -2536,10 +2481,6 @@ packages: resolution: {integrity: sha512-Vhf+bUa//YSTYKseDiiEuQmhGCoIF3CVBhunm3r/DQnYiGT4JssmnKQc44BIyOZRK2pKjXXAgbhfmbeoC9CJpA==} engines: {node: '>=12.20'} - synckit@0.9.0: - resolution: {integrity: sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==} - engines: {node: ^14.18.0 || >=16.0.0} - synckit@0.9.1: resolution: {integrity: sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==} engines: {node: ^14.18.0 || >=16.0.0} @@ -2602,8 +2543,8 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + type-detect@4.1.0: + resolution: {integrity: sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==} engines: {node: '>=4'} type-fest@0.20.2: @@ -2618,8 +2559,8 @@ packages: resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} engines: {node: '>=8'} - typescript-eslint@7.16.1: - resolution: {integrity: sha512-889oE5qELj65q/tGeOSvlreNKhimitFwZqQ0o7PcWC7/lgRkAMknznsCsV8J8mZGTP/Z+cIbX8accf2DE33hrA==} + typescript-eslint@7.18.0: + resolution: {integrity: sha512-PonBkP603E3tt05lDkbOMyaxJjvKqQrXsnow72sVeOFINDE/qNmnnd+f9b4N+U7W6MXnnYyrhtmF2t08QWwUbA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -2650,8 +2591,8 @@ packages: resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} engines: {node: '>= 4.0.0'} - unplugin@1.11.0: - resolution: {integrity: sha512-3r7VWZ/webh0SGgJScpWl2/MRCZK5d3ZYFcNaeci/GQ7Teop7zf0Nl2pUuz7G21BwPd9pcUPOC5KmJ2L3WgC5g==} + unplugin@1.12.0: + resolution: {integrity: sha512-KeczzHl2sATPQUx1gzo+EnUkmN4VmGBYRRVOZSGvGITE9rGHRDGqft6ONceP3vgXcyJ2XjX5axG5jMWUwNCYLw==} engines: {node: '>=14.0.0'} update-browserslist-db@1.1.0: @@ -2672,8 +2613,8 @@ packages: validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - vite-node@2.0.3: - resolution: {integrity: sha512-14jzwMx7XTcMB+9BhGQyoEAmSl0eOr3nrnn+Z12WNERtOvLN+d2scbRUvyni05rT3997Bg+rZb47NyP4IQPKXg==} + vite-node@2.0.4: + resolution: {integrity: sha512-ZpJVkxcakYtig5iakNeL7N3trufe3M6vGuzYAr4GsbCTwobDeyPJpE4cjDhhPluv8OvQCFzu2LWp6GkoKRITXA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -2691,8 +2632,8 @@ packages: peerDependencies: vue: '>=3.2.13' - vite@5.3.4: - resolution: {integrity: sha512-Cw+7zL3ZG9/NZBB8C+8QbQZmR54GwqIz+WMI4b3JgdYJvX+ny9AjJXqkGQlDXSXRP9rP0B4tbciRMOVEKulVOA==} + vite@5.3.5: + resolution: {integrity: sha512-MdjglKR6AQXQb9JGiS7Rc2wC6uMjcm7Go/NHNO63EwiJXfuk9PgqiP/n5IDJCziMkfw9n4Ubp7lttNwz+8ZVKA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -2719,15 +2660,15 @@ packages: terser: optional: true - vitest@2.0.3: - resolution: {integrity: sha512-o3HRvU93q6qZK4rI2JrhKyZMMuxg/JRt30E6qeQs6ueaiz5hr1cPj+Sk2kATgQzMMqsa2DiNI0TIK++1ULx8Jw==} + vitest@2.0.4: + resolution: {integrity: sha512-luNLDpfsnxw5QSW4bISPe6tkxVvv5wn2BBs/PuDRkhXZ319doZyLOBr1sjfB5yCEpTiU7xCAdViM8TNVGPwoog==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 2.0.3 - '@vitest/ui': 2.0.3 + '@vitest/browser': 2.0.4 + '@vitest/ui': 2.0.4 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -2747,11 +2688,11 @@ packages: vscode-uri@3.0.8: resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} - vue-component-type-helpers@2.0.26: - resolution: {integrity: sha512-sO9qQ8oC520SW6kqlls0iqDak53gsTVSrYylajgjmkt1c0vcgjsGSy1KzlDrbEx8pm02IEYhlUkU5hCYf8rwtg==} + vue-component-type-helpers@2.0.29: + resolution: {integrity: sha512-58i+ZhUAUpwQ+9h5Hck0D+jr1qbYl4voRt5KffBx8qzELViQ4XdT/Tuo+mzq8u63teAG8K0lLaOiL5ofqW38rg==} - vue-demi@0.14.8: - resolution: {integrity: sha512-Uuqnk9YE9SsWeReYqK2alDI5YzciATE0r2SkA6iMAtuXvNTMNACJLJEXNXaEy94ECuBe4Sk6RzRU80kjdbIo1Q==} + vue-demi@0.14.10: + resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==} engines: {node: '>=12'} hasBin: true peerDependencies: @@ -2778,17 +2719,14 @@ packages: peerDependencies: vue: ^3.2.0 - vue-template-compiler@2.7.16: - resolution: {integrity: sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==} - - vue-tsc@2.0.26: - resolution: {integrity: sha512-tOhuwy2bIXbMhz82ef37qeiaQHMXKQkD6mOF6CCPl3/uYtST3l6fdNyfMxipudrQTxTfXVPlgJdMENBFfC1CfQ==} + vue-tsc@2.0.29: + resolution: {integrity: sha512-MHhsfyxO3mYShZCGYNziSbc63x7cQ5g9kvijV7dRe1TTXBRLxXyL0FnXWpUF1xII2mJ86mwYpYsUmMwkmerq7Q==} hasBin: true peerDependencies: typescript: '>=5.0.0' - vue@3.4.32: - resolution: {integrity: sha512-9mCGIAi/CAq7GtaLLLp2J92pEic+HArstG+pq6F+H7+/jB9a0Z7576n4Bh4k79/50L1cKMIhZC3MC0iGpl+1IA==} + vue@3.4.34: + resolution: {integrity: sha512-VZze05HWlA3ItreQ/ka7Sx7PoD0/3St8FEiSlSTVgb6l4hL+RjtP2/8g5WQBzZgyf8WG2f+g1bXzC7zggLhAJA==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -2886,8 +2824,8 @@ packages: resolution: {integrity: sha512-4wZWvE398hCP7O8n3nXKu/vdq1HcH01ixYlCREaJL5NUMwQ0g3MaGFUBNSlmBtKmhbtVG/Cm6lyYmSVTEVil8A==} engines: {node: ^14.17.0 || >=16.0.0} - yaml@2.4.5: - resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==} + yaml@2.5.0: + resolution: {integrity: sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==} engines: {node: '>= 14'} hasBin: true @@ -2910,42 +2848,42 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - '@antfu/eslint-config@2.23.0(@vue/compiler-sfc@3.4.32)(eslint@9.7.0)(typescript@5.5.3)(vitest@2.0.3(@types/node@20.14.11)(jsdom@24.1.0)(stylus@0.57.0))': + '@antfu/eslint-config@2.24.0(@vue/compiler-sfc@3.4.34)(eslint@9.8.0)(typescript@5.5.3)(vitest@2.0.4(@types/node@20.14.13)(jsdom@24.1.1)(stylus@0.57.0))': dependencies: - '@antfu/eslint-plugin-unused-imports': 4.0.0(@typescript-eslint/eslint-plugin@8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@9.7.0)(typescript@5.5.3))(eslint@9.7.0)(typescript@5.5.3))(eslint@9.7.0) '@antfu/install-pkg': 0.3.3 '@clack/prompts': 0.7.0 - '@stylistic/eslint-plugin': 2.6.0-beta.0(eslint@9.7.0)(typescript@5.5.3) - '@typescript-eslint/eslint-plugin': 8.0.0-alpha.40(@typescript-eslint/parser@7.16.1(eslint@9.7.0)(typescript@5.5.3))(eslint@9.7.0)(typescript@5.5.3) - '@typescript-eslint/parser': 8.0.0-alpha.40(eslint@9.7.0)(typescript@5.5.3) - eslint: 9.7.0 + '@stylistic/eslint-plugin': 2.6.0-beta.1(eslint@9.8.0)(typescript@5.5.3) + '@typescript-eslint/eslint-plugin': 8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3) + '@typescript-eslint/parser': 8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3) + eslint: 9.8.0 eslint-config-flat-gitignore: 0.1.8 - eslint-flat-config-utils: 0.2.5 - eslint-merge-processors: 0.1.0(eslint@9.7.0) - eslint-plugin-antfu: 2.3.4(eslint@9.7.0) - eslint-plugin-command: 0.2.3(eslint@9.7.0) - eslint-plugin-eslint-comments: 3.2.0(eslint@9.7.0) - eslint-plugin-import-x: 3.0.1(eslint@9.7.0)(typescript@5.5.3) - eslint-plugin-jsdoc: 48.7.0(eslint@9.7.0) - eslint-plugin-jsonc: 2.16.0(eslint@9.7.0) - eslint-plugin-markdown: 5.1.0(eslint@9.7.0) - eslint-plugin-n: 17.9.0(eslint@9.7.0) + eslint-flat-config-utils: 0.3.0 + eslint-merge-processors: 0.1.0(eslint@9.8.0) + eslint-plugin-antfu: 2.3.4(eslint@9.8.0) + eslint-plugin-command: 0.2.3(eslint@9.8.0) + eslint-plugin-eslint-comments: 3.2.0(eslint@9.8.0) + eslint-plugin-import-x: 3.1.0(eslint@9.8.0)(typescript@5.5.3) + eslint-plugin-jsdoc: 48.9.3(eslint@9.8.0) + eslint-plugin-jsonc: 2.16.0(eslint@9.8.0) + eslint-plugin-markdown: 5.1.0(eslint@9.8.0) + eslint-plugin-n: 17.10.1(eslint@9.8.0) eslint-plugin-no-only-tests: 3.1.0 - eslint-plugin-perfectionist: 2.11.0(eslint@9.7.0)(typescript@5.5.3)(vue-eslint-parser@9.4.3(eslint@9.7.0)) - eslint-plugin-regexp: 2.6.0(eslint@9.7.0) - eslint-plugin-toml: 0.11.1(eslint@9.7.0) - eslint-plugin-unicorn: 54.0.0(eslint@9.7.0) - eslint-plugin-vitest: 0.5.4(@typescript-eslint/eslint-plugin@8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@9.7.0)(typescript@5.5.3))(eslint@9.7.0)(typescript@5.5.3))(eslint@9.7.0)(typescript@5.5.3)(vitest@2.0.3(@types/node@20.14.11)(jsdom@24.1.0)(stylus@0.57.0)) - eslint-plugin-vue: 9.27.0(eslint@9.7.0) - eslint-plugin-yml: 1.14.0(eslint@9.7.0) - eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.4.32)(eslint@9.7.0) + eslint-plugin-perfectionist: 3.0.0(eslint@9.8.0)(typescript@5.5.3)(vue-eslint-parser@9.4.3(eslint@9.8.0)) + eslint-plugin-regexp: 2.6.0(eslint@9.8.0) + eslint-plugin-toml: 0.11.1(eslint@9.8.0) + eslint-plugin-unicorn: 55.0.0(eslint@9.8.0) + eslint-plugin-unused-imports: 4.0.1(@typescript-eslint/eslint-plugin@8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0) + eslint-plugin-vitest: 0.5.4(@typescript-eslint/eslint-plugin@8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3)(vitest@2.0.4(@types/node@20.14.13)(jsdom@24.1.1)(stylus@0.57.0)) + eslint-plugin-vue: 9.27.0(eslint@9.8.0) + eslint-plugin-yml: 1.14.0(eslint@9.8.0) + eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.4.34)(eslint@9.8.0) globals: 15.8.0 jsonc-eslint-parser: 2.4.0 local-pkg: 0.5.0 parse-gitignore: 2.0.0 picocolors: 1.0.1 toml-eslint-parser: 0.10.0 - vue-eslint-parser: 9.4.3(eslint@9.7.0) + vue-eslint-parser: 9.4.3(eslint@9.8.0) yaml-eslint-parser: 1.2.3 yargs: 17.7.2 transitivePeerDependencies: @@ -2955,13 +2893,6 @@ snapshots: - typescript - vitest - '@antfu/eslint-plugin-unused-imports@4.0.0(@typescript-eslint/eslint-plugin@8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@9.7.0)(typescript@5.5.3))(eslint@9.7.0)(typescript@5.5.3))(eslint@9.7.0)': - dependencies: - eslint: 9.7.0 - eslint-rule-composer: 0.3.0 - optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.0.0-alpha.40(@typescript-eslint/parser@7.16.1(eslint@9.7.0)(typescript@5.5.3))(eslint@9.7.0)(typescript@5.5.3) - '@antfu/install-pkg@0.3.3': dependencies: '@jsdevtools/ez-spawn': 3.0.4 @@ -2973,143 +2904,77 @@ snapshots: '@babel/highlight': 7.24.7 picocolors: 1.0.1 - '@babel/compat-data@7.24.7': {} + '@babel/compat-data@7.25.2': {} - '@babel/compat-data@7.24.9': {} - - '@babel/core@7.24.7': + '@babel/core@7.25.2': dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.24.7 - '@babel/generator': 7.24.10 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) - '@babel/helpers': 7.24.7 - '@babel/parser': 7.24.8 - '@babel/template': 7.24.7 - '@babel/traverse': 7.24.8 - '@babel/types': 7.24.9 + '@babel/generator': 7.25.0 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helpers': 7.25.0 + '@babel/parser': 7.25.0 + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.2 + '@babel/types': 7.25.2 convert-source-map: 2.0.0 - debug: 4.3.5 + debug: 4.3.6 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 7.6.3 transitivePeerDependencies: - supports-color - '@babel/core@7.24.9': + '@babel/generator@7.25.0': dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.24.10 - '@babel/helper-compilation-targets': 7.24.8 - '@babel/helper-module-transforms': 7.24.9(@babel/core@7.24.9) - '@babel/helpers': 7.24.8 - '@babel/parser': 7.24.8 - '@babel/template': 7.24.7 - '@babel/traverse': 7.24.8 - '@babel/types': 7.24.9 - convert-source-map: 2.0.0 - debug: 4.3.5 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 7.6.3 - transitivePeerDependencies: - - supports-color - - '@babel/generator@7.24.10': - dependencies: - '@babel/types': 7.24.9 + '@babel/types': 7.25.2 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 - '@babel/helper-compilation-targets@7.24.7': + '@babel/helper-compilation-targets@7.25.2': dependencies: - '@babel/compat-data': 7.24.7 - '@babel/helper-validator-option': 7.24.7 - browserslist: 4.23.1 - lru-cache: 5.1.1 - semver: 7.6.3 - - '@babel/helper-compilation-targets@7.24.8': - dependencies: - '@babel/compat-data': 7.24.9 + '@babel/compat-data': 7.25.2 '@babel/helper-validator-option': 7.24.8 browserslist: 4.23.2 lru-cache: 5.1.1 semver: 7.6.3 - '@babel/helper-environment-visitor@7.24.7': - dependencies: - '@babel/types': 7.24.9 - - '@babel/helper-function-name@7.24.7': - dependencies: - '@babel/template': 7.24.7 - '@babel/types': 7.24.9 - - '@babel/helper-hoist-variables@7.24.7': - dependencies: - '@babel/types': 7.24.9 - '@babel/helper-module-imports@7.24.7': dependencies: - '@babel/traverse': 7.24.8 - '@babel/types': 7.24.9 + '@babel/traverse': 7.25.2 + '@babel/types': 7.25.2 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.24.7(@babel/core@7.24.7)': + '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 + '@babel/core': 7.25.2 '@babel/helper-module-imports': 7.24.7 '@babel/helper-simple-access': 7.24.7 - '@babel/helper-split-export-declaration': 7.24.7 - '@babel/helper-validator-identifier': 7.24.7 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-transforms@7.24.9(@babel/core@7.24.9)': - dependencies: - '@babel/core': 7.24.9 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-module-imports': 7.24.7 - '@babel/helper-simple-access': 7.24.7 - '@babel/helper-split-export-declaration': 7.24.7 '@babel/helper-validator-identifier': 7.24.7 + '@babel/traverse': 7.25.2 transitivePeerDependencies: - supports-color '@babel/helper-simple-access@7.24.7': dependencies: - '@babel/traverse': 7.24.8 - '@babel/types': 7.24.9 + '@babel/traverse': 7.25.2 + '@babel/types': 7.25.2 transitivePeerDependencies: - supports-color - '@babel/helper-split-export-declaration@7.24.7': - dependencies: - '@babel/types': 7.24.9 - '@babel/helper-string-parser@7.24.8': {} '@babel/helper-validator-identifier@7.24.7': {} - '@babel/helper-validator-option@7.24.7': {} - '@babel/helper-validator-option@7.24.8': {} - '@babel/helpers@7.24.7': + '@babel/helpers@7.25.0': dependencies: - '@babel/template': 7.24.7 - '@babel/types': 7.24.9 - - '@babel/helpers@7.24.8': - dependencies: - '@babel/template': 7.24.7 - '@babel/types': 7.24.9 + '@babel/template': 7.25.0 + '@babel/types': 7.25.2 '@babel/highlight@7.24.7': dependencies: @@ -3118,36 +2983,33 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.0.1 - '@babel/parser@7.24.8': + '@babel/parser@7.25.0': dependencies: - '@babel/types': 7.24.9 + '@babel/types': 7.25.2 - '@babel/runtime@7.24.7': + '@babel/runtime@7.25.0': dependencies: regenerator-runtime: 0.14.1 - '@babel/template@7.24.7': + '@babel/template@7.25.0': dependencies: '@babel/code-frame': 7.24.7 - '@babel/parser': 7.24.8 - '@babel/types': 7.24.9 + '@babel/parser': 7.25.0 + '@babel/types': 7.25.2 - '@babel/traverse@7.24.8': + '@babel/traverse@7.25.2': dependencies: '@babel/code-frame': 7.24.7 - '@babel/generator': 7.24.10 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-function-name': 7.24.7 - '@babel/helper-hoist-variables': 7.24.7 - '@babel/helper-split-export-declaration': 7.24.7 - '@babel/parser': 7.24.8 - '@babel/types': 7.24.9 - debug: 4.3.5 + '@babel/generator': 7.25.0 + '@babel/parser': 7.25.0 + '@babel/template': 7.25.0 + '@babel/types': 7.25.2 + debug: 4.3.6 globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/types@7.24.9': + '@babel/types@7.25.2': dependencies: '@babel/helper-string-parser': 7.24.8 '@babel/helper-validator-identifier': 7.24.7 @@ -3166,9 +3028,9 @@ snapshots: '@es-joy/jsdoccomment@0.43.1': dependencies: - '@types/eslint': 8.56.10 + '@types/eslint': 8.56.11 '@types/estree': 1.0.5 - '@typescript-eslint/types': 7.16.1 + '@typescript-eslint/types': 7.18.0 comment-parser: 1.4.1 esquery: 1.6.0 jsdoc-type-pratt-parser: 4.0.0 @@ -3248,17 +3110,17 @@ snapshots: '@esbuild/win32-x64@0.21.5': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@9.7.0)': + '@eslint-community/eslint-utils@4.4.0(eslint@9.8.0)': dependencies: - eslint: 9.7.0 + eslint: 9.8.0 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.11.0': {} - '@eslint/config-array@0.17.0': + '@eslint/config-array@0.17.1': dependencies: '@eslint/object-schema': 2.1.4 - debug: 4.3.5 + debug: 4.3.6 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -3266,7 +3128,7 @@ snapshots: '@eslint/eslintrc@3.1.0': dependencies: ajv: 6.12.6 - debug: 4.3.5 + debug: 4.3.6 espree: 10.1.0 globals: 14.0.0 ignore: 5.3.1 @@ -3277,7 +3139,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.7.0': {} + '@eslint/js@9.8.0': {} '@eslint/object-schema@2.1.4': {} @@ -3285,21 +3147,21 @@ snapshots: '@humanwhocodes/retry@0.3.0': {} - '@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.4.32)(prettier@3.3.3)': + '@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.4.34)(prettier@3.3.3)': dependencies: - '@babel/core': 7.24.9 - '@babel/generator': 7.24.10 - '@babel/parser': 7.24.8 - '@babel/traverse': 7.24.8 - '@babel/types': 7.24.9 + '@babel/core': 7.25.2 + '@babel/generator': 7.25.0 + '@babel/parser': 7.25.0 + '@babel/traverse': 7.25.2 + '@babel/types': 7.25.2 prettier: 3.3.3 semver: 7.6.3 optionalDependencies: - '@vue/compiler-sfc': 3.4.32 + '@vue/compiler-sfc': 3.4.34 transitivePeerDependencies: - supports-color - '@intlify/bundle-utils@8.0.0(vue-i18n@9.13.1(vue@3.4.32(typescript@5.5.3)))': + '@intlify/bundle-utils@8.0.0(vue-i18n@9.13.1(vue@3.4.34(typescript@5.5.3)))': dependencies: '@intlify/message-compiler': 9.13.1 '@intlify/shared': 9.13.1 @@ -3311,22 +3173,22 @@ snapshots: source-map-js: 1.2.0 yaml-eslint-parser: 1.2.3 optionalDependencies: - vue-i18n: 9.13.1(vue@3.4.32(typescript@5.5.3)) + vue-i18n: 9.13.1(vue@3.4.34(typescript@5.5.3)) '@intlify/core-base@9.13.1': dependencies: '@intlify/message-compiler': 9.13.1 '@intlify/shared': 9.13.1 - '@intlify/eslint-plugin-vue-i18n@3.0.0(eslint@9.7.0)': + '@intlify/eslint-plugin-vue-i18n@3.0.0(eslint@9.8.0)': dependencies: '@eslint/eslintrc': 3.1.0 '@intlify/core-base': 9.13.1 '@intlify/message-compiler': 9.13.1 - debug: 4.3.5 - eslint: 9.7.0 - eslint-compat-utils: 0.5.1(eslint@9.7.0) - glob: 10.4.2 + debug: 4.3.6 + eslint: 9.8.0 + eslint-compat-utils: 0.5.1(eslint@9.8.0) + glob: 10.4.5 globals: 15.8.0 ignore: 5.3.1 import-fresh: 3.3.0 @@ -3337,8 +3199,8 @@ snapshots: lodash: 4.17.21 parse5: 7.1.2 semver: 7.6.3 - synckit: 0.9.0 - vue-eslint-parser: 9.4.3(eslint@9.7.0) + synckit: 0.9.1 + vue-eslint-parser: 9.4.3(eslint@9.8.0) yaml-eslint-parser: 1.2.3 transitivePeerDependencies: - supports-color @@ -3350,22 +3212,22 @@ snapshots: '@intlify/shared@9.13.1': {} - '@intlify/unplugin-vue-i18n@4.0.0(rollup@4.18.1)(vue-i18n@9.13.1(vue@3.4.32(typescript@5.5.3)))': + '@intlify/unplugin-vue-i18n@4.0.0(rollup@4.19.1)(vue-i18n@9.13.1(vue@3.4.34(typescript@5.5.3)))': dependencies: - '@intlify/bundle-utils': 8.0.0(vue-i18n@9.13.1(vue@3.4.32(typescript@5.5.3))) + '@intlify/bundle-utils': 8.0.0(vue-i18n@9.13.1(vue@3.4.34(typescript@5.5.3))) '@intlify/shared': 9.13.1 - '@rollup/pluginutils': 5.1.0(rollup@4.18.1) - '@vue/compiler-sfc': 3.4.32 - debug: 4.3.5 + '@rollup/pluginutils': 5.1.0(rollup@4.19.1) + '@vue/compiler-sfc': 3.4.34 + debug: 4.3.6 fast-glob: 3.3.2 js-yaml: 4.1.0 json5: 2.2.3 pathe: 1.1.2 picocolors: 1.0.1 source-map-js: 1.2.0 - unplugin: 1.11.0 + unplugin: 1.12.0 optionalDependencies: - vue-i18n: 9.13.1(vue@3.4.32(typescript@5.5.3)) + vue-i18n: 9.13.1(vue@3.4.34(typescript@5.5.3)) transitivePeerDependencies: - rollup - supports-color @@ -3401,11 +3263,11 @@ snapshots: call-me-maybe: 1.0.2 cross-spawn: 7.0.3 string-argv: 0.3.2 - type-detect: 4.0.8 + type-detect: 4.1.0 - '@kyvg/vue3-notification@3.2.1(vue@3.4.32(typescript@5.5.3))': + '@kyvg/vue3-notification@3.2.1(vue@3.4.34(typescript@5.5.3))': dependencies: - vue: 3.4.32(typescript@5.5.3) + vue: 3.4.34(typescript@5.5.3) '@mdi/js@7.4.47': {} @@ -3428,123 +3290,126 @@ snapshots: '@pkgr/core@0.1.1': {} - '@rollup/pluginutils@5.1.0(rollup@4.18.1)': + '@rollup/pluginutils@5.1.0(rollup@4.19.1)': dependencies: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 optionalDependencies: - rollup: 4.18.1 + rollup: 4.19.1 - '@rollup/rollup-android-arm-eabi@4.18.1': + '@rollup/rollup-android-arm-eabi@4.19.1': optional: true - '@rollup/rollup-android-arm64@4.18.1': + '@rollup/rollup-android-arm64@4.19.1': optional: true - '@rollup/rollup-darwin-arm64@4.18.1': + '@rollup/rollup-darwin-arm64@4.19.1': optional: true - '@rollup/rollup-darwin-x64@4.18.1': + '@rollup/rollup-darwin-x64@4.19.1': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.18.1': + '@rollup/rollup-linux-arm-gnueabihf@4.19.1': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.18.1': + '@rollup/rollup-linux-arm-musleabihf@4.19.1': optional: true - '@rollup/rollup-linux-arm64-gnu@4.18.1': + '@rollup/rollup-linux-arm64-gnu@4.19.1': optional: true - '@rollup/rollup-linux-arm64-musl@4.18.1': + '@rollup/rollup-linux-arm64-musl@4.19.1': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.18.1': + '@rollup/rollup-linux-powerpc64le-gnu@4.19.1': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.18.1': + '@rollup/rollup-linux-riscv64-gnu@4.19.1': optional: true - '@rollup/rollup-linux-s390x-gnu@4.18.1': + '@rollup/rollup-linux-s390x-gnu@4.19.1': optional: true - '@rollup/rollup-linux-x64-gnu@4.18.1': + '@rollup/rollup-linux-x64-gnu@4.19.1': optional: true - '@rollup/rollup-linux-x64-musl@4.18.1': + '@rollup/rollup-linux-x64-musl@4.19.1': optional: true - '@rollup/rollup-win32-arm64-msvc@4.18.1': + '@rollup/rollup-win32-arm64-msvc@4.19.1': optional: true - '@rollup/rollup-win32-ia32-msvc@4.18.1': + '@rollup/rollup-win32-ia32-msvc@4.19.1': optional: true - '@rollup/rollup-win32-x64-msvc@4.18.1': + '@rollup/rollup-win32-x64-msvc@4.19.1': optional: true - '@rtsao/scc@1.1.0': {} - '@sindresorhus/is@4.6.0': {} - '@stylistic/eslint-plugin-js@2.6.0-beta.0(eslint@9.7.0)': + '@stylistic/eslint-plugin-js@2.6.0-beta.1(eslint@9.8.0)': dependencies: - '@types/eslint': 8.56.10 + '@types/eslint': 9.6.0 acorn: 8.12.1 - eslint: 9.7.0 + eslint: 9.8.0 eslint-visitor-keys: 4.0.0 espree: 10.1.0 - '@stylistic/eslint-plugin-jsx@2.6.0-beta.0(eslint@9.7.0)': + '@stylistic/eslint-plugin-jsx@2.6.0-beta.1(eslint@9.8.0)': dependencies: - '@stylistic/eslint-plugin-js': 2.6.0-beta.0(eslint@9.7.0) - '@types/eslint': 8.56.10 - eslint: 9.7.0 + '@stylistic/eslint-plugin-js': 2.6.0-beta.1(eslint@9.8.0) + '@types/eslint': 9.6.0 + eslint: 9.8.0 estraverse: 5.3.0 picomatch: 4.0.2 - '@stylistic/eslint-plugin-plus@2.6.0-beta.0(eslint@9.7.0)(typescript@5.5.3)': + '@stylistic/eslint-plugin-plus@2.6.0-beta.1(eslint@9.8.0)(typescript@5.5.3)': dependencies: - '@types/eslint': 8.56.10 - '@typescript-eslint/utils': 8.0.0-alpha.45(eslint@9.7.0)(typescript@5.5.3) - eslint: 9.7.0 + '@types/eslint': 9.6.0 + '@typescript-eslint/utils': 8.0.0-alpha.58(eslint@9.8.0)(typescript@5.5.3) + eslint: 9.8.0 transitivePeerDependencies: - supports-color - typescript - '@stylistic/eslint-plugin-ts@2.6.0-beta.0(eslint@9.7.0)(typescript@5.5.3)': + '@stylistic/eslint-plugin-ts@2.6.0-beta.1(eslint@9.8.0)(typescript@5.5.3)': dependencies: - '@stylistic/eslint-plugin-js': 2.6.0-beta.0(eslint@9.7.0) - '@types/eslint': 8.56.10 - '@typescript-eslint/utils': 8.0.0-alpha.45(eslint@9.7.0)(typescript@5.5.3) - eslint: 9.7.0 + '@stylistic/eslint-plugin-js': 2.6.0-beta.1(eslint@9.8.0) + '@types/eslint': 9.6.0 + '@typescript-eslint/utils': 8.0.0-alpha.58(eslint@9.8.0)(typescript@5.5.3) + eslint: 9.8.0 transitivePeerDependencies: - supports-color - typescript - '@stylistic/eslint-plugin@2.6.0-beta.0(eslint@9.7.0)(typescript@5.5.3)': + '@stylistic/eslint-plugin@2.6.0-beta.1(eslint@9.8.0)(typescript@5.5.3)': dependencies: - '@stylistic/eslint-plugin-js': 2.6.0-beta.0(eslint@9.7.0) - '@stylistic/eslint-plugin-jsx': 2.6.0-beta.0(eslint@9.7.0) - '@stylistic/eslint-plugin-plus': 2.6.0-beta.0(eslint@9.7.0)(typescript@5.5.3) - '@stylistic/eslint-plugin-ts': 2.6.0-beta.0(eslint@9.7.0)(typescript@5.5.3) - '@types/eslint': 8.56.10 - eslint: 9.7.0 + '@stylistic/eslint-plugin-js': 2.6.0-beta.1(eslint@9.8.0) + '@stylistic/eslint-plugin-jsx': 2.6.0-beta.1(eslint@9.8.0) + '@stylistic/eslint-plugin-plus': 2.6.0-beta.1(eslint@9.8.0)(typescript@5.5.3) + '@stylistic/eslint-plugin-ts': 2.6.0-beta.1(eslint@9.8.0)(typescript@5.5.3) + '@types/eslint': 9.6.0 + eslint: 9.8.0 transitivePeerDependencies: - supports-color - typescript '@trysound/sax@0.2.0': {} - '@types/eslint@8.56.10': + '@types/eslint@8.56.11': + dependencies: + '@types/estree': 1.0.5 + '@types/json-schema': 7.0.15 + + '@types/eslint@9.6.0': dependencies: '@types/estree': 1.0.5 '@types/json-schema': 7.0.15 '@types/eslint__js@8.42.3': dependencies: - '@types/eslint': 8.56.10 + '@types/eslint': 9.6.0 '@types/estree@1.0.5': {} @@ -3556,7 +3421,7 @@ snapshots: dependencies: '@types/unist': 2.0.10 - '@types/node@20.14.11': + '@types/node@20.14.13': dependencies: undici-types: 5.26.5 @@ -3572,15 +3437,15 @@ snapshots: '@types/web-bluetooth@0.0.20': {} - '@typescript-eslint/eslint-plugin@7.16.1(@typescript-eslint/parser@7.16.1(eslint@9.7.0)(typescript@5.5.3))(eslint@9.7.0)(typescript@5.5.3)': + '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3)': dependencies: '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 7.16.1(eslint@9.7.0)(typescript@5.5.3) - '@typescript-eslint/scope-manager': 7.16.1 - '@typescript-eslint/type-utils': 7.16.1(eslint@9.7.0)(typescript@5.5.3) - '@typescript-eslint/utils': 7.16.1(eslint@9.7.0)(typescript@5.5.3) - '@typescript-eslint/visitor-keys': 7.16.1 - eslint: 9.7.0 + '@typescript-eslint/parser': 7.18.0(eslint@9.8.0)(typescript@5.5.3) + '@typescript-eslint/scope-manager': 7.18.0 + '@typescript-eslint/type-utils': 7.18.0(eslint@9.8.0)(typescript@5.5.3) + '@typescript-eslint/utils': 7.18.0(eslint@9.8.0)(typescript@5.5.3) + '@typescript-eslint/visitor-keys': 7.18.0 + eslint: 9.8.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 @@ -3590,15 +3455,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.0.0-alpha.40(@typescript-eslint/parser@7.16.1(eslint@9.7.0)(typescript@5.5.3))(eslint@9.7.0)(typescript@5.5.3)': + '@typescript-eslint/eslint-plugin@8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3)': dependencies: '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 7.16.1(eslint@9.7.0)(typescript@5.5.3) + '@typescript-eslint/parser': 8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3) '@typescript-eslint/scope-manager': 8.0.0-alpha.40 - '@typescript-eslint/type-utils': 8.0.0-alpha.40(eslint@9.7.0)(typescript@5.5.3) - '@typescript-eslint/utils': 8.0.0-alpha.40(eslint@9.7.0)(typescript@5.5.3) + '@typescript-eslint/type-utils': 8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3) + '@typescript-eslint/utils': 8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3) '@typescript-eslint/visitor-keys': 8.0.0-alpha.40 - eslint: 9.7.0 + eslint: 9.8.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 @@ -3608,64 +3473,64 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.16.1(eslint@9.7.0)(typescript@5.5.3)': + '@typescript-eslint/parser@7.18.0(eslint@9.8.0)(typescript@5.5.3)': dependencies: - '@typescript-eslint/scope-manager': 7.16.1 - '@typescript-eslint/types': 7.16.1 - '@typescript-eslint/typescript-estree': 7.16.1(typescript@5.5.3) - '@typescript-eslint/visitor-keys': 7.16.1 - debug: 4.3.5 - eslint: 9.7.0 + '@typescript-eslint/scope-manager': 7.18.0 + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.3) + '@typescript-eslint/visitor-keys': 7.18.0 + debug: 4.3.6 + eslint: 9.8.0 optionalDependencies: typescript: 5.5.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.0.0-alpha.40(eslint@9.7.0)(typescript@5.5.3)': + '@typescript-eslint/parser@8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3)': dependencies: '@typescript-eslint/scope-manager': 8.0.0-alpha.40 '@typescript-eslint/types': 8.0.0-alpha.40 '@typescript-eslint/typescript-estree': 8.0.0-alpha.40(typescript@5.5.3) '@typescript-eslint/visitor-keys': 8.0.0-alpha.40 - debug: 4.3.5 - eslint: 9.7.0 + debug: 4.3.6 + eslint: 9.8.0 optionalDependencies: typescript: 5.5.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@7.16.1': + '@typescript-eslint/scope-manager@7.18.0': dependencies: - '@typescript-eslint/types': 7.16.1 - '@typescript-eslint/visitor-keys': 7.16.1 + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/visitor-keys': 7.18.0 '@typescript-eslint/scope-manager@8.0.0-alpha.40': dependencies: '@typescript-eslint/types': 8.0.0-alpha.40 '@typescript-eslint/visitor-keys': 8.0.0-alpha.40 - '@typescript-eslint/scope-manager@8.0.0-alpha.45': + '@typescript-eslint/scope-manager@8.0.0-alpha.58': dependencies: - '@typescript-eslint/types': 8.0.0-alpha.45 - '@typescript-eslint/visitor-keys': 8.0.0-alpha.45 + '@typescript-eslint/types': 8.0.0-alpha.58 + '@typescript-eslint/visitor-keys': 8.0.0-alpha.58 - '@typescript-eslint/type-utils@7.16.1(eslint@9.7.0)(typescript@5.5.3)': + '@typescript-eslint/type-utils@7.18.0(eslint@9.8.0)(typescript@5.5.3)': dependencies: - '@typescript-eslint/typescript-estree': 7.16.1(typescript@5.5.3) - '@typescript-eslint/utils': 7.16.1(eslint@9.7.0)(typescript@5.5.3) - debug: 4.3.5 - eslint: 9.7.0 + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.3) + '@typescript-eslint/utils': 7.18.0(eslint@9.8.0)(typescript@5.5.3) + debug: 4.3.6 + eslint: 9.8.0 ts-api-utils: 1.3.0(typescript@5.5.3) optionalDependencies: typescript: 5.5.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@8.0.0-alpha.40(eslint@9.7.0)(typescript@5.5.3)': + '@typescript-eslint/type-utils@8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3)': dependencies: '@typescript-eslint/typescript-estree': 8.0.0-alpha.40(typescript@5.5.3) - '@typescript-eslint/utils': 8.0.0-alpha.40(eslint@9.7.0)(typescript@5.5.3) - debug: 4.3.5 + '@typescript-eslint/utils': 8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3) + debug: 4.3.6 ts-api-utils: 1.3.0(typescript@5.5.3) optionalDependencies: typescript: 5.5.3 @@ -3673,17 +3538,17 @@ snapshots: - eslint - supports-color - '@typescript-eslint/types@7.16.1': {} + '@typescript-eslint/types@7.18.0': {} '@typescript-eslint/types@8.0.0-alpha.40': {} - '@typescript-eslint/types@8.0.0-alpha.45': {} + '@typescript-eslint/types@8.0.0-alpha.58': {} - '@typescript-eslint/typescript-estree@7.16.1(typescript@5.5.3)': + '@typescript-eslint/typescript-estree@7.18.0(typescript@5.5.3)': dependencies: - '@typescript-eslint/types': 7.16.1 - '@typescript-eslint/visitor-keys': 7.16.1 - debug: 4.3.5 + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/visitor-keys': 7.18.0 + debug: 4.3.6 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.5 @@ -3698,7 +3563,7 @@ snapshots: dependencies: '@typescript-eslint/types': 8.0.0-alpha.40 '@typescript-eslint/visitor-keys': 8.0.0-alpha.40 - debug: 4.3.5 + debug: 4.3.6 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.5 @@ -3709,11 +3574,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.0.0-alpha.45(typescript@5.5.3)': + '@typescript-eslint/typescript-estree@8.0.0-alpha.58(typescript@5.5.3)': dependencies: - '@typescript-eslint/types': 8.0.0-alpha.45 - '@typescript-eslint/visitor-keys': 8.0.0-alpha.45 - debug: 4.3.5 + '@typescript-eslint/types': 8.0.0-alpha.58 + '@typescript-eslint/visitor-keys': 8.0.0-alpha.58 + debug: 4.3.6 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.5 @@ -3724,42 +3589,42 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@7.16.1(eslint@9.7.0)(typescript@5.5.3)': + '@typescript-eslint/utils@7.18.0(eslint@9.8.0)(typescript@5.5.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.7.0) - '@typescript-eslint/scope-manager': 7.16.1 - '@typescript-eslint/types': 7.16.1 - '@typescript-eslint/typescript-estree': 7.16.1(typescript@5.5.3) - eslint: 9.7.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) + '@typescript-eslint/scope-manager': 7.18.0 + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.3) + eslint: 9.8.0 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@8.0.0-alpha.40(eslint@9.7.0)(typescript@5.5.3)': + '@typescript-eslint/utils@8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.7.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) '@typescript-eslint/scope-manager': 8.0.0-alpha.40 '@typescript-eslint/types': 8.0.0-alpha.40 '@typescript-eslint/typescript-estree': 8.0.0-alpha.40(typescript@5.5.3) - eslint: 9.7.0 + eslint: 9.8.0 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@8.0.0-alpha.45(eslint@9.7.0)(typescript@5.5.3)': + '@typescript-eslint/utils@8.0.0-alpha.58(eslint@9.8.0)(typescript@5.5.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.7.0) - '@typescript-eslint/scope-manager': 8.0.0-alpha.45 - '@typescript-eslint/types': 8.0.0-alpha.45 - '@typescript-eslint/typescript-estree': 8.0.0-alpha.45(typescript@5.5.3) - eslint: 9.7.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) + '@typescript-eslint/scope-manager': 8.0.0-alpha.58 + '@typescript-eslint/types': 8.0.0-alpha.58 + '@typescript-eslint/typescript-estree': 8.0.0-alpha.58(typescript@5.5.3) + eslint: 9.8.0 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/visitor-keys@7.16.1': + '@typescript-eslint/visitor-keys@7.18.0': dependencies: - '@typescript-eslint/types': 7.16.1 + '@typescript-eslint/types': 7.18.0 eslint-visitor-keys: 3.4.3 '@typescript-eslint/visitor-keys@8.0.0-alpha.40': @@ -3767,157 +3632,162 @@ snapshots: '@typescript-eslint/types': 8.0.0-alpha.40 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@8.0.0-alpha.45': + '@typescript-eslint/visitor-keys@8.0.0-alpha.58': dependencies: - '@typescript-eslint/types': 8.0.0-alpha.45 + '@typescript-eslint/types': 8.0.0-alpha.58 eslint-visitor-keys: 3.4.3 - '@vitejs/plugin-vue@5.0.5(vite@5.3.4(@types/node@20.14.11)(stylus@0.57.0))(vue@3.4.32(typescript@5.5.3))': + '@vitejs/plugin-vue@5.1.1(vite@5.3.5(@types/node@20.14.13)(stylus@0.57.0))(vue@3.4.34(typescript@5.5.3))': dependencies: - vite: 5.3.4(@types/node@20.14.11)(stylus@0.57.0) - vue: 3.4.32(typescript@5.5.3) + vite: 5.3.5(@types/node@20.14.13)(stylus@0.57.0) + vue: 3.4.34(typescript@5.5.3) - '@vitest/expect@2.0.3': + '@vitest/expect@2.0.4': dependencies: - '@vitest/spy': 2.0.3 - '@vitest/utils': 2.0.3 + '@vitest/spy': 2.0.4 + '@vitest/utils': 2.0.4 chai: 5.1.1 tinyrainbow: 1.2.0 - '@vitest/pretty-format@2.0.3': + '@vitest/pretty-format@2.0.4': dependencies: tinyrainbow: 1.2.0 - '@vitest/runner@2.0.3': + '@vitest/runner@2.0.4': dependencies: - '@vitest/utils': 2.0.3 + '@vitest/utils': 2.0.4 pathe: 1.1.2 - '@vitest/snapshot@2.0.3': + '@vitest/snapshot@2.0.4': dependencies: - '@vitest/pretty-format': 2.0.3 - magic-string: 0.30.10 + '@vitest/pretty-format': 2.0.4 + magic-string: 0.30.11 pathe: 1.1.2 - '@vitest/spy@2.0.3': + '@vitest/spy@2.0.4': dependencies: tinyspy: 3.0.0 - '@vitest/utils@2.0.3': + '@vitest/utils@2.0.4': dependencies: - '@vitest/pretty-format': 2.0.3 + '@vitest/pretty-format': 2.0.4 estree-walker: 3.0.3 loupe: 3.1.1 tinyrainbow: 1.2.0 - '@volar/language-core@2.4.0-alpha.15': + '@volar/language-core@2.4.0-alpha.18': dependencies: - '@volar/source-map': 2.4.0-alpha.15 + '@volar/source-map': 2.4.0-alpha.18 - '@volar/source-map@2.4.0-alpha.15': {} + '@volar/source-map@2.4.0-alpha.18': {} - '@volar/typescript@2.4.0-alpha.15': + '@volar/typescript@2.4.0-alpha.18': dependencies: - '@volar/language-core': 2.4.0-alpha.15 + '@volar/language-core': 2.4.0-alpha.18 path-browserify: 1.0.1 vscode-uri: 3.0.8 - '@vue/compiler-core@3.4.32': + '@vue/compiler-core@3.4.34': dependencies: - '@babel/parser': 7.24.8 - '@vue/shared': 3.4.32 + '@babel/parser': 7.25.0 + '@vue/shared': 3.4.34 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.0 - '@vue/compiler-dom@3.4.32': + '@vue/compiler-dom@3.4.34': dependencies: - '@vue/compiler-core': 3.4.32 - '@vue/shared': 3.4.32 + '@vue/compiler-core': 3.4.34 + '@vue/shared': 3.4.34 - '@vue/compiler-sfc@3.4.32': + '@vue/compiler-sfc@3.4.34': dependencies: - '@babel/parser': 7.24.8 - '@vue/compiler-core': 3.4.32 - '@vue/compiler-dom': 3.4.32 - '@vue/compiler-ssr': 3.4.32 - '@vue/shared': 3.4.32 + '@babel/parser': 7.25.0 + '@vue/compiler-core': 3.4.34 + '@vue/compiler-dom': 3.4.34 + '@vue/compiler-ssr': 3.4.34 + '@vue/shared': 3.4.34 estree-walker: 2.0.2 - magic-string: 0.30.10 - postcss: 8.4.39 + magic-string: 0.30.11 + postcss: 8.4.40 source-map-js: 1.2.0 - '@vue/compiler-ssr@3.4.32': + '@vue/compiler-ssr@3.4.34': dependencies: - '@vue/compiler-dom': 3.4.32 - '@vue/shared': 3.4.32 + '@vue/compiler-dom': 3.4.34 + '@vue/shared': 3.4.34 + + '@vue/compiler-vue2@2.7.16': + dependencies: + de-indent: 1.0.2 + he: 1.2.0 '@vue/devtools-api@6.6.3': {} - '@vue/language-core@2.0.26(typescript@5.5.3)': + '@vue/language-core@2.0.29(typescript@5.5.3)': dependencies: - '@volar/language-core': 2.4.0-alpha.15 - '@vue/compiler-dom': 3.4.32 - '@vue/shared': 3.4.32 + '@volar/language-core': 2.4.0-alpha.18 + '@vue/compiler-dom': 3.4.34 + '@vue/compiler-vue2': 2.7.16 + '@vue/shared': 3.4.34 computeds: 0.0.1 minimatch: 9.0.5 muggle-string: 0.4.1 path-browserify: 1.0.1 - vue-template-compiler: 2.7.16 optionalDependencies: typescript: 5.5.3 - '@vue/reactivity@3.4.32': + '@vue/reactivity@3.4.34': dependencies: - '@vue/shared': 3.4.32 + '@vue/shared': 3.4.34 - '@vue/runtime-core@3.4.32': + '@vue/runtime-core@3.4.34': dependencies: - '@vue/reactivity': 3.4.32 - '@vue/shared': 3.4.32 + '@vue/reactivity': 3.4.34 + '@vue/shared': 3.4.34 - '@vue/runtime-dom@3.4.32': + '@vue/runtime-dom@3.4.34': dependencies: - '@vue/reactivity': 3.4.32 - '@vue/runtime-core': 3.4.32 - '@vue/shared': 3.4.32 + '@vue/reactivity': 3.4.34 + '@vue/runtime-core': 3.4.34 + '@vue/shared': 3.4.34 csstype: 3.1.3 - '@vue/server-renderer@3.4.32(vue@3.4.32(typescript@5.5.3))': + '@vue/server-renderer@3.4.34(vue@3.4.34(typescript@5.5.3))': dependencies: - '@vue/compiler-ssr': 3.4.32 - '@vue/shared': 3.4.32 - vue: 3.4.32(typescript@5.5.3) + '@vue/compiler-ssr': 3.4.34 + '@vue/shared': 3.4.34 + vue: 3.4.34(typescript@5.5.3) - '@vue/shared@3.4.32': {} + '@vue/shared@3.4.34': {} '@vue/test-utils@2.4.6': dependencies: js-beautify: 1.15.1 - vue-component-type-helpers: 2.0.26 + vue-component-type-helpers: 2.0.29 - '@vueuse/core@10.11.0(vue@3.4.32(typescript@5.5.3))': + '@vueuse/core@10.11.0(vue@3.4.34(typescript@5.5.3))': dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.11.0 - '@vueuse/shared': 10.11.0(vue@3.4.32(typescript@5.5.3)) - vue-demi: 0.14.8(vue@3.4.32(typescript@5.5.3)) + '@vueuse/shared': 10.11.0(vue@3.4.34(typescript@5.5.3)) + vue-demi: 0.14.10(vue@3.4.34(typescript@5.5.3)) transitivePeerDependencies: - '@vue/composition-api' - vue '@vueuse/metadata@10.11.0': {} - '@vueuse/shared@10.11.0(vue@3.4.32(typescript@5.5.3))': + '@vueuse/shared@10.11.0(vue@3.4.34(typescript@5.5.3))': dependencies: - vue-demi: 0.14.8(vue@3.4.32(typescript@5.5.3)) + vue-demi: 0.14.10(vue@3.4.34(typescript@5.5.3)) transitivePeerDependencies: - '@vue/composition-api' - vue '@windicss/config@1.9.3': dependencies: - debug: 4.3.5 + debug: 4.3.6 jiti: 1.21.6 windicss: 3.5.6 transitivePeerDependencies: @@ -3927,9 +3797,9 @@ snapshots: dependencies: '@antfu/utils': 0.7.10 '@windicss/config': 1.9.3 - debug: 4.3.5 + debug: 4.3.6 fast-glob: 3.3.2 - magic-string: 0.30.10 + magic-string: 0.30.11 micromatch: 4.0.7 windicss: 3.5.6 transitivePeerDependencies: @@ -3945,7 +3815,7 @@ snapshots: agent-base@7.1.1: dependencies: - debug: 4.3.5 + debug: 4.3.6 transitivePeerDependencies: - supports-color @@ -4012,18 +3882,11 @@ snapshots: dependencies: fill-range: 7.1.1 - browserslist@4.23.1: - dependencies: - caniuse-lite: 1.0.30001640 - electron-to-chromium: 1.4.817 - node-releases: 2.0.14 - update-browserslist-db: 1.1.0(browserslist@4.23.1) - browserslist@4.23.2: dependencies: - caniuse-lite: 1.0.30001642 - electron-to-chromium: 1.4.829 - node-releases: 2.0.17 + caniuse-lite: 1.0.30001644 + electron-to-chromium: 1.5.3 + node-releases: 2.0.18 update-browserslist-db: 1.1.0(browserslist@4.23.2) builtin-modules@3.3.0: {} @@ -4034,9 +3897,7 @@ snapshots: callsites@3.1.0: {} - caniuse-lite@1.0.30001640: {} - - caniuse-lite@1.0.30001642: {} + caniuse-lite@1.0.30001644: {} chai@5.1.1: dependencies: @@ -4189,7 +4050,7 @@ snapshots: dependencies: ms: 2.1.3 - debug@4.3.5: + debug@4.3.6: dependencies: ms: 2.1.2 @@ -4238,9 +4099,7 @@ snapshots: minimatch: 9.0.1 semver: 7.6.3 - electron-to-chromium@1.4.817: {} - - electron-to-chromium@1.4.829: {} + electron-to-chromium@1.5.3: {} emoji-regex@8.0.0: {} @@ -4248,7 +4107,7 @@ snapshots: emojilib@2.4.0: {} - enhanced-resolve@5.17.0: + enhanced-resolve@5.17.1: dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 @@ -4301,9 +4160,9 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-compat-utils@0.5.1(eslint@9.7.0): + eslint-compat-utils@0.5.1(eslint@9.8.0): dependencies: - eslint: 9.7.0 + eslint: 9.8.0 semver: 7.6.3 eslint-config-flat-gitignore@0.1.8: @@ -4311,9 +4170,9 @@ snapshots: find-up-simple: 1.0.0 parse-gitignore: 2.0.0 - eslint-flat-config-utils@0.2.5: + eslint-flat-config-utils@0.3.0: dependencies: - '@types/eslint': 8.56.10 + '@types/eslint': 9.6.0 pathe: 1.1.2 eslint-import-resolver-node@0.3.9: @@ -4324,42 +4183,41 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-merge-processors@0.1.0(eslint@9.7.0): + eslint-merge-processors@0.1.0(eslint@9.8.0): dependencies: - eslint: 9.7.0 + eslint: 9.8.0 - eslint-plugin-antfu@2.3.4(eslint@9.7.0): + eslint-plugin-antfu@2.3.4(eslint@9.8.0): dependencies: '@antfu/utils': 0.7.10 - eslint: 9.7.0 + eslint: 9.8.0 - eslint-plugin-command@0.2.3(eslint@9.7.0): + eslint-plugin-command@0.2.3(eslint@9.8.0): dependencies: '@es-joy/jsdoccomment': 0.43.1 - eslint: 9.7.0 + eslint: 9.8.0 - eslint-plugin-es-x@7.8.0(eslint@9.7.0): + eslint-plugin-es-x@7.8.0(eslint@9.8.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.7.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) '@eslint-community/regexpp': 4.11.0 - eslint: 9.7.0 - eslint-compat-utils: 0.5.1(eslint@9.7.0) + eslint: 9.8.0 + eslint-compat-utils: 0.5.1(eslint@9.8.0) - eslint-plugin-eslint-comments@3.2.0(eslint@9.7.0): + eslint-plugin-eslint-comments@3.2.0(eslint@9.8.0): dependencies: escape-string-regexp: 1.0.5 - eslint: 9.7.0 + eslint: 9.8.0 ignore: 5.3.1 - eslint-plugin-import-x@3.0.1(eslint@9.7.0)(typescript@5.5.3): + eslint-plugin-import-x@3.1.0(eslint@9.8.0)(typescript@5.5.3): dependencies: - '@rtsao/scc': 1.1.0 - '@typescript-eslint/utils': 7.16.1(eslint@9.7.0)(typescript@5.5.3) - debug: 4.3.5 + '@typescript-eslint/utils': 7.18.0(eslint@9.8.0)(typescript@5.5.3) + debug: 4.3.6 doctrine: 3.0.0 - eslint: 9.7.0 + eslint: 9.8.0 eslint-import-resolver-node: 0.3.9 - get-tsconfig: 4.7.5 + get-tsconfig: 4.7.6 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 @@ -4369,14 +4227,14 @@ snapshots: - supports-color - typescript - eslint-plugin-jsdoc@48.7.0(eslint@9.7.0): + eslint-plugin-jsdoc@48.9.3(eslint@9.8.0): dependencies: '@es-joy/jsdoccomment': 0.46.0 are-docs-informative: 0.0.2 comment-parser: 1.4.1 - debug: 4.3.5 + debug: 4.3.6 escape-string-regexp: 4.0.0 - eslint: 9.7.0 + eslint: 9.8.0 esquery: 1.6.0 parse-imports: 2.1.1 semver: 7.6.3 @@ -4385,31 +4243,31 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-jsonc@2.16.0(eslint@9.7.0): + eslint-plugin-jsonc@2.16.0(eslint@9.8.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.7.0) - eslint: 9.7.0 - eslint-compat-utils: 0.5.1(eslint@9.7.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) + eslint: 9.8.0 + eslint-compat-utils: 0.5.1(eslint@9.8.0) espree: 9.6.1 graphemer: 1.4.0 jsonc-eslint-parser: 2.4.0 natural-compare: 1.4.0 synckit: 0.6.2 - eslint-plugin-markdown@5.1.0(eslint@9.7.0): + eslint-plugin-markdown@5.1.0(eslint@9.8.0): dependencies: - eslint: 9.7.0 + eslint: 9.8.0 mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: - supports-color - eslint-plugin-n@17.9.0(eslint@9.7.0): + eslint-plugin-n@17.10.1(eslint@9.8.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.7.0) - enhanced-resolve: 5.17.0 - eslint: 9.7.0 - eslint-plugin-es-x: 7.8.0(eslint@9.7.0) - get-tsconfig: 4.7.5 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) + enhanced-resolve: 5.17.1 + eslint: 9.8.0 + eslint-plugin-es-x: 7.8.0(eslint@9.8.0) + get-tsconfig: 4.7.6 globals: 15.8.0 ignore: 5.3.1 minimatch: 9.0.5 @@ -4417,53 +4275,54 @@ snapshots: eslint-plugin-no-only-tests@3.1.0: {} - eslint-plugin-perfectionist@2.11.0(eslint@9.7.0)(typescript@5.5.3)(vue-eslint-parser@9.4.3(eslint@9.7.0)): + eslint-plugin-perfectionist@3.0.0(eslint@9.8.0)(typescript@5.5.3)(vue-eslint-parser@9.4.3(eslint@9.8.0)): dependencies: - '@typescript-eslint/utils': 7.16.1(eslint@9.7.0)(typescript@5.5.3) - eslint: 9.7.0 - minimatch: 9.0.5 + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/utils': 7.18.0(eslint@9.8.0)(typescript@5.5.3) + eslint: 9.8.0 + minimatch: 10.0.1 natural-compare-lite: 1.4.0 optionalDependencies: - vue-eslint-parser: 9.4.3(eslint@9.7.0) + vue-eslint-parser: 9.4.3(eslint@9.8.0) transitivePeerDependencies: - supports-color - typescript - eslint-plugin-promise@6.4.0(eslint@9.7.0): + eslint-plugin-promise@6.6.0(eslint@9.8.0): dependencies: - eslint: 9.7.0 + eslint: 9.8.0 - eslint-plugin-regexp@2.6.0(eslint@9.7.0): + eslint-plugin-regexp@2.6.0(eslint@9.8.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.7.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) '@eslint-community/regexpp': 4.11.0 comment-parser: 1.4.1 - eslint: 9.7.0 + eslint: 9.8.0 jsdoc-type-pratt-parser: 4.0.0 refa: 0.12.1 regexp-ast-analysis: 0.7.1 scslre: 0.3.0 - eslint-plugin-toml@0.11.1(eslint@9.7.0): + eslint-plugin-toml@0.11.1(eslint@9.8.0): dependencies: - debug: 4.3.5 - eslint: 9.7.0 - eslint-compat-utils: 0.5.1(eslint@9.7.0) + debug: 4.3.6 + eslint: 9.8.0 + eslint-compat-utils: 0.5.1(eslint@9.8.0) lodash: 4.17.21 toml-eslint-parser: 0.10.0 transitivePeerDependencies: - supports-color - eslint-plugin-unicorn@54.0.0(eslint@9.7.0): + eslint-plugin-unicorn@55.0.0(eslint@9.8.0): dependencies: '@babel/helper-validator-identifier': 7.24.7 - '@eslint-community/eslint-utils': 4.4.0(eslint@9.7.0) - '@eslint/eslintrc': 3.1.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) ci-info: 4.0.0 clean-regexp: 1.0.0 core-js-compat: 3.37.1 - eslint: 9.7.0 + eslint: 9.8.0 esquery: 1.6.0 + globals: 15.8.0 indent-string: 4.0.0 is-builtin-module: 3.2.1 jsesc: 3.0.2 @@ -4473,64 +4332,69 @@ snapshots: regjsparser: 0.10.0 semver: 7.6.3 strip-indent: 3.0.0 - transitivePeerDependencies: - - supports-color - eslint-plugin-vitest@0.5.4(@typescript-eslint/eslint-plugin@8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@9.7.0)(typescript@5.5.3))(eslint@9.7.0)(typescript@5.5.3))(eslint@9.7.0)(typescript@5.5.3)(vitest@2.0.3(@types/node@20.14.11)(jsdom@24.1.0)(stylus@0.57.0)): + eslint-plugin-unused-imports@4.0.1(@typescript-eslint/eslint-plugin@8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0): dependencies: - '@typescript-eslint/utils': 7.16.1(eslint@9.7.0)(typescript@5.5.3) - eslint: 9.7.0 + eslint: 9.8.0 + eslint-rule-composer: 0.3.0 optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.0.0-alpha.40(@typescript-eslint/parser@7.16.1(eslint@9.7.0)(typescript@5.5.3))(eslint@9.7.0)(typescript@5.5.3) - vitest: 2.0.3(@types/node@20.14.11)(jsdom@24.1.0)(stylus@0.57.0) + '@typescript-eslint/eslint-plugin': 8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3) + + eslint-plugin-vitest@0.5.4(@typescript-eslint/eslint-plugin@8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3)(vitest@2.0.4(@types/node@20.14.13)(jsdom@24.1.1)(stylus@0.57.0)): + dependencies: + '@typescript-eslint/utils': 7.18.0(eslint@9.8.0)(typescript@5.5.3) + eslint: 9.8.0 + optionalDependencies: + '@typescript-eslint/eslint-plugin': 8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3) + vitest: 2.0.4(@types/node@20.14.13)(jsdom@24.1.1)(stylus@0.57.0) transitivePeerDependencies: - supports-color - typescript - eslint-plugin-vue-scoped-css@2.8.1(eslint@9.7.0)(vue-eslint-parser@9.4.3(eslint@9.7.0)): + eslint-plugin-vue-scoped-css@2.8.1(eslint@9.8.0)(vue-eslint-parser@9.4.3(eslint@9.8.0)): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.7.0) - eslint: 9.7.0 - eslint-compat-utils: 0.5.1(eslint@9.7.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) + eslint: 9.8.0 + eslint-compat-utils: 0.5.1(eslint@9.8.0) lodash: 4.17.21 - postcss: 8.4.39 - postcss-safe-parser: 6.0.0(postcss@8.4.39) - postcss-scss: 4.0.9(postcss@8.4.39) - postcss-selector-parser: 6.1.0 + postcss: 8.4.40 + postcss-safe-parser: 6.0.0(postcss@8.4.40) + postcss-scss: 4.0.9(postcss@8.4.40) + postcss-selector-parser: 6.1.1 postcss-styl: 0.12.3 - vue-eslint-parser: 9.4.3(eslint@9.7.0) + vue-eslint-parser: 9.4.3(eslint@9.8.0) transitivePeerDependencies: - supports-color - eslint-plugin-vue@9.27.0(eslint@9.7.0): + eslint-plugin-vue@9.27.0(eslint@9.8.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.7.0) - eslint: 9.7.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) + eslint: 9.8.0 globals: 13.24.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.1.1 semver: 7.6.3 - vue-eslint-parser: 9.4.3(eslint@9.7.0) + vue-eslint-parser: 9.4.3(eslint@9.8.0) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color - eslint-plugin-yml@1.14.0(eslint@9.7.0): + eslint-plugin-yml@1.14.0(eslint@9.8.0): dependencies: - debug: 4.3.5 - eslint: 9.7.0 - eslint-compat-utils: 0.5.1(eslint@9.7.0) + debug: 4.3.6 + eslint: 9.8.0 + eslint-compat-utils: 0.5.1(eslint@9.8.0) lodash: 4.17.21 natural-compare: 1.4.0 yaml-eslint-parser: 1.2.3 transitivePeerDependencies: - supports-color - eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.4.32)(eslint@9.7.0): + eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.4.34)(eslint@9.8.0): dependencies: - '@vue/compiler-sfc': 3.4.32 - eslint: 9.7.0 + '@vue/compiler-sfc': 3.4.34 + eslint: 9.8.0 eslint-rule-composer@0.3.0: {} @@ -4548,20 +4412,20 @@ snapshots: eslint-visitor-keys@4.0.0: {} - eslint@9.7.0: + eslint@9.8.0: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.7.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) '@eslint-community/regexpp': 4.11.0 - '@eslint/config-array': 0.17.0 + '@eslint/config-array': 0.17.1 '@eslint/eslintrc': 3.1.0 - '@eslint/js': 9.7.0 + '@eslint/js': 9.8.0 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.3.0 '@nodelib/fs.walk': 1.2.8 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.5 + debug: 4.3.6 escape-string-regexp: 4.0.0 eslint-scope: 8.0.2 eslint-visitor-keys: 4.0.0 @@ -4706,7 +4570,7 @@ snapshots: get-stream@8.0.1: {} - get-tsconfig@4.7.5: + get-tsconfig@4.7.6: dependencies: resolve-pkg-maps: 1.0.0 @@ -4718,10 +4582,10 @@ snapshots: dependencies: is-glob: 4.0.3 - glob@10.4.2: + glob@10.4.5: dependencies: foreground-child: 3.2.1 - jackspeak: 3.4.0 + jackspeak: 3.4.3 minimatch: 9.0.5 minipass: 7.1.2 package-json-from-dist: 1.0.0 @@ -4778,14 +4642,14 @@ snapshots: http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.1 - debug: 4.3.5 + debug: 4.3.6 transitivePeerDependencies: - supports-color https-proxy-agent@7.0.5: dependencies: agent-base: 7.1.1 - debug: 4.3.5 + debug: 4.3.6 transitivePeerDependencies: - supports-color @@ -4850,7 +4714,7 @@ snapshots: is-language-code@3.1.0: dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.25.0 is-number@7.0.0: {} @@ -4862,7 +4726,7 @@ snapshots: isexe@2.0.0: {} - jackspeak@3.4.0: + jackspeak@3.4.3: dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: @@ -4876,7 +4740,7 @@ snapshots: dependencies: config-chain: 1.1.13 editorconfig: 1.0.4 - glob: 10.4.2 + glob: 10.4.5 js-cookie: 3.0.5 nopt: 7.2.1 @@ -4890,7 +4754,7 @@ snapshots: jsdoc-type-pratt-parser@4.0.0: {} - jsdom@24.1.0: + jsdom@24.1.1: dependencies: cssstyle: 4.0.1 data-urls: 5.0.0 @@ -4900,7 +4764,7 @@ snapshots: http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.5 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.10 + nwsapi: 2.2.12 parse5: 7.1.2 rrweb-cssom: 0.7.1 saxes: 6.0.0 @@ -4977,13 +4841,13 @@ snapshots: dependencies: get-func-name: 2.0.2 - lru-cache@10.3.0: {} + lru-cache@10.4.3: {} lru-cache@5.1.1: dependencies: yallist: 3.1.1 - magic-string@0.30.10: + magic-string@0.30.11: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 @@ -5009,7 +4873,7 @@ snapshots: micromark@2.11.4: dependencies: - debug: 4.3.5 + debug: 4.3.6 parse-entities: 2.0.0 transitivePeerDependencies: - supports-color @@ -5029,6 +4893,10 @@ snapshots: min-indent@1.0.1: {} + minimatch@10.0.1: + dependencies: + brace-expansion: 2.0.1 + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 @@ -5069,9 +4937,7 @@ snapshots: emojilib: 2.4.0 skin-tone: 2.0.0 - node-releases@2.0.14: {} - - node-releases@2.0.17: {} + node-releases@2.0.18: {} nopt@7.2.1: dependencies: @@ -5094,7 +4960,7 @@ snapshots: dependencies: boolbase: 1.0.0 - nwsapi@2.2.10: {} + nwsapi@2.2.12: {} once@1.4.0: dependencies: @@ -5178,7 +5044,7 @@ snapshots: path-scurry@1.11.1: dependencies: - lru-cache: 10.3.0 + lru-cache: 10.4.3 minipass: 7.1.2 path-type@4.0.0: {} @@ -5193,11 +5059,11 @@ snapshots: picomatch@4.0.2: {} - pinia@2.1.7(typescript@5.5.3)(vue@3.4.32(typescript@5.5.3)): + pinia@2.2.0(typescript@5.5.3)(vue@3.4.34(typescript@5.5.3)): dependencies: '@vue/devtools-api': 6.6.3 - vue: 3.4.32(typescript@5.5.3) - vue-demi: 0.14.8(vue@3.4.32(typescript@5.5.3)) + vue: 3.4.34(typescript@5.5.3) + vue-demi: 0.14.10(vue@3.4.34(typescript@5.5.3)) optionalDependencies: typescript: 5.5.3 @@ -5209,18 +5075,13 @@ snapshots: pluralize@8.0.0: {} - postcss-safe-parser@6.0.0(postcss@8.4.39): + postcss-safe-parser@6.0.0(postcss@8.4.40): dependencies: - postcss: 8.4.39 + postcss: 8.4.40 - postcss-scss@4.0.9(postcss@8.4.39): + postcss-scss@4.0.9(postcss@8.4.40): dependencies: - postcss: 8.4.39 - - postcss-selector-parser@6.1.0: - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 + postcss: 8.4.40 postcss-selector-parser@6.1.1: dependencies: @@ -5229,15 +5090,15 @@ snapshots: postcss-styl@0.12.3: dependencies: - debug: 4.3.5 + debug: 4.3.6 fast-diff: 1.3.0 lodash.sortedlastindex: 4.1.0 - postcss: 8.4.39 + postcss: 8.4.40 stylus: 0.57.0 transitivePeerDependencies: - supports-color - postcss@8.4.39: + postcss@8.4.40: dependencies: nanoid: 3.3.7 picocolors: 1.0.1 @@ -5296,7 +5157,7 @@ snapshots: replace-in-file@8.1.0: dependencies: chalk: 5.3.0 - glob: 10.4.2 + glob: 10.4.5 yargs: 17.7.2 require-directory@2.1.1: {} @@ -5315,26 +5176,26 @@ snapshots: reusify@1.0.4: {} - rollup@4.18.1: + rollup@4.19.1: dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.18.1 - '@rollup/rollup-android-arm64': 4.18.1 - '@rollup/rollup-darwin-arm64': 4.18.1 - '@rollup/rollup-darwin-x64': 4.18.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.18.1 - '@rollup/rollup-linux-arm-musleabihf': 4.18.1 - '@rollup/rollup-linux-arm64-gnu': 4.18.1 - '@rollup/rollup-linux-arm64-musl': 4.18.1 - '@rollup/rollup-linux-powerpc64le-gnu': 4.18.1 - '@rollup/rollup-linux-riscv64-gnu': 4.18.1 - '@rollup/rollup-linux-s390x-gnu': 4.18.1 - '@rollup/rollup-linux-x64-gnu': 4.18.1 - '@rollup/rollup-linux-x64-musl': 4.18.1 - '@rollup/rollup-win32-arm64-msvc': 4.18.1 - '@rollup/rollup-win32-ia32-msvc': 4.18.1 - '@rollup/rollup-win32-x64-msvc': 4.18.1 + '@rollup/rollup-android-arm-eabi': 4.19.1 + '@rollup/rollup-android-arm64': 4.19.1 + '@rollup/rollup-darwin-arm64': 4.19.1 + '@rollup/rollup-darwin-x64': 4.19.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.19.1 + '@rollup/rollup-linux-arm-musleabihf': 4.19.1 + '@rollup/rollup-linux-arm64-gnu': 4.19.1 + '@rollup/rollup-linux-arm64-musl': 4.19.1 + '@rollup/rollup-linux-powerpc64le-gnu': 4.19.1 + '@rollup/rollup-linux-riscv64-gnu': 4.19.1 + '@rollup/rollup-linux-s390x-gnu': 4.19.1 + '@rollup/rollup-linux-x64-gnu': 4.19.1 + '@rollup/rollup-linux-x64-musl': 4.19.1 + '@rollup/rollup-win32-arm64-msvc': 4.19.1 + '@rollup/rollup-win32-ia32-msvc': 4.19.1 + '@rollup/rollup-win32-x64-msvc': 4.19.1 fsevents: 2.3.3 rrweb-cssom@0.6.0: {} @@ -5452,7 +5313,7 @@ snapshots: stylus@0.57.0: dependencies: css: 3.0.0 - debug: 4.3.5 + debug: 4.3.6 glob: 7.2.3 safer-buffer: 2.1.2 sax: 1.2.4 @@ -5486,11 +5347,6 @@ snapshots: dependencies: tslib: 2.6.3 - synckit@0.9.0: - dependencies: - '@pkgr/core': 0.1.1 - tslib: 2.6.3 - synckit@0.9.1: dependencies: '@pkgr/core': 0.1.1 @@ -5541,7 +5397,7 @@ snapshots: dependencies: prelude-ls: 1.2.1 - type-detect@4.0.8: {} + type-detect@4.1.0: {} type-fest@0.20.2: {} @@ -5549,12 +5405,12 @@ snapshots: type-fest@0.8.1: {} - typescript-eslint@7.16.1(eslint@9.7.0)(typescript@5.5.3): + typescript-eslint@7.18.0(eslint@9.8.0)(typescript@5.5.3): dependencies: - '@typescript-eslint/eslint-plugin': 7.16.1(@typescript-eslint/parser@7.16.1(eslint@9.7.0)(typescript@5.5.3))(eslint@9.7.0)(typescript@5.5.3) - '@typescript-eslint/parser': 7.16.1(eslint@9.7.0)(typescript@5.5.3) - '@typescript-eslint/utils': 7.16.1(eslint@9.7.0)(typescript@5.5.3) - eslint: 9.7.0 + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3) + '@typescript-eslint/parser': 7.18.0(eslint@9.8.0)(typescript@5.5.3) + '@typescript-eslint/utils': 7.18.0(eslint@9.8.0)(typescript@5.5.3) + eslint: 9.8.0 optionalDependencies: typescript: 5.5.3 transitivePeerDependencies: @@ -5574,19 +5430,13 @@ snapshots: universalify@0.2.0: {} - unplugin@1.11.0: + unplugin@1.12.0: dependencies: acorn: 8.12.1 chokidar: 3.6.0 webpack-sources: 3.2.3 webpack-virtual-modules: 0.6.2 - update-browserslist-db@1.1.0(browserslist@4.23.1): - dependencies: - browserslist: 4.23.1 - escalade: 3.1.2 - picocolors: 1.0.1 - update-browserslist-db@1.1.0(browserslist@4.23.2): dependencies: browserslist: 4.23.2 @@ -5609,13 +5459,13 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - vite-node@2.0.3(@types/node@20.14.11)(stylus@0.57.0): + vite-node@2.0.4(@types/node@20.14.13)(stylus@0.57.0): dependencies: cac: 6.7.14 - debug: 4.3.5 + debug: 4.3.6 pathe: 1.1.2 tinyrainbow: 1.2.0 - vite: 5.3.4(@types/node@20.14.11)(stylus@0.57.0) + vite: 5.3.5(@types/node@20.14.13)(stylus@0.57.0) transitivePeerDependencies: - '@types/node' - less @@ -5628,61 +5478,61 @@ snapshots: vite-plugin-prismjs@0.0.11(prismjs@1.29.0): dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.25.2 babel-plugin-prismjs: 2.1.0(prismjs@1.29.0) transitivePeerDependencies: - prismjs - supports-color - vite-plugin-windicss@1.9.3(vite@5.3.4(@types/node@20.14.11)(stylus@0.57.0)): + vite-plugin-windicss@1.9.3(vite@5.3.5(@types/node@20.14.13)(stylus@0.57.0)): dependencies: '@windicss/plugin-utils': 1.9.3 - debug: 4.3.5 + debug: 4.3.6 kolorist: 1.8.0 - vite: 5.3.4(@types/node@20.14.11)(stylus@0.57.0) + vite: 5.3.5(@types/node@20.14.13)(stylus@0.57.0) windicss: 3.5.6 transitivePeerDependencies: - supports-color - vite-svg-loader@5.1.0(vue@3.4.32(typescript@5.5.3)): + vite-svg-loader@5.1.0(vue@3.4.34(typescript@5.5.3)): dependencies: svgo: 3.3.2 - vue: 3.4.32(typescript@5.5.3) + vue: 3.4.34(typescript@5.5.3) - vite@5.3.4(@types/node@20.14.11)(stylus@0.57.0): + vite@5.3.5(@types/node@20.14.13)(stylus@0.57.0): dependencies: esbuild: 0.21.5 - postcss: 8.4.39 - rollup: 4.18.1 + postcss: 8.4.40 + rollup: 4.19.1 optionalDependencies: - '@types/node': 20.14.11 + '@types/node': 20.14.13 fsevents: 2.3.3 stylus: 0.57.0 - vitest@2.0.3(@types/node@20.14.11)(jsdom@24.1.0)(stylus@0.57.0): + vitest@2.0.4(@types/node@20.14.13)(jsdom@24.1.1)(stylus@0.57.0): dependencies: '@ampproject/remapping': 2.3.0 - '@vitest/expect': 2.0.3 - '@vitest/pretty-format': 2.0.3 - '@vitest/runner': 2.0.3 - '@vitest/snapshot': 2.0.3 - '@vitest/spy': 2.0.3 - '@vitest/utils': 2.0.3 + '@vitest/expect': 2.0.4 + '@vitest/pretty-format': 2.0.4 + '@vitest/runner': 2.0.4 + '@vitest/snapshot': 2.0.4 + '@vitest/spy': 2.0.4 + '@vitest/utils': 2.0.4 chai: 5.1.1 - debug: 4.3.5 + debug: 4.3.6 execa: 8.0.1 - magic-string: 0.30.10 + magic-string: 0.30.11 pathe: 1.1.2 std-env: 3.7.0 tinybench: 2.8.0 tinypool: 1.0.0 tinyrainbow: 1.2.0 - vite: 5.3.4(@types/node@20.14.11)(stylus@0.57.0) - vite-node: 2.0.3(@types/node@20.14.11)(stylus@0.57.0) + vite: 5.3.5(@types/node@20.14.13)(stylus@0.57.0) + vite-node: 2.0.4(@types/node@20.14.13)(stylus@0.57.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 20.14.11 - jsdom: 24.1.0 + '@types/node': 20.14.13 + jsdom: 24.1.1 transitivePeerDependencies: - less - lightningcss @@ -5694,16 +5544,16 @@ snapshots: vscode-uri@3.0.8: {} - vue-component-type-helpers@2.0.26: {} + vue-component-type-helpers@2.0.29: {} - vue-demi@0.14.8(vue@3.4.32(typescript@5.5.3)): + vue-demi@0.14.10(vue@3.4.34(typescript@5.5.3)): dependencies: - vue: 3.4.32(typescript@5.5.3) + vue: 3.4.34(typescript@5.5.3) - vue-eslint-parser@9.4.3(eslint@9.7.0): + vue-eslint-parser@9.4.3(eslint@9.8.0): dependencies: - debug: 4.3.5 - eslint: 9.7.0 + debug: 4.3.6 + eslint: 9.8.0 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 @@ -5713,37 +5563,32 @@ snapshots: transitivePeerDependencies: - supports-color - vue-i18n@9.13.1(vue@3.4.32(typescript@5.5.3)): + vue-i18n@9.13.1(vue@3.4.34(typescript@5.5.3)): dependencies: '@intlify/core-base': 9.13.1 '@intlify/shared': 9.13.1 '@vue/devtools-api': 6.6.3 - vue: 3.4.32(typescript@5.5.3) + vue: 3.4.34(typescript@5.5.3) - vue-router@4.4.0(vue@3.4.32(typescript@5.5.3)): + vue-router@4.4.0(vue@3.4.34(typescript@5.5.3)): dependencies: '@vue/devtools-api': 6.6.3 - vue: 3.4.32(typescript@5.5.3) + vue: 3.4.34(typescript@5.5.3) - vue-template-compiler@2.7.16: + vue-tsc@2.0.29(typescript@5.5.3): dependencies: - de-indent: 1.0.2 - he: 1.2.0 - - vue-tsc@2.0.26(typescript@5.5.3): - dependencies: - '@volar/typescript': 2.4.0-alpha.15 - '@vue/language-core': 2.0.26(typescript@5.5.3) + '@volar/typescript': 2.4.0-alpha.18 + '@vue/language-core': 2.0.29(typescript@5.5.3) semver: 7.6.3 typescript: 5.5.3 - vue@3.4.32(typescript@5.5.3): + vue@3.4.34(typescript@5.5.3): dependencies: - '@vue/compiler-dom': 3.4.32 - '@vue/compiler-sfc': 3.4.32 - '@vue/runtime-dom': 3.4.32 - '@vue/server-renderer': 3.4.32(vue@3.4.32(typescript@5.5.3)) - '@vue/shared': 3.4.32 + '@vue/compiler-dom': 3.4.34 + '@vue/compiler-sfc': 3.4.34 + '@vue/runtime-dom': 3.4.34 + '@vue/server-renderer': 3.4.34(vue@3.4.34(typescript@5.5.3)) + '@vue/shared': 3.4.34 optionalDependencies: typescript: 5.5.3 @@ -5811,9 +5656,9 @@ snapshots: dependencies: eslint-visitor-keys: 3.4.3 lodash: 4.17.21 - yaml: 2.4.5 + yaml: 2.5.0 - yaml@2.4.5: {} + yaml@2.5.0: {} yargs-parser@21.1.1: {} From ec02379b04aa65935d1c7ecb40510f2ce12fbc03 Mon Sep 17 00:00:00 2001 From: Joan Flotats <96056718+j04n-f@users.noreply.github.com> Date: Tue, 30 Jul 2024 20:37:33 +0200 Subject: [PATCH 066/547] Use Bitbucket PR title for pipeline message (#3984) --- server/forge/bitbucket/convert.go | 2 +- server/forge/bitbucket/convert_test.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/server/forge/bitbucket/convert.go b/server/forge/bitbucket/convert.go index a3b1376b7..05588b8d4 100644 --- a/server/forge/bitbucket/convert.go +++ b/server/forge/bitbucket/convert.go @@ -178,7 +178,7 @@ func convertPullHook(from *internal.PullRequestHook) *model.Pipeline { ), ForgeURL: from.PullRequest.Links.HTML.Href, Branch: from.PullRequest.Source.Branch.Name, - Message: from.PullRequest.Desc, + Message: from.PullRequest.Title, Avatar: from.Actor.Links.Avatar.Href, Author: from.Actor.Login, Sender: from.Actor.Login, diff --git a/server/forge/bitbucket/convert_test.go b/server/forge/bitbucket/convert_test.go index ee47a2770..b1adad929 100644 --- a/server/forge/bitbucket/convert_test.go +++ b/server/forge/bitbucket/convert_test.go @@ -131,7 +131,7 @@ func Test_helper(t *testing.T) { hook.PullRequest.Source.Repo.FullName = "baz/bar" hook.PullRequest.Source.Commit.Hash = "c8411d7" hook.PullRequest.Links.HTML.Href = "https://bitbucket.org/foo/bar/pulls/5" - hook.PullRequest.Desc = "updated README" + hook.PullRequest.Title = "updated README" hook.PullRequest.Updated = time.Now() pipeline := convertPullHook(hook) @@ -143,7 +143,7 @@ func Test_helper(t *testing.T) { g.Assert(pipeline.ForgeURL).Equal(hook.PullRequest.Links.HTML.Href) g.Assert(pipeline.Ref).Equal("refs/heads/change") g.Assert(pipeline.Refspec).Equal("change:main") - g.Assert(pipeline.Message).Equal(hook.PullRequest.Desc) + g.Assert(pipeline.Message).Equal(hook.PullRequest.Title) g.Assert(pipeline.Timestamp).Equal(hook.PullRequest.Updated.Unix()) }) From 6f4ef6d18dd8040d3f73436d25fcf1741706677a Mon Sep 17 00:00:00 2001 From: Michael Date: Thu, 1 Aug 2024 13:19:58 +0000 Subject: [PATCH 067/547] Translated using Weblate (French) Currently translated at 97.2% (321 of 330 strings) Translation: Woodpecker CI/UI Translate-URL: http://translate.woodpecker-ci.org/projects/woodpecker-ci/ui/fr/ --- web/src/assets/locales/fr.json | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/web/src/assets/locales/fr.json b/web/src/assets/locales/fr.json index f62861cbf..081b6499f 100644 --- a/web/src/assets/locales/fr.json +++ b/web/src/assets/locales/fr.json @@ -17,7 +17,7 @@ "delete_agent": "Supprimer l'agent", "delete_confirm": "Voulez vous vraiment supprimer cet agent ? Il ne pourra plus se connecter sur le serveur.", "deleted": "Agent supprimé", - "desc": "Agents enregistrés sur ce serveur", + "desc": "Agents enregistrés sur ce serveur.", "edit_agent": "Éditer l'agent", "id": "ID", "last_contact": "Dernier contact", @@ -41,12 +41,12 @@ "token": "Jeton", "version": "Version" }, - "not_allowed": "Vous n'êtes pas autorisé à accéder aux réglages du serveur", + "not_allowed": "Vous n'êtes pas autorisé à accéder aux réglages du serveur.", "orgs": { "delete_confirm": "Voulez-vous vraiment supprimer cette organisation ? Cela supprimera tous les dépôts que possède cette organisation.", "delete_org": "Supprimer l'organisation", "deleted": "Organisation supprimée", - "desc": "Organisations possédant des dépôts sur ce serveur", + "desc": "Organisations possédant des dépôts sur ce serveur.", "none": "Il n'y a pas encore d'organisation.", "org_settings": "Réglages de l'organisation", "orgs": "Organisations", @@ -74,7 +74,7 @@ "waiting_for": "en attente de" }, "repos": { - "desc": "Dépôts actifs ou anciennement actifs sur ce serveur", + "desc": "Dépôts actifs ou anciennement actifs sur ce serveur.", "disabled": "Désactivé", "none": "Il n'y a pas encore de dépôts.", "repair": { @@ -106,7 +106,7 @@ "secrets": "Secrets", "show": "Afficher les secrets", "value": "Valeur", - "warning": "Ces secrets seront disponibles pour tout les comptes du serveur." + "warning": "Ces secrets seront disponibles pour tout les comptes." }, "settings": "Réglages", "users": { @@ -132,8 +132,8 @@ "users": "Utilisateurs" }, "registries": { - "warning": "Ces codes d’accès au registre seront disponibles pour tout les utilisateurs du serveur.", - "desc": "Les codes d'accès aux registres globaux peuvent être ajouter pour utiliser les images privées sur tout les pipelines du serveur." + "warning": "Ces codes d’accès au registre seront disponibles pour tout les utilisateurs.", + "desc": "Les codes d'accès aux registres globaux peuvent être ajouter pour utiliser les images privées sur tout les pipelines." } } }, @@ -161,7 +161,7 @@ "add": "Ajouter un secret", "created": "Secret d'organisation crée", "deleted": "Secret d'organisation supprimé", - "desc": "Les secrets d'organisation sont transmis sous forme de variable d’environnement lors de l’exécution de chaque étape d'un pipeline de tout les dépôts de l'organisation.", + "desc": "Les secrets d'organisation sont transmis sous forme de variable d’environnement à chaque étape d'un pipeline de tout les dépôts de l'organisation.", "events": { "events": "Disponible pour les événements suivants", "pr_warning": "Faites attention avec cette option car un acteur malicieux pourrait soumettre une pull request qui va afficher vos secrets." @@ -293,7 +293,10 @@ "warnings": "Avertissements ({count})", "we_got_some_errors": "Oh non, il y a des erreurs !", "log_delete_error": "Il y a eu une erreur lors de la suppression des logs", - "log_delete_confirm": "Voulez vous vraiment supprimer les logs de cette étape ?" + "log_delete_confirm": "Voulez vous vraiment supprimer les logs de cette étape ?", + "no_logs": "Aucun logs", + "duration": "Durée du pipeline", + "created": "Crée : {created}" }, "pull_requests": "Pull requests", "settings": { @@ -385,7 +388,7 @@ "timeout": "Délai d’inactivité" }, "trusted": { - "desc": "Les conteneurs du pipeline ont accès à des capacités privilégiées comme le montage de volumes.", + "desc": "Les conteneurs du pipeline ont accès à des capacités privilégiées (comme le montage de volumes).", "trusted": "Vérifié" }, "visibility": { From 2d6e1ea01516c58140dd56c17df6985c6fd02c4f Mon Sep 17 00:00:00 2001 From: Joan Flotats <96056718+j04n-f@users.noreply.github.com> Date: Fri, 2 Aug 2024 21:42:04 +0200 Subject: [PATCH 068/547] Fix BB PR pipeline ref (#3985) --- server/forge/bitbucket/convert.go | 2 +- server/forge/bitbucket/convert_test.go | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/server/forge/bitbucket/convert.go b/server/forge/bitbucket/convert.go index 05588b8d4..6dc8f1fb1 100644 --- a/server/forge/bitbucket/convert.go +++ b/server/forge/bitbucket/convert.go @@ -171,7 +171,7 @@ func convertPullHook(from *internal.PullRequestHook) *model.Pipeline { pipeline := &model.Pipeline{ Event: event, Commit: from.PullRequest.Source.Commit.Hash, - Ref: fmt.Sprintf("refs/heads/%s", from.PullRequest.Source.Branch.Name), + Ref: fmt.Sprintf("refs/pull-requests/%d/from", from.PullRequest.ID), Refspec: fmt.Sprintf("%s:%s", from.PullRequest.Source.Branch.Name, from.PullRequest.Dest.Branch.Name, diff --git a/server/forge/bitbucket/convert_test.go b/server/forge/bitbucket/convert_test.go index b1adad929..70dac2bae 100644 --- a/server/forge/bitbucket/convert_test.go +++ b/server/forge/bitbucket/convert_test.go @@ -133,6 +133,7 @@ func Test_helper(t *testing.T) { hook.PullRequest.Links.HTML.Href = "https://bitbucket.org/foo/bar/pulls/5" hook.PullRequest.Title = "updated README" hook.PullRequest.Updated = time.Now() + hook.PullRequest.ID = 1 pipeline := convertPullHook(hook) g.Assert(pipeline.Event).Equal(model.EventPull) @@ -141,7 +142,7 @@ func Test_helper(t *testing.T) { g.Assert(pipeline.Commit).Equal(hook.PullRequest.Source.Commit.Hash) g.Assert(pipeline.Branch).Equal(hook.PullRequest.Source.Branch.Name) g.Assert(pipeline.ForgeURL).Equal(hook.PullRequest.Links.HTML.Href) - g.Assert(pipeline.Ref).Equal("refs/heads/change") + g.Assert(pipeline.Ref).Equal("refs/pull-requests/1/from") g.Assert(pipeline.Refspec).Equal("change:main") g.Assert(pipeline.Message).Equal(hook.PullRequest.Title) g.Assert(pipeline.Timestamp).Equal(hook.PullRequest.Updated.Unix()) From 3f8d54eb3bb8979b5000fd75c66afa511f155e67 Mon Sep 17 00:00:00 2001 From: Kirill Isakov Date: Fri, 2 Aug 2024 20:54:57 +0000 Subject: [PATCH 069/547] Translated using Weblate (Russian) Currently translated at 99.6% (329 of 330 strings) Translation: Woodpecker CI/UI Translate-URL: http://translate.woodpecker-ci.org/projects/woodpecker-ci/ui/ru/ --- web/src/assets/locales/ru.json | 1082 +++++++++++++++++--------------- 1 file changed, 588 insertions(+), 494 deletions(-) diff --git a/web/src/assets/locales/ru.json b/web/src/assets/locales/ru.json index 3772c78f6..6778edab0 100644 --- a/web/src/assets/locales/ru.json +++ b/web/src/assets/locales/ru.json @@ -1,510 +1,604 @@ { - "admin": { - "settings": { - "agents": { - "add": "Добавить обработчик", - "agents": "Обработчики", - "backend": { - "backend": "Бэкенд", - "badge": "бэкенд" - }, - "capacity": { - "badge": "мощность", - "capacity": "Мощность", - "desc": "Максимальное количество конвейеров, выполняемых параллельно этим агентом." - }, - "created": "Обработчик успешно добавлен", - "delete_agent": "Удалить агент", - "delete_confirm": "Вы действительно хотите удалить этот обработчик? Он больше не сможет подключаться к серверу.", - "deleted": "Обработчик успешно удалён", - "desc": "Обработчики, зарегистрированные на этом сервере", - "edit_agent": "Редактировать агент", - "id": "ID", - "last_contact": "Последние подключение", - "name": { - "name": "Название", - "placeholder": "Название обработчика" - }, - "never": "Никогда", - "no_schedule": { - "name": "Отключить обработчик", - "placeholder": "Запретить обработчику получать новые задачи" - }, - "none": "Пока обработчики отсутствуют.", - "platform": { - "badge": "платформа", - "platform": "Платформа" - }, - "save": "Сохранить обработчик", - "saved": "Обработчик сохранён", - "show": "Показать обработчики", - "token": "Токен", - "version": "Версия" - }, - "not_allowed": "У вас нет прав для доступа к настройкам сервера", - "orgs": { - "delete_confirm": "Вы действительно хотите удалить эту организацию? При этом также будут удалены все репозитории, принадлежащие этой организации.", - "delete_org": "Удалить организацию", - "deleted": "Организация удалена", - "desc": "Организации, владеющие репозиториями на этом сервере", - "none": "Здесь еще нет организаций.", - "org_settings": "Настройки организации", - "orgs": "Организации", - "view": "Просмотр организации" - }, - "queue": { - "agent": "агент", - "desc": "Задачи, ожидающие выполнения агентами", - "pause": "Пауза", - "paused": "Очередь при остановлена", - "queue": "Очередь", - "resume": "Продолжить", - "resumed": "Очередь возобновлена", - "stats": { - "completed_count": "Завершённые задачи", - "pending_count": "Ожидает", - "running_count": "Выполняется", - "waiting_on_deps_count": "Ожидает зависимостей", - "worker_count": "Свободно" - }, - "task_pending": "Задача ожидает", - "task_running": "Задача выполняется", - "task_waiting_on_deps": "Задача ожидает завершения выполнения зависимостей", - "tasks": "Задачи", - "waiting_for": "в ожидании" - }, - "repos": { - "desc": "Репозитории, которые включены или были включены на этом сервере", - "disabled": "Отключено", - "none": "Здесь еще нет репозиториев.", - "repair": { - "repair": "Исправить все", - "success": "Репозитории исправлены" - }, - "repos": "Репозитории", - "settings": "Настройки репозитория", - "view": "Просмотр репозитория" - }, - "secrets": { - "add": "Создать секрет", - "created": "Глобальный секрет создан", - "deleted": "Глобальный секрет удалён", - "desc": "Глобальные секреты могут быть переданы всем репозиториям и отдельным этапам конвейера во время выполнения в качестве переменных окружения.", - "events": { - "events": "Доступен для следующих событий", - "pr_warning": "Пожалуйста, будьте осторожны с этой опцией, так как злоумышленник может отправить вредоносный запрос на слияние, который раскроет ваши секреты." - }, - "images": { - "desc": "Список образов, для которых доступен этот секрет. Оставьте поле пустым, чтобы разрешить все образы", - "images": "Доступен только для этих образов" - }, - "name": "Название", - "none": "Тут пока нет глобальных секретов.", - "plugins_only": "Доступен только для расширений", - "save": "Сохранить секрет", - "saved": "Глобальный секрет сохранён", - "secrets": "Секреты", - "show": "Показать секрет", - "value": "Значение", - "warning": "Эти секреты будут доступны всем пользователям сервера." - }, - "settings": "Настройки", - "users": { - "add": "Добавить пользователя", - "admin": { - "admin": "Администратор", - "placeholder": "Пользователь является администратором" - }, - "avatar_url": "URL аватара", - "cancel": "Отмена", - "created": "Пользователь успешно создан", - "delete_confirm": "Вы действительно хотите удалить этого пользователя? При этом также будут удалены все репозитории, принадлежащие этому пользователю.", - "delete_user": "Удалить пользователя", - "deleted": "Пользователь успешно удалён", - "desc": "Пользователи, зарегистрированные на этом сервере", - "edit_user": "Изменить пользователя", - "email": "Почта", - "login": "Вход в систему", - "none": "Пока тут нет пользователей.", - "save": "Сохранить пользователя", - "saved": "Пользователь сохранён", - "show": "Показать пользователей", - "users": "Пользователи" - } - } - }, - "api": "API", - "back": "Назад", - "cancel": "Отменить", - "default": "по умолчанию", - "docs": "Документация", - "documentation_for": "Документация о \"{topic}\"", - "errors": { - "not_found": "Серверу не удалось найти запрошенный объект" - }, - "global_level_secret": "глобальный секрет", - "info": "Информация", - "login": "Вход", - "logout": "Выйти", - "not_found": { - "back_home": "Вернуться на главную", - "not_found": "Ошибка 404. Проверьте что ввели адрес правильно :-/" - }, - "org": { - "settings": { - "not_allowed": "У вас нет прав для доступа к настройкам этой организации", - "secrets": { - "add": "Создать секрет", - "created": "Секрет организации успешно добавлен", - "deleted": "Секрет организации был удалён", - "desc": "Секреты этой организации передаются всем шагам любого конвейера, принадлежащего этой организации, во время выполнения в качестве переменных среды.", - "events": { - "events": "Доступен для следующих событий", - "pr_warning": "Пожалуйста, будьте осторожны с этой опцией, так как злоумышленник может отправить вредоносный запрос на слияние, который раскроет ваши секреты." - }, - "images": { - "desc": "Список образов, для которых доступен этот секрет. Оставьте поле пустым, чтобы разрешить все образы", - "images": "Доступен только для этих образов" - }, - "name": "Название", - "none": "Тут пока нет секретов организации.", - "plugins_only": "Доступен только для расширений", - "save": "Сохранить секрет", - "saved": "Секрет организации успешно обновлён", - "secrets": "Секреты", - "show": "Показать секрет", - "value": "Значение" - }, - "settings": "Настройки" - } - }, - "org_level_secret": "секрет организации", - "password": "Пароль", - "pipeline_feed": "Состояние конвейеров", - "repo": { - "activity": "Активность", - "add": "Подключить репозиторий", - "branches": "Ветви", - "deploy_pipeline": { - "enter_target": "Целевая среда развертывания", - "title": "Вызвать событие развертывания для текущего конвейера #{pipelineId}", - "trigger": "Развернуть", - "variables": { - "add": "Добавить переменную", - "desc": "Укажите дополнительные переменные для использования в конвейере. Переменные с одинаковыми именами будут перезаписаны.", - "name": "Имя переменой", - "title": "Дополнительные переменные для конвейера", - "value": "Значение переменой" - } + "admin": { + "settings": { + "agents": { + "add": "Добавить обработчик", + "agents": "Обработчики", + "backend": { + "backend": "Бэкенд", + "badge": "бэкенд" + }, + "capacity": { + "badge": "мощность", + "capacity": "Мощность", + "desc": "Максимальное количество конвейеров, выполняемых параллельно этим обработчиком." + }, + "created": "Обработчик успешно добавлен", + "delete_agent": "Удалить обработчик", + "delete_confirm": "Вы действительно хотите удалить этот обработчик? Он больше не сможет подключаться к серверу.", + "deleted": "Обработчик успешно удалён", + "desc": "Обработчики, зарегистрированные на этом сервере.", + "edit_agent": "Редактировать обработчик", + "id": "ID", + "last_contact": "Последняя активность", + "name": { + "name": "Название", + "placeholder": "Название обработчика" + }, + "never": "Никогда", + "no_schedule": { + "name": "Отключить обработчик", + "placeholder": "Запретить обработчику получать новые задачи" + }, + "none": "Обработчиков пока нет.", + "platform": { + "badge": "платформа", + "platform": "Платформа" + }, + "save": "Сохранить обработчик", + "saved": "Обработчик сохранён", + "show": "Показать обработчики", + "token": "Токен", + "version": "Версия" + }, + "not_allowed": "У вас нет прав доступа к настройкам сервера.", + "orgs": { + "delete_confirm": "Вы действительно хотите удалить эту организацию? При этом также будут удалены все репозитории, принадлежащие этой организации.", + "delete_org": "Удалить организацию", + "deleted": "Организация удалена", + "desc": "Организации, владеющие репозиториями на этом сервере.", + "none": "Организаций пока нет.", + "org_settings": "Настройки организации", + "orgs": "Организации", + "view": "Просмотр организации" + }, + "queue": { + "agent": "обработчик", + "desc": "Задачи, ожидающие выполнения обработчиками", + "pause": "Приостановить", + "paused": "Очередь приостановлена", + "queue": "Очередь", + "resume": "Продолжить", + "resumed": "Очередь возобновлена", + "stats": { + "completed_count": "Завершённые задачи", + "pending_count": "Ожидает", + "running_count": "Выполняется", + "waiting_on_deps_count": "Ожидает зависимостей", + "worker_count": "Свободно" + }, + "task_pending": "Задача ожидает", + "task_running": "Задача выполняется", + "task_waiting_on_deps": "Задача ожидает завершения выполнения зависимостей", + "tasks": "Задачи", + "waiting_for": "в ожидании" + }, + "repos": { + "desc": "Репозитории, включенные в данный момент, или включавшиеся когда-либо ранее на этом сервере.", + "disabled": "Отключено", + "none": "Репозиториев пока нет.", + "repair": { + "repair": "Исправить все", + "success": "Репозитории исправлены" + }, + "repos": "Репозитории", + "settings": "Настройки репозитория", + "view": "Просмотр репозитория" + }, + "secrets": { + "add": "Создать секрет", + "created": "Глобальный секрет создан", + "deleted": "Глобальный секрет удалён", + "desc": "Глобальные секреты могут быть переданы в виде переменных окружения всем этапам конвейера во всех репозиториях.", + "events": { + "events": "Доступен для следующих событий", + "pr_warning": "Пожалуйста, будьте осторожны с этой опцией, так как злоумышленник может отправить вредоносный запрос на слияние, который раскроет ваши секреты." + }, + "images": { + "desc": "Список образов, для которых доступен этот секрет. Оставьте поле пустым, чтобы разрешить все образы", + "images": "Доступен только для этих образов" + }, + "name": "Название", + "none": "Тут пока нет глобальных секретов.", + "plugins_only": "Доступен только для расширений", + "save": "Сохранить секрет", + "saved": "Глобальный секрет сохранён", + "secrets": "Секреты", + "show": "Показать секрет", + "value": "Значение", + "warning": "Эти секреты будут доступны всем пользователям." + }, + "settings": "Настройки", + "users": { + "add": "Добавить пользователя", + "admin": { + "admin": "Администратор", + "placeholder": "Пользователь является администратором" + }, + "avatar_url": "URL аватара", + "cancel": "Отмена", + "created": "Пользователь успешно создан", + "delete_confirm": "Вы действительно хотите удалить этого пользователя? При этом также будут удалены все репозитории, принадлежащие этому пользователю.", + "delete_user": "Удалить пользователя", + "deleted": "Пользователь успешно удалён", + "desc": "Пользователи, зарегистрированные на этом сервере", + "edit_user": "Изменить пользователя", + "email": "Почта", + "login": "Вход в систему", + "none": "Пользователей пока нет.", + "save": "Сохранить пользователя", + "saved": "Пользователь сохранён", + "show": "Показать пользователей", + "users": "Пользователи" + }, + "registries": { + "desc": "Можно добавить глобальные учётные данные реестра, чтобы иметь возможность использовать частные образы во всех конвейерах.", + "warning": "Эти учётные данные реестра будут доступны всем пользователям." + } + } }, - "enable": { - "disabled": "Отключено", - "enable": "Подключить", - "enabled": "Уже подключен", - "list_reloaded": "Обновить список репозиториев", - "reload": "Обновить репозитории", - "success": "Репозиторий подключен" + "api": "API", + "back": "Назад", + "cancel": "Отменить", + "default": "по умолчанию", + "docs": "Документация", + "documentation_for": "Документация о «{topic}»", + "errors": { + "not_found": "Серверу не удалось найти запрошенный объект" }, - "manual_pipeline": { - "select_branch": "Выберите ветвь", - "title": "Запустить конвейер вручную", - "trigger": "Запустить конвейер", - "variables": { - "add": "Добавить переменную", - "desc": "Укажите дополнительные переменные для использования в конвейере. Переменные с одинаковыми именами будут перезаписаны.", - "name": "Имя переменой", - "title": "Дополнительные переменные для конвейера", - "value": "Значение переменой" - } + "global_level_secret": "глобальный секрет", + "info": "Информация", + "login": "Вход", + "logout": "Выйти", + "not_found": { + "back_home": "Вернуться на главную", + "not_found": "Ошибка 404. Проверьте, что ввели адрес правильно :-/" }, - "not_allowed": "У вас нет прав для доступа к этому репозиторию", - "open_in_forge": "Открыть репозиторий в системе контроля версий", - "pipeline": { - "actions": { - "cancel": "Отменить", - "cancel_success": "Конвейер отменён", - "canceled": "Этот шаг был пропущен.", - "deploy": "Развертывание", - "log_auto_scroll": "Автоматически пролистывать вниз", - "log_auto_scroll_off": "Отключить автоматические пролистывание", - "log_download": "Скачать", - "restart": "Перезапустить", - "restart_success": "Конвейер перезапущен" - }, - "config": "Конфигурация", - "errors": "Ошибки ({count})", - "event": { - "cron": "Задание Cron", - "deploy": "Развёртывание (деплой)", - "manual": "Ручной запуск", - "pr": "Запросы на слияние", - "push": "Новый коммит", - "tag": "Тег" - }, - "exit_code": "Код завершения {exitCode}", - "files": "Изменённые файлы ({files})", - "loading": "Загрузка…", - "log_download_error": "Произошла ошибка при скачивании файла журнала", - "log_title": "Журнал шагов", - "no_files": "Никакие файлы не были изменены.", - "no_pipeline_steps": "Нет доступных шагов конвеера!", - "no_pipelines": "Ни один конвеер ещё не запущен.", - "pipeline": "Конвейер №{pipelineId}", - "pipelines_for": "Конвееры для ветви \"{branch}\"", - "pipelines_for_pr": "Конвейер для запроса на слияние №{index}", - "protected": { - "approve": "Подтвердить", - "approve_success": "Конвейер подтверждён", - "awaits": "Конвейер ожидает подтверждения от разработчика!", - "decline": "Отклонить", - "decline_success": "Конвейер отклонён", - "declined": "Этот конвейер был отклонён!", - "review": "Обзор изменений" - }, - "show_errors": "Показать ошибки", - "status": { - "blocked": "заблокирован", - "declined": "отклонён", - "error": "ошибка", - "failure": "провален", - "killed": "принудительно завершён", - "pending": "ожидает", - "running": "выполняется", - "skipped": "пропущен", - "started": "запускается", - "status": "Состояние: {status}", - "success": "успешно выполнен" - }, - "step_not_started": "Этот шаг ещё не запущен.", - "tasks": "Задачи", - "warnings": "Предупреждения ({count})", - "we_got_some_errors": "О нет, у нас возникли ошибки!" + "org": { + "settings": { + "not_allowed": "У вас нет прав для доступа к настройкам этой организации", + "secrets": { + "add": "Создать секрет", + "created": "Секрет организации успешно добавлен", + "deleted": "Секрет организации был удалён", + "desc": "Секреты этой организации могут быть переданы в виде переменных окружения всем шагам любого конвейера, принадлежащего этой организации.", + "events": { + "events": "Доступен для следующих событий", + "pr_warning": "Пожалуйста, будьте осторожны с этой опцией, так как злоумышленник может отправить вредоносный запрос на слияние, который раскроет ваши секреты." + }, + "images": { + "desc": "Список образов, для которых доступен этот секрет. Оставьте поле пустым, чтобы разрешить все образы", + "images": "Доступен только для этих образов" + }, + "name": "Название", + "none": "Тут пока нет секретов организации.", + "plugins_only": "Доступен только для расширений", + "save": "Сохранить секрет", + "saved": "Секрет организации успешно обновлён", + "secrets": "Секреты", + "show": "Показать секрет", + "value": "Значение" + }, + "settings": "Настройки", + "registries": { + "desc": "Можно добавить учётные данные реестра для организации, чтобы иметь возможность использовать частные образы во всех конвейерах этой организации." + } + } }, - "pull_requests": "Запросы на слияние", - "settings": { - "actions": { - "actions": "Действия", - "delete": { - "confirm": "Все данные будут потеряны после этого действия!!!\n\nВы действительно хотите продолжить?", - "delete": "Удалить репозиторий", - "success": "Репозиторий удалён" - }, - "disable": { - "disable": "Отключить репозиторий", - "success": "Репозиторий отключен" + "org_level_secret": "секрет организации", + "password": "Пароль", + "pipeline_feed": "Состояние конвейеров", + "repo": { + "activity": "Активность", + "add": "Подключить репозиторий", + "branches": "Ветви", + "deploy_pipeline": { + "enter_target": "Целевая среда развёртывания", + "title": "Вызвать событие развёртывания для текущего конвейера #{pipelineId}", + "trigger": "Развернуть", + "variables": { + "add": "Добавить переменную", + "desc": "Укажите дополнительные переменные для использования в конвейере. Переменные с одинаковыми именами будут перезаписаны.", + "name": "Имя переменной", + "title": "Дополнительные переменные для конвейера", + "value": "Значение переменной", + "delete": "Удалить переменную" + }, + "enter_task": "Задание на развёртывание" }, "enable": { - "enable": "Включить репозиторий", - "success": "Репозиторий включён" + "disabled": "Отключено", + "enable": "Подключить", + "enabled": "Уже подключен", + "list_reloaded": "Обновить список репозиториев", + "reload": "Обновить репозитории", + "success": "Репозиторий подключен" }, - "repair": { - "repair": "Восстановить репозиторий", - "success": "Репозиторий восстановлен" - } - }, - "badge": { - "badge": "Бейдж", - "branch": "Ветвь", - "type": "Синтаксис", - "type_html": "HTML", - "type_markdown": "Markdown", - "type_url": "URL" - }, - "crons": { - "add": "Добавить задание Cron", - "branch": { - "placeholder": "Ветвь (если пусто, используется ветвь по умолчанию)", - "title": "Ветвь" + "manual_pipeline": { + "select_branch": "Выберите ветвь", + "title": "Запустить конвейер вручную", + "trigger": "Запустить конвейер", + "variables": { + "add": "Добавить переменную", + "desc": "Укажите дополнительные переменные для использования в конвейере. Переменные с одинаковыми именами будут перезаписаны.", + "name": "Имя переменной", + "title": "Дополнительные переменные для конвейера", + "value": "Значение переменной", + "delete": "Удалить переменную" + } }, - "created": "Задача cron создана", - "crons": "Задания Cron", - "delete": "Удалить задачу cron", - "deleted": "Задача cron удалена", - "desc": "Задания Cron можно использовать для регулярного запуска конвейеров.", - "edit": "Редактировать задачу cron", - "name": { - "name": "Название", - "placeholder": "Имя задачи cron" + "not_allowed": "У вас нет прав для доступа к этому репозиторию", + "open_in_forge": "Открыть репозиторий в платформе разработки", + "pipeline": { + "actions": { + "cancel": "Отменить", + "cancel_success": "Конвейер отменён", + "canceled": "Этот шаг был отменён.", + "deploy": "Развёртывание", + "log_auto_scroll": "Автоматически пролистывать вниз", + "log_auto_scroll_off": "Отключить автоматические пролистывание", + "log_download": "Скачать", + "restart": "Перезапустить", + "restart_success": "Конвейер перезапущен", + "log_delete": "Удалить" + }, + "config": "Конфигурация", + "errors": "Ошибки ({count})", + "event": { + "cron": "Задание cron", + "deploy": "Развёртывание (деплой)", + "manual": "Ручной запуск", + "pr": "Запросы на слияние", + "push": "Новый коммит", + "tag": "Тег", + "pr_closed": "Запрос на слияние удовлетворён / закрыт", + "release": "Релиз" + }, + "exit_code": "Код завершения {exitCode}", + "files": "Изменённые файлы ({files})", + "loading": "Загрузка…", + "log_download_error": "Произошла ошибка при скачивании файла журнала", + "log_title": "Журнал шага", + "no_files": "Никакие файлы не были изменены.", + "no_pipeline_steps": "Нет доступных шагов конвеера!", + "no_pipelines": "Ни один конвеер ещё не запущен.", + "pipeline": "Конвейер №{pipelineId}", + "pipelines_for": "Конвееры для ветви «{branch}»", + "pipelines_for_pr": "Конвейер для запроса на слияние №{index}", + "protected": { + "approve": "Подтвердить", + "approve_success": "Конвейер подтверждён", + "awaits": "Конвейер ожидает подтверждения от разработчика!", + "decline": "Отклонить", + "decline_success": "Конвейер отклонён", + "declined": "Этот конвейер был отклонён!", + "review": "Обзор изменений" + }, + "show_errors": "Показать ошибки", + "status": { + "blocked": "заблокирован", + "declined": "отклонён", + "error": "ошибка", + "failure": "провален", + "killed": "принудительно завершён", + "pending": "ожидает", + "running": "выполняется", + "skipped": "пропущен", + "started": "запущен", + "status": "Состояние: {status}", + "success": "успешно выполнен" + }, + "step_not_started": "Этот шаг ещё не запущен.", + "tasks": "Задачи", + "warnings": "Предупреждения ({count})", + "we_got_some_errors": "О нет, у нас возникли ошибки!", + "no_logs": "Нет записей журнала", + "created": "Создано: {created}", + "duration": "Время работы конвейера", + "log_delete_confirm": "Вы действительно хотите удалить журналы этого шага?", + "log_delete_error": "При удалении журналов шага произошла ошибка" }, - "next_exec": "Следующий запуск", - "none": "Пока нет ни одной задачи cron.", - "not_executed_yet": "Ещё не запущено", - "run": "Запустить сейчас", - "save": "Сохранить задачу cron", - "saved": "Задача cron сохранена", - "schedule": { - "placeholder": "Расписание", - "title": "Расписание (по UTC)" + "pull_requests": "Запросы на слияние", + "settings": { + "actions": { + "actions": "Действия", + "delete": { + "confirm": "Все данные будут потеряны после этого действия!!!\n\nВы действительно хотите продолжить?", + "delete": "Удалить репозиторий", + "success": "Репозиторий удалён" + }, + "disable": { + "disable": "Отключить репозиторий", + "success": "Репозиторий отключен" + }, + "enable": { + "enable": "Включить репозиторий", + "success": "Репозиторий включён" + }, + "repair": { + "repair": "Восстановить репозиторий", + "success": "Репозиторий восстановлен" + } + }, + "badge": { + "badge": "Бейдж", + "branch": "Ветвь", + "type": "Синтаксис", + "type_html": "HTML", + "type_markdown": "Markdown", + "type_url": "URL" + }, + "crons": { + "add": "Добавить задачу cron", + "branch": { + "placeholder": "Ветвь (если пусто, используется ветвь по умолчанию)", + "title": "Ветвь" + }, + "created": "Задача cron создана", + "crons": "Задачи cron", + "delete": "Удалить задачу cron", + "deleted": "Задача cron удалена", + "desc": "Задачи cron можно использовать для регулярного запуска конвейеров.", + "edit": "Редактировать задачу cron", + "name": { + "name": "Название", + "placeholder": "Имя задачи cron" + }, + "next_exec": "Следующий запуск", + "none": "Пока нет ни одной задачи cron.", + "not_executed_yet": "Ещё не запущено", + "run": "Запустить сейчас", + "save": "Сохранить задачу cron", + "saved": "Задача cron сохранена", + "schedule": { + "placeholder": "Расписание", + "title": "Расписание (по UTC)" + }, + "show": "Показать задачи cron" + }, + "general": { + "allow_pr": { + "allow": "Разрешить запросы на слияние", + "desc": "Конвейеры смогут запускаться для запросов на слияние." + }, + "cancel_prev": { + "cancel": "Принудительно завершить все предыдущие конвейеры", + "desc": "Позволяет отменить уже отложенные и запущенные конвейеры того же события и контекста перед запуском нового конвейера." + }, + "general": "Главное", + "netrc_only_trusted": { + "desc": "Вводите учетные данные netrc только внутри контейнеров, которым вы доверяете (рекомендуется).", + "netrc_only_trusted": "Вводите учетные данные netrc только внутри контейнеров, которым вы доверяете" + }, + "pipeline_path": { + "default": "По умолчанию: .woodpecker/*.{'{yaml,yml}'} -> .woodpecker.yaml -> .woodpecker.yml", + "desc": "Путь к конфигурации вашего конвейера (например: {0}). При указании директории путь должен заканчиваться символом {1}.", + "desc_path_example": "мой/путь/", + "path": "Конфигурация конвейера" + }, + "project": "Настройки проекта", + "protected": { + "desc": "Каждый конвейер должен быть проверен до начала выполнения.", + "protected": "Защищён" + }, + "save": "Сохранить настройки", + "success": "Настройки репозитория обновлены", + "timeout": { + "minutes": "минуты", + "timeout": "Время ожидания" + }, + "trusted": { + "desc": "Доверенные конвейеры получат доступ к дополнительным возможностям (например, монтированию томов).", + "trusted": "Доверенный" + }, + "visibility": { + "internal": { + "desc": "Только пользователи, вошедшие в систему, смогут видеть этот проект.", + "internal": "Внутренний" + }, + "private": { + "desc": "Только вы и другие владельцы этого репозитория смогут видеть его.", + "private": "Приватный" + }, + "public": { + "desc": "Любой незарегистрированный пользователь сможет увидеть этот проект.", + "public": "Публичный" + }, + "visibility": "Видимость проекта" + }, + "allow_deploy": { + "allow": "Разрешить развёртывание", + "desc": "Разрешить развёртывание из успешных конвейеров. Используйте только в том случае, если вы доверяете всем пользователям с push-доступом." + } + }, + "not_allowed": "У вас нет права доступа к настройкам этого репозитория", + "registries": { + "add": "Добавить реестр", + "address": { + "address": "Адрес", + "placeholder": "Адрес реестра (например: docker.io)" + }, + "created": "Данные для доступа к реестру добавлены", + "credentials": "Учётные данные для авторизации в реестре", + "delete": "Удалить реестр", + "deleted": "Данные для доступа к реестру удалены", + "desc": "Можно добавить учетные данные для доступа к реестру, чтобы использовать приветные образы из этого реестра в конвейере.", + "edit": "Изменить реестр", + "none": "Пока тут нет учётных данных для доступа к реестрам.", + "registries": "Реестры с образами", + "save": "Сохранить реестр", + "saved": "Данные для доступа к реестру сохранены", + "show": "Показать реестры" + }, + "secrets": { + "add": "Создать секрет", + "created": "Секрет создан", + "delete": "Удалить секрет", + "delete_confirm": "Вы действительно хотите удалить этот секрет?", + "deleted": "Секрет успешно удалён", + "desc": "Секреты могут быть переданы отдельным этапам конвейера во время выполнения в качестве переменных окружения.", + "edit": "Изменить секрет", + "events": { + "events": "Доступен для следующих событий", + "pr_warning": "Пожалуйста, будьте осторожны с этой опцией, так как злоумышленник может отправить вредоносный запрос на слияние, который раскроет ваши секреты." + }, + "images": { + "desc": "Список образов, для которых доступен этот секрет. Оставьте поле пустым, чтобы разрешить все образы", + "images": "Доступен только для этих образов" + }, + "name": "Название", + "none": "Пока тут нет секретов.", + "plugins_only": "Доступен только для расширений", + "save": "Сохранить секрет", + "saved": "Секрет успешно сохранён", + "secrets": "Секреты", + "show": "Показать секрет", + "value": "Значение" + }, + "settings": "Настройки" }, - "show": "Показать задания Cron" - }, - "general": { - "allow_pr": { - "allow": "Разрешить запросы на слияние", - "desc": "Конвейеры смогут запускаться для запросов на слияние." - }, - "cancel_prev": { - "cancel": "Принудительно завершить все предыдущие конвейеры", - "desc": "Позволяет отменить уже отложенные и запущенные конвейеры того же события и контекста перед запуском нового конвейера." - }, - "general": "Главное", - "netrc_only_trusted": { - "desc": "Вводите учетные данные netrc только внутри контейнеров которым вы доверяете (рекомендуется).", - "netrc_only_trusted": "Вводите учетные данные netrc только внутри контейнеров которым вы доверяете" - }, - "pipeline_path": { - "default": "По умолчанию: .woodpecker/*.{'{yaml,yml}'} -> .woodpecker.yaml -> .woodpecker.yml", - "desc": "Путь к конфигурации вашего конвейера (например: {0}). При указании директории путь должен заканчиваться символом {1}.", - "desc_path_example": "мой/путь/", - "path": "Конфигурация конвейера" - }, - "project": "Настройки проекта", - "protected": { - "desc": "Каждый конвейер должен быть проверен до того как он будет выполнен.", - "protected": "Защищён" - }, - "save": "Сохранить настройки", - "success": "Настройки репозитория обновлены", - "timeout": { - "minutes": "минуты", - "timeout": "Время ожидания" - }, - "trusted": { - "desc": "Доверенные конвейеры получат доступ к дополнительным возможностям. Например конвейер сможет выполнять монтирование томов.", - "trusted": "Доверенный" - }, - "visibility": { - "internal": { - "desc": "Только пользователи, вошедшие в систему, смогут видеть этот проект.", - "internal": "Внутренний" - }, - "private": { - "desc": "Только вы и другие владельцы этого репозитория смогут видеть его.", - "private": "Приватный" - }, - "public": { - "desc": "Любой незарегистрированный пользователь сможет увидеть этот проект.", - "public": "Публичный" - }, - "visibility": "Видимость проекта" - } - }, - "not_allowed": "У вас нет права доступа к настройкам этого репозитория", - "registries": { - "add": "Добавить реестр", - "address": { - "address": "Адрес", - "placeholder": "Адрес реестра (например: docker.io)" - }, - "created": "Данные для доступа к реестру добавлены", - "credentials": "Учётные данные для авторизации в реестре", - "delete": "Удалить реестр", - "deleted": "Данные для доступа к реестру удалены", - "desc": "Можно добавить учетные данные для доступа к реестру, чтобы использовать приветные образы из этого реестра в конвейере.", - "edit": "Изменить реестр", - "none": "Пока тут нет учётных данных для доступа к реестрам.", - "registries": "Реестры с образами", - "save": "Сохранить реестр", - "saved": "Данные для доступа к реестру сохранены", - "show": "Показать реестры" - }, - "secrets": { - "add": "Создать секрет", - "created": "Секрет создан", - "delete": "Удалить секрет", - "delete_confirm": "Вы действительно хотите удалить этот секрет?", - "deleted": "Секрет успешно удалён", - "desc": "Секреты могут быть переданы отдельным этапам конвейера во время выполнения в качестве переменных окружения.", - "edit": "Изменить секрет", - "events": { - "events": "Доступен для следующих событий", - "pr_warning": "Пожалуйста, будьте осторожны с этой опцией, так как злоумышленник может отправить вредоносный запрос на слияние, который раскроет ваши секреты." - }, - "images": { - "desc": "Список образов, для которых доступен этот секрет. Оставьте поле пустым, чтобы разрешить все образы", - "images": "Доступен только для этих образов" - }, - "name": "Название", - "none": "Пока тут нет секретов.", - "plugins_only": "Доступен только для расширений", - "save": "Сохранить секрет", - "saved": "Секрет успешно сохранён", - "secrets": "Секреты", - "show": "Показать секрет", - "value": "Значение" - }, - "settings": "Настройки" + "user_none": "Эта организация / пользователь не имеет ни одного проекта." }, - "user_none": "Эта организация / пользователь не имеет ни одного проекта." - }, - "repos": "Репозитории", - "repositories": "Репозитории", - "running_version": "Вы управляете Woodpecker {0}", - "search": "Поиск…", - "time": { - "days_short": "д.", - "hours_short": "ч.", - "min_short": "мин.", - "not_started": "не запускался ни разу", - "sec_short": "сек.", - "template": "D MMM, YYYY, HH:mm z", - "weeks_short": "нед." - }, - "unknown_error": "Произошла неизвестная ошибка", - "update_woodpecker": "Пожалуйста, обновите свой экземпляр Woodpecker до {0}", - "url": "URL", - "user": { - "access_denied": "У вас нет прав для входа в систему", - "internal_error": "Произошла внутренняя ошибка", - "oauth_error": "Ошибка при аутентификации через OAuth провайдера", - "settings": { - "api": { - "api": "API", - "api_usage": "Пример использования API", - "cli_usage": "Пример использования CLI", - "desc": "Токен персонального доступа и использование API", - "dl_cli": "Загрузить CLI", - "reset_token": "Сбросить токен", - "shell_setup": "Настройка оболочки", - "shell_setup_before": "выполните шаги по настройке оболочки перед", - "swagger_ui": "Интерфейс Swagger", - "token": "Токен персонального доступа" - }, - "general": { - "general": "Главное", - "language": "Язык", - "theme": { - "auto": "Авто", - "dark": "Темная", - "light": "Светлая", - "theme": "Тема" + "repos": "Репозитории", + "repositories": "Репозитории", + "running_version": "Вы используете Woodpecker {0}", + "search": "Поиск…", + "time": { + "days_short": "д.", + "hours_short": "ч.", + "min_short": "мин.", + "not_started": "ещё не запускался", + "sec_short": "сек.", + "template": "D MMM, YYYY, HH:mm z", + "weeks_short": "нед." + }, + "unknown_error": "Произошла неизвестная ошибка", + "update_woodpecker": "Пожалуйста, обновите свой экземпляр Woodpecker до {0}", + "url": "URL", + "user": { + "access_denied": "У вас нет прав для входа в систему", + "internal_error": "Произошла внутренняя ошибка", + "oauth_error": "Ошибка при аутентификации через OAuth провайдера", + "settings": { + "api": { + "api": "API", + "api_usage": "Пример использования API", + "cli_usage": "Пример использования CLI", + "desc": "Токен персонального доступа и использование API", + "dl_cli": "Загрузить CLI", + "reset_token": "Сбросить токен", + "shell_setup": "Настройка оболочки", + "shell_setup_before": "выполните шаги по настройке оболочки перед", + "swagger_ui": "Интерфейс Swagger", + "token": "Токен персонального доступа" + }, + "general": { + "general": "Главное", + "language": "Язык", + "theme": { + "auto": "Авто", + "dark": "Тёмная", + "light": "Светлая", + "theme": "Тема" + } + }, + "secrets": { + "add": "Добавить секрет", + "created": "Секрет пользователя создан", + "deleted": "Секрет пользователя удален", + "desc": "Пользовательские секреты могут быть переданы в виде переменных окружения всем этапам конвейеров во всех репозиториях пользователя.", + "events": { + "events": "Доступно на следующих событий", + "pr_warning": "Пожалуйста, будьте осторожны с этой опцией, так как злоумышленник может отправить вредоносный запрос на слияние, который раскроет ваши секреты." + }, + "images": { + "desc": "Список образов, для которых доступен этот секрет. Оставьте поле пустым, чтобы разрешить все образы", + "images": "Доступно для следующих образов" + }, + "name": "Имя", + "none": "Секретов пользователей пока нет.", + "plugins_only": "Доступно только для плагинов", + "save": "Сохранить секрет", + "saved": "Секрет пользователя сохранен", + "secrets": "Секреты", + "show": "Показать секреты", + "value": "Значение" + }, + "settings": "Настройки пользователя", + "cli_and_api": { + "token": "Персональный токен доступа", + "cli_and_api": "Командная строка и API", + "desc": "Персональный токен доступа, командная строка и API", + "download_cli": "Скачать интерфейс командной строки", + "cli_usage": "Пример использования командной строки", + "api_usage": "Пример использования API", + "reset_token": "Сбросить токен", + "swagger_ui": "Интерфейс Swagger" + }, + "registries": { + "desc": "Добавление учётных данных реестра для пользователя даст возможность использовать частные образы во всех конвейерах пользователя." + } } - }, - "secrets": { - "add": "Добавить секрет", - "created": "Секрет пользователя создан", - "deleted": "Секрет пользователя удален", - "desc": "Пользовательские секреты могут быть переданы всем отдельным этапам конвейера пользовательского репозитория во время выполнения в качестве переменных окружения.", - "events": { - "events": "Доступно на следующих событий", - "pr_warning": "Пожалуйста, будьте осторожны с этой опцией, так как злоумышленник может отправить вредоносный запрос на слияние, который раскроет ваши секреты." - }, - "images": { - "desc": "Список образов, для которых доступен этот секрет. Оставьте поле пустым, чтобы разрешить все образы", - "images": "Доступно для следующих образов" - }, - "name": "Имя", - "none": "Секретов пользователей пока нет.", - "plugins_only": "Доступно только для плагинов", + }, + "username": "Имя пользователя", + "welcome": "Добро пожаловать в Woodpecker", + "secrets": { + "desc": "Секреты можно передавать отдельным шагам конвейера в качестве переменных окружения.", "save": "Сохранить секрет", - "saved": "Секрет пользователя сохранен", - "secrets": "Секреты", "show": "Показать секреты", - "value": "Значение" - }, - "settings": "Настройки пользователя" - } - }, - "username": "Имя пользователя", - "welcome": "Добро пожаловать в Woodpecker" + "name": "Имя", + "value": "Значение", + "delete_confirm": "Вы действительно хотите удалить этот секрет?", + "deleted": "Секрет удалён", + "created": "Секрет создан", + "saved": "Секрет сохранён", + "add": "Добавить секрет", + "images": { + "images": "Доступно следующим образам", + "desc": "Список образов, которым доступен этот секрет; оставьте пустым, чтобы разрешить доступ всем образам." + }, + "secrets": "Секреты", + "none": "Секретов пока нет.", + "events": { + "events": "Доступно следующим событиям", + "pr_warning": "Пожалуйста, будьте осторожны с этой опцией: злоумышленник может раскрыть ваши секреты, отправив вредоносный запрос на слияние." + }, + "edit": "Редактировать секрет", + "delete": "Удалить секрет" + }, + "internal_error": "Произошла внутренняя ошибка", + "registration_closed": "Регистрация закрыта", + "registries": { + "address": { + "desc": "Адрес реестра (например, docker.io)", + "address": "Адрес" + }, + "show": "Показать реестры", + "save": "Сохранить реестр", + "add": "Добавить реестр", + "view": "Просмотр реестра", + "none": "Учётных данных реестра пока нет.", + "registries": "Реестры", + "credentials": "Учётные данные реестра", + "desc": "Можно добавить учётные данные реестра, чтобы использовать частные образы в конвейерах.", + "edit": "Редактировать реестр", + "delete": "Удалить реестр", + "delete_confirm": "Вы действительно хотите удалить этот реестр?", + "created": "Учётные данные реестра созданы", + "saved": "Учётные данные реестра сохранены", + "deleted": "Учётные данные реестра удалены" + }, + "login_to_cli": "Войти через командную строку", + "abort": "Прервать", + "cli_login_success": "Успешный вход в интерфейс командной строки", + "cli_login_failed": "Вход в интерфейс командной строки не удался", + "return_to_cli": "Теперь вы можете закрыть эту вкладку и вернуться в командную строку.", + "settings": "Настройки", + "login_to_cli_description": "Продолжите, чтобы войти через командную строку.", + "cli_login_denied": "Вход через командную строку запрещён", + "invalid_state": "Некорректное состояние OAuth", + "oauth_error": "Ошибка при аутентификации в провайдере OAuth", + "access_denied": "Вам не разрешён доступ к этому экземпляру", + "empty_list": "{entity} не найдено!", + "login_with": "Войти через {forge}" } From c593111852831dd07cd587f6e61ca63f0ac9792d Mon Sep 17 00:00:00 2001 From: Kirill Isakov Date: Fri, 2 Aug 2024 21:45:26 +0000 Subject: [PATCH 070/547] Translated using Weblate (Russian) Currently translated at 100.0% (330 of 330 strings) Translation: Woodpecker CI/UI Translate-URL: http://translate.woodpecker-ci.org/projects/woodpecker-ci/ui/ru/ --- web/src/assets/locales/ru.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/web/src/assets/locales/ru.json b/web/src/assets/locales/ru.json index 6778edab0..ef5ea630e 100644 --- a/web/src/assets/locales/ru.json +++ b/web/src/assets/locales/ru.json @@ -204,7 +204,7 @@ "value": "Значение переменной", "delete": "Удалить переменную" }, - "enter_task": "Задание на развёртывание" + "enter_task": "Задача на развёртывание" }, "enable": { "disabled": "Отключено", @@ -588,7 +588,7 @@ "saved": "Учётные данные реестра сохранены", "deleted": "Учётные данные реестра удалены" }, - "login_to_cli": "Войти через командную строку", + "login_to_cli": "Вход через командную строку", "abort": "Прервать", "cli_login_success": "Успешный вход в интерфейс командной строки", "cli_login_failed": "Вход в интерфейс командной строки не удался", @@ -599,6 +599,6 @@ "invalid_state": "Некорректное состояние OAuth", "oauth_error": "Ошибка при аутентификации в провайдере OAuth", "access_denied": "Вам не разрешён доступ к этому экземпляру", - "empty_list": "{entity} не найдено!", - "login_with": "Войти через {forge}" + "empty_list": "{entity} не найдены!", + "login_with": "Вход через {forge}" } From 93c2a11020a290032200aa7416650d311f1d0ed9 Mon Sep 17 00:00:00 2001 From: Divya Jain Date: Sun, 4 Aug 2024 21:16:57 +0530 Subject: [PATCH 071/547] Fix org settings page (#4002) Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com> --- web/src/views/org/OrgSettings.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/web/src/views/org/OrgSettings.vue b/web/src/views/org/OrgSettings.vue index 1fbb4052f..0b20795f7 100644 --- a/web/src/views/org/OrgSettings.vue +++ b/web/src/views/org/OrgSettings.vue @@ -26,6 +26,7 @@ import { onMounted } from 'vue'; import { useI18n } from 'vue-i18n'; import { useRouter } from 'vue-router'; +import Scaffold from '~/components/layout/scaffold/Scaffold.vue'; import Tab from '~/components/layout/scaffold/Tab.vue'; import OrgRegistriesTab from '~/components/org/settings/OrgRegistriesTab.vue'; import OrgSecretsTab from '~/components/org/settings/OrgSecretsTab.vue'; From 106b6e01c0af45a83d9a146974bd28a4272f647a Mon Sep 17 00:00:00 2001 From: Patrick Schratz Date: Mon, 5 Aug 2024 01:27:25 +0200 Subject: [PATCH 072/547] Overhaul README (#3995) --- README.md | 55 ++++++++---------- cmd/server/swagger.go | 2 +- .../05-deployment-methods/30-third-party.md | 16 ++--- docs/docs/woodpecker.png | Bin 71639 -> 745947 bytes docs/docusaurus.config.ts | 2 +- docs/src/pages/index.tsx | 4 +- docs/versioned_docs/version-2.5/10-intro.md | 2 +- docs/versioned_docs/version-2.6/10-intro.md | 2 +- server/forge/github/fixtures/hooks.go | 4 +- 9 files changed, 41 insertions(+), 46 deletions(-) diff --git a/README.md b/README.md index dec158360..7cd7de1d5 100644 --- a/README.md +++ b/README.md @@ -43,55 +43,50 @@


-Woodpecker is a simple yet powerful CI/CD engine with great extensibility. +Woodpecker is a simple, yet powerful CI/CD engine with great extensibility. ![woodpecker](docs/docs/woodpecker.png) -## 🫶 Support +## Installation & Resources -Please consider donating and become a backer. 🙏 [[Become a backer](https://opencollective.com/woodpecker-ci#category-CONTRIBUTE)] +Woodpecker can be installed in various ways (see the [Installation Instructions](https://woodpecker-ci.org/docs/administration/getting-started)) and by, default, runs with a SQLite DB. +It requires around 100 MB of RAM (Server) and 30 MB (Agent) at runtime in idle mode. + +## Support + +You can support the project by becoming a backer on [Open Collective](https://opencollective.com/woodpecker-ci#category-CONTRIBUTE) or via [GitHub Sponsors](https://github.com/sponsors/woodpecker-ci).
Open Collective backers -## 📖 Documentation +## Documentation - + -## ✨ Contribute +## Translation -See [Contributing Guide](https://github.com/woodpecker-ci/.github/blob/main/CONTRIBUTING.md) +We have a self-hosted [Weblate](https://weblate.org/en/) instance at [translate.woodpecker-ci.org](https://translate.woodpecker-ci.org). -[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://woodpecker-ci.org/docs/next/development/getting-started#gitpod) +An overview of the current translation state is available at . -## 📣 Translate +To help with translation, the language-specific files in can be edited. -We use an own [Weblate](https://weblate.org/en/) instance at [translate.woodpecker-ci.org](https://translate.woodpecker-ci.org). +## Public Woodpecker Instances - - Translation status - +Woodpecker is used as the main CI/CD engine at [Codeberg](https://codeberg.org), an alternative Git hosting platform with a focus on privacy and free software development. -## 👋 Who uses Woodpecker? +## Plugins -Woodpecker is used by [itself](https://ci.woodpecker-ci.org/woodpecker/woodpecker-ci/), multiple well-known companies, organizations like [Codeberg](https://codeberg.org), hobbyists and many others. +Woodpecker can be extended via plugins. +The [plugin overview website](https://woodpecker-ci.org/plugins) helps browsing available plugins. +It combines both plugins by the Woodpecker core team and community-maintained ones. -Leave a [comment](https://github.com/woodpecker-ci/woodpecker/discussions/2149) if you're using it as well. +## Star History -Also consider using the topic `WoodpeckerCI` in your repository, so others can learn from your config and use the hashtag `#WoodpeckerCI` when talking about the project on social media! - -Here are some places where people mention Woodpecker: - -- [GitHub](https://github.com/topics/WoodpeckerCI) -- [Codeberg](https://codeberg.org/explore/repos?q=woodpeckerci&topic=1) -- [Twitter](https://twitter.com/search?q=%23WoodpeckerCI&src=typed_query) -- [Fediverse](https://mastodon.social/tags/WoodpeckerCI) - -## ✨ Stars over time - -[![Stargazers over time](https://starchart.cc/woodpecker-ci/woodpecker.svg)](https://starchart.cc/woodpecker-ci/woodpecker) +[![Star History Chart](https://api.star-history.com/svg?repos=woodpecker-ci/woodpecker&type=Date)](https://star-history.com/#woodpecker-ci/woodpecker&Date) ## License -Woodpecker is Apache 2.0 licensed with the source files in this repository having a header indicating which license they are under and what copyrights apply. +Woodpecker is Apache 2.0 licensed. +The source files have a header indicating which license they are under and what copyrights apply. -Files under the `docs/` folder are licensed under Creative Commons Attribution-ShareAlike 4.0 International Public License. +Everything in `docs/` is licensed under the Creative Commons Attribution-ShareAlike 4.0 International Public License. diff --git a/cmd/server/swagger.go b/cmd/server/swagger.go index a38ec599e..2acb8be76 100644 --- a/cmd/server/swagger.go +++ b/cmd/server/swagger.go @@ -33,7 +33,7 @@ func setupSwaggerStaticConfig() { docs.SwaggerInfo.InfoInstanceName = "api" docs.SwaggerInfo.Title = "Woodpecker CI API" docs.SwaggerInfo.Version = version.String() - docs.SwaggerInfo.Description = "Woodpecker is a simple yet powerful CI/CD engine with great extensibility.\n" + + docs.SwaggerInfo.Description = "Woodpecker is a simple, yet powerful CI/CD engine with great extensibility.\n" + "To get a personal access token (PAT) for authentication, please log in your Woodpecker server,\n" + "and go to you personal profile page, by clicking the user icon at the top right." } diff --git a/docs/docs/30-administration/05-deployment-methods/30-third-party.md b/docs/docs/30-administration/05-deployment-methods/30-third-party.md index acad9c0fd..8eabded39 100644 --- a/docs/docs/30-administration/05-deployment-methods/30-third-party.md +++ b/docs/docs/30-administration/05-deployment-methods/30-third-party.md @@ -1,12 +1,12 @@ -# Third-party installation methods +# Distribution packages :::info -These installation methods are not officially supported. If you experience issues with them, please open issues in the specific repositories. +Woodpecker itself is not responsible for creating these packages. Please reach out to the people responsible for packaging Woodpecker for the individual distributions. ::: -- [Using NixOS](./40-nixos.md) via the [NixOS module](https://search.nixos.org/options?channel=unstable&size=200&sort=relevance&query=woodpecker) -- [On Alpine Edge](https://pkgs.alpinelinux.org/packages?name=woodpecker&branch=edge&repo=&arch=&maintainer=) -- [On Arch Linux](https://archlinux.org/packages/?q=woodpecker) -- [On openSUSE](https://software.opensuse.org/package/woodpecker) -- [Using YunoHost](https://apps.yunohost.org/app/woodpecker) -- [On Cloudron](https://www.cloudron.io/store/org.woodpecker_ci.cloudronapp.html) +- [NixOS](./40-nixos.md) via the [NixOS module](https://search.nixos.org/options?channel=unstable&size=200&sort=relevance&query=woodpecker) +- [Alpine (Edge)](https://pkgs.alpinelinux.org/packages?name=woodpecker&branch=edge&repo=&arch=&maintainer=) +- [Arch Linux](https://archlinux.org/packages/?q=woodpecker) +- [openSUSE](https://software.opensuse.org/package/woodpecker) +- [YunoHost](https://apps.yunohost.org/app/woodpecker) +- [Cloudron](https://www.cloudron.io/store/org.woodpecker_ci.cloudronapp.html) diff --git a/docs/docs/woodpecker.png b/docs/docs/woodpecker.png index b92f3589f55d79a17069e44ca23b44cf91e6139c..93b4d47af0824a309c8ffbd663953e43d1335e53 100644 GIT binary patch literal 745947 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
-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

{siteConfig.tagline}

- + Woodpecker Tutorial - 5min ⏱️
@@ -28,7 +28,7 @@ export default function Home() { return (
diff --git a/docs/versioned_docs/version-2.5/10-intro.md b/docs/versioned_docs/version-2.5/10-intro.md index 309c6f1af..e4624e623 100644 --- a/docs/versioned_docs/version-2.5/10-intro.md +++ b/docs/versioned_docs/version-2.5/10-intro.md @@ -1,6 +1,6 @@ # Welcome to Woodpecker -Woodpecker is a simple yet powerful CI/CD engine with great extensibility. It focuses on executing pipelines inside [containers](https://opencontainers.org/). +Woodpecker is a simple, yet powerful CI/CD engine with great extensibility. It focuses on executing pipelines inside [containers](https://opencontainers.org/). If you are already using containers in your daily workflow, you'll for sure love Woodpecker. ![woodpecker](woodpecker.png) diff --git a/docs/versioned_docs/version-2.6/10-intro.md b/docs/versioned_docs/version-2.6/10-intro.md index 309c6f1af..e4624e623 100644 --- a/docs/versioned_docs/version-2.6/10-intro.md +++ b/docs/versioned_docs/version-2.6/10-intro.md @@ -1,6 +1,6 @@ # Welcome to Woodpecker -Woodpecker is a simple yet powerful CI/CD engine with great extensibility. It focuses on executing pipelines inside [containers](https://opencontainers.org/). +Woodpecker is a simple, yet powerful CI/CD engine with great extensibility. It focuses on executing pipelines inside [containers](https://opencontainers.org/). If you are already using containers in your daily workflow, you'll for sure love Woodpecker. ![woodpecker](woodpecker.png) diff --git a/server/forge/github/fixtures/hooks.go b/server/forge/github/fixtures/hooks.go index bae47d9e1..895c537ba 100644 --- a/server/forge/github/fixtures/hooks.go +++ b/server/forge/github/fixtures/hooks.go @@ -49,7 +49,7 @@ const HookPush = `{ "site_admin": false }, "html_url": "https://github.com/woodpecker-ci/woodpecker", - "description": "Woodpecker is a simple yet powerful CI/CD engine with great extensibility.", + "description": "Woodpecker is a simple, yet powerful CI/CD engine with great extensibility.", "fork": false, "url": "https://github.com/woodpecker-ci/woodpecker", "forks_url": "https://api.github.com/repos/woodpecker-ci/woodpecker/forks", @@ -152,7 +152,7 @@ const HookPush = `{ "members_url": "https://api.github.com/orgs/woodpecker-ci/members{/member}", "public_members_url": "https://api.github.com/orgs/woodpecker-ci/public_members{/member}", "avatar_url": "https://avatars.githubusercontent.com/u/84780935?v=4", - "description": "Woodpecker is a simple yet powerful CI/CD engine with great extensibility." + "description": "Woodpecker is a simple, yet powerful CI/CD engine with great extensibility." }, "sender": { "login": "6543", From 08b44b95c366d62168865ecb84bc695f62c71b15 Mon Sep 17 00:00:00 2001 From: qwerty287 <80460567+qwerty287@users.noreply.github.com> Date: Mon, 5 Aug 2024 01:34:13 +0200 Subject: [PATCH 073/547] Remove reverted PR from changelog (#4003) Co-authored-by: Patrick Schratz --- CHANGELOG.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2d999b699..401a15723 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,7 +33,6 @@ - Remove `unplugin-icons` [[#3809](https://github.com/woodpecker-ci/woodpecker/pull/3809)] - Release windows binaries as zip file [[#3906](https://github.com/woodpecker-ci/woodpecker/pull/3906)] - Convert to openapi 3.0 [[#3897](https://github.com/woodpecker-ci/woodpecker/pull/3897)] -- Enhance pipeline list [[#3898](https://github.com/woodpecker-ci/woodpecker/pull/3898)] - Add user registries UI [[#3888](https://github.com/woodpecker-ci/woodpecker/pull/3888)] - Sort users by login [[#3891](https://github.com/woodpecker-ci/woodpecker/pull/3891)] - Exclude dummy backend in production [[#3877](https://github.com/woodpecker-ci/woodpecker/pull/3877)] From c5746ccb5069b86dd3d0714abf9b5252022aeddd Mon Sep 17 00:00:00 2001 From: Thomas Anderson <127358482+zc-devs@users.noreply.github.com> Date: Tue, 6 Aug 2024 18:07:07 +0300 Subject: [PATCH 074/547] Fail on InvalidImageName (#4007) --- pipeline/backend/kubernetes/kubernetes.go | 6 +++--- pipeline/backend/kubernetes/utils.go | 12 ++++++++++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/pipeline/backend/kubernetes/kubernetes.go b/pipeline/backend/kubernetes/kubernetes.go index 003656896..dadf913c5 100644 --- a/pipeline/backend/kubernetes/kubernetes.go +++ b/pipeline/backend/kubernetes/kubernetes.go @@ -254,7 +254,7 @@ func (e *kube) WaitStep(ctx context.Context, step *types.Step, taskUUID string) } if pod.Name == podName { - if isImagePullBackOffState(pod) { + if isImagePullBackOffState(pod) || isInvalidImageName(pod) { finished <- true } @@ -286,7 +286,7 @@ func (e *kube) WaitStep(ctx context.Context, step *types.Step, taskUUID string) return nil, err } - if isImagePullBackOffState(pod) { + if isImagePullBackOffState(pod) || isInvalidImageName(pod) { return nil, fmt.Errorf("could not pull image for pod %s", podName) } @@ -330,7 +330,7 @@ func (e *kube) TailStep(ctx context.Context, step *types.Step, taskUUID string) } if pod.Name == podName { - if isImagePullBackOffState(pod) { + if isImagePullBackOffState(pod) || isInvalidImageName(pod) { up <- true } switch pod.Status.Phase { diff --git a/pipeline/backend/kubernetes/utils.go b/pipeline/backend/kubernetes/utils.go index 1393c423b..ec601bccc 100644 --- a/pipeline/backend/kubernetes/utils.go +++ b/pipeline/backend/kubernetes/utils.go @@ -65,6 +65,18 @@ func isImagePullBackOffState(pod *v1.Pod) bool { return false } +func isInvalidImageName(pod *v1.Pod) bool { + for _, containerState := range pod.Status.ContainerStatuses { + if containerState.State.Waiting != nil { + if containerState.State.Waiting.Reason == "InvalidImageName" { + return true + } + } + } + + return false +} + // getClientOutOfCluster returns a k8s client set to the request from outside of cluster. func getClientOutOfCluster() (kubernetes.Interface, error) { kubeConfigPath := os.Getenv("KUBECONFIG") // cspell:words KUBECONFIG From f20327eb03cc56d79f68c18856d45324bf220858 Mon Sep 17 00:00:00 2001 From: Jener Rasmussen Date: Tue, 6 Aug 2024 18:31:50 +0200 Subject: [PATCH 075/547] [Bitbucket Datacenter] Return empty list instead of null (#4010) --- server/forge/bitbucketdatacenter/bitbucketdatacenter.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/server/forge/bitbucketdatacenter/bitbucketdatacenter.go b/server/forge/bitbucketdatacenter/bitbucketdatacenter.go index cd3b58bc4..b04abeeac 100644 --- a/server/forge/bitbucketdatacenter/bitbucketdatacenter.go +++ b/server/forge/bitbucketdatacenter/bitbucketdatacenter.go @@ -211,7 +211,7 @@ func (c *client) Repos(ctx context.Context, u *model.User) ([]*model.Repo, error } opts := &bb.RepositorySearchOptions{Permission: bb.PermissionRepoWrite, ListOptions: bb.ListOptions{Limit: listLimit}} - var all []*model.Repo + all := make([]*model.Repo, 0) for { repos, resp, err := bc.Projects.SearchRepositories(ctx, opts) if err != nil { @@ -277,7 +277,7 @@ func (c *client) Dir(ctx context.Context, u *model.User, r *model.Repo, p *model } opts := &bb.FilesListOptions{At: p.Commit} - var all []*forge_types.FileMeta + all := make([]*forge_types.FileMeta, 0) for { list, resp, err := bc.Projects.ListFiles(ctx, r.Owner, r.Name, path, opts) if err != nil { @@ -341,7 +341,7 @@ func (c *client) Branches(ctx context.Context, u *model.User, r *model.Repo, p * } opts := &bb.BranchSearchOptions{ListOptions: convertListOptions(p)} - var all []string + all := make([]string, 0) for { branches, resp, err := bc.Projects.SearchBranches(ctx, r.Owner, r.Name, opts) if err != nil { @@ -389,7 +389,7 @@ func (c *client) PullRequests(ctx context.Context, u *model.User, r *model.Repo, } opts := &bb.PullRequestSearchOptions{ListOptions: convertListOptions(p)} - var all []*model.PullRequest + all := make([]*model.PullRequest, 0) for { prs, resp, err := bc.Projects.SearchPullRequests(ctx, r.Owner, r.Name, opts) if err != nil { From dc10fb95ad6447aaaff226b9b46a5d538c312753 Mon Sep 17 00:00:00 2001 From: Thomas Anderson <127358482+zc-devs@users.noreply.github.com> Date: Tue, 6 Aug 2024 19:47:31 +0300 Subject: [PATCH 076/547] Removed Kubernetes default image pull secret name (#4005) Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com> --- docs/docs/91-migrations.md | 1 + pipeline/backend/kubernetes/flags.go | 1 - pipeline/backend/kubernetes/kubernetes.go | 4 ---- 3 files changed, 1 insertion(+), 5 deletions(-) diff --git a/docs/docs/91-migrations.md b/docs/docs/91-migrations.md index 5bd8db9ac..d0fd5b8ef 100644 --- a/docs/docs/91-migrations.md +++ b/docs/docs/91-migrations.md @@ -16,6 +16,7 @@ Some versions need some changes to the server configuration or the pipeline conf - Deprecated `steps.[name].group` in favor of `steps.[name].depends_on` (see [workflow syntax](./20-usage/20-workflow-syntax.md#depends_on) to learn how to set dependencies) - Removed `WOODPECKER_ROOT_PATH` and `WOODPECKER_ROOT_URL` config variables. Use `WOODPECKER_HOST` with a path instead - Pipelines without a config file will now be skipped instead of failing +- Removed implicitly defined `regcred` image pull secret name. Set it explicitly via `WOODPECKER_BACKEND_K8S_PULL_SECRET_NAMES` - Deprecated `includes` and `excludes` support from **event** filter - Deprecated uppercasing all secret env vars, instead, the value of the `secrets` property is used. [Read more](./20-usage/40-secrets.md#use-secrets-in-commands) - Deprecated alternative names for secrets, use `environment` with `from_secret` diff --git a/pipeline/backend/kubernetes/flags.go b/pipeline/backend/kubernetes/flags.go index 8ba9b079c..910f52624 100644 --- a/pipeline/backend/kubernetes/flags.go +++ b/pipeline/backend/kubernetes/flags.go @@ -82,7 +82,6 @@ var Flags = []cli.Flag{ Sources: cli.EnvVars("WOODPECKER_BACKEND_K8S_PULL_SECRET_NAMES"), Name: "backend-k8s-pod-image-pull-secret-names", Usage: "backend k8s pull secret names for private registries", - Value: []string{"regcred"}, }, &cli.BoolFlag{ Sources: cli.EnvVars("WOODPECKER_BACKEND_K8S_ALLOW_NATIVE_SECRETS"), diff --git a/pipeline/backend/kubernetes/kubernetes.go b/pipeline/backend/kubernetes/kubernetes.go index dadf913c5..7cde9f68c 100644 --- a/pipeline/backend/kubernetes/kubernetes.go +++ b/pipeline/backend/kubernetes/kubernetes.go @@ -100,10 +100,6 @@ func configFromCliContext(ctx context.Context) (*config, error) { }, NativeSecretsAllowFromStep: c.Bool("backend-k8s-allow-native-secrets"), } - // TODO: remove in next major - if len(config.ImagePullSecretNames) == 1 && config.ImagePullSecretNames[0] == "regcred" { - log.Warn().Msg("WOODPECKER_BACKEND_K8S_PULL_SECRET_NAMES is set to the default ('regcred'). It will default to empty in Woodpecker 3.0. Set it explicitly before then.") - } // Unmarshal label and annotation settings here to ensure they're valid on startup if labels := c.String("backend-k8s-pod-labels"); labels != "" { if err := yaml.Unmarshal([]byte(labels), &config.PodLabels); err != nil { From ca41540151c74a1b2139388f03a91ff9b980761d Mon Sep 17 00:00:00 2001 From: Thomas Anderson <127358482+zc-devs@users.noreply.github.com> Date: Tue, 6 Aug 2024 20:05:04 +0300 Subject: [PATCH 077/547] Switched to profile-based AppArmor configuration (#4008) Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com> --- .../22-backends/40-kubernetes.md | 2 +- pipeline/backend/kubernetes/pod.go | 80 +++++++------------ pipeline/backend/kubernetes/pod_test.go | 9 ++- 3 files changed, 38 insertions(+), 53 deletions(-) diff --git a/docs/docs/30-administration/22-backends/40-kubernetes.md b/docs/docs/30-administration/22-backends/40-kubernetes.md index 5637eb43b..f2e11ff80 100644 --- a/docs/docs/30-administration/22-backends/40-kubernetes.md +++ b/docs/docs/30-administration/22-backends/40-kubernetes.md @@ -197,7 +197,7 @@ backend_options: ``` :::note -AppArmor syntax follows [KEP-24](https://github.com/kubernetes/enhancements/blob/fddcbb9cbf3df39ded03bad71228265ac6e5215f/keps/sig-node/24-apparmor/README.md). +The feature requires Kubernetes v1.30 or above. ::: ### Annotations and labels diff --git a/pipeline/backend/kubernetes/pod.go b/pipeline/backend/kubernetes/pod.go index 679543470..53efbc8cd 100644 --- a/pipeline/backend/kubernetes/pod.go +++ b/pipeline/backend/kubernetes/pod.go @@ -84,7 +84,7 @@ func podMeta(step *types.Step, config *config, options BackendOptions, podName s meta := meta_v1.ObjectMeta{ Name: podName, Namespace: config.Namespace, - Annotations: podAnnotations(config, options, podName), + Annotations: podAnnotations(config, options), } meta.Labels, err = podLabels(step, config, options) @@ -126,7 +126,7 @@ func stepLabel(step *types.Step) (string, error) { return toDNSName(step.Name) } -func podAnnotations(config *config, options BackendOptions, podName string) map[string]string { +func podAnnotations(config *config, options BackendOptions) map[string]string { annotations := make(map[string]string) if len(options.Annotations) > 0 { @@ -141,13 +141,6 @@ func podAnnotations(config *config, options BackendOptions, podName string) map[ log.Trace().Msgf("using annotations from the configuration: %v", config.PodAnnotations) maps.Copy(annotations, config.PodAnnotations) } - securityContext := options.SecurityContext - if securityContext != nil { - key, value := apparmorAnnotation(podName, securityContext.ApparmorProfile) - if key != nil && value != nil { - annotations[*key] = *value - } - } return annotations } @@ -377,11 +370,12 @@ func toleration(backendToleration Toleration) v1.Toleration { func podSecurityContext(sc *SecurityContext, secCtxConf SecurityContextConfig, stepPrivileged bool) *v1.PodSecurityContext { var ( - nonRoot *bool - user *int64 - group *int64 - fsGroup *int64 - seccomp *v1.SeccompProfile + nonRoot *bool + user *int64 + group *int64 + fsGroup *int64 + seccomp *v1.SeccompProfile + apparmor *v1.AppArmorProfile ) if secCtxConf.RunAsNonRoot { @@ -410,6 +404,7 @@ func podSecurityContext(sc *SecurityContext, secCtxConf SecurityContextConfig, s } seccomp = seccompProfile(sc.SeccompProfile) + apparmor = apparmorProfile(sc.ApparmorProfile) } if nonRoot == nil && user == nil && group == nil && fsGroup == nil && seccomp == nil { @@ -417,11 +412,12 @@ func podSecurityContext(sc *SecurityContext, secCtxConf SecurityContextConfig, s } securityContext := &v1.PodSecurityContext{ - RunAsNonRoot: nonRoot, - RunAsUser: user, - RunAsGroup: group, - FSGroup: fsGroup, - SeccompProfile: seccomp, + RunAsNonRoot: nonRoot, + RunAsUser: user, + RunAsGroup: group, + FSGroup: fsGroup, + SeccompProfile: seccomp, + AppArmorProfile: apparmor, } log.Trace().Msgf("pod security context that will be used: %v", securityContext) return securityContext @@ -443,6 +439,22 @@ func seccompProfile(scp *SecProfile) *v1.SeccompProfile { return seccompProfile } +func apparmorProfile(scp *SecProfile) *v1.AppArmorProfile { + if scp == nil || len(scp.Type) == 0 { + return nil + } + log.Trace().Msgf("using AppArmor profile: %v", scp) + + apparmorProfile := &v1.AppArmorProfile{ + Type: v1.AppArmorProfileType(scp.Type), + } + if len(scp.LocalhostProfile) > 0 { + apparmorProfile.LocalhostProfile = &scp.LocalhostProfile + } + + return apparmorProfile +} + func containerSecurityContext(sc *SecurityContext, stepPrivileged bool) *v1.SecurityContext { if !stepPrivileged { return nil @@ -471,36 +483,6 @@ func containerSecurityContext(sc *SecurityContext, stepPrivileged bool) *v1.Secu return nil } -func apparmorAnnotation(containerName string, scp *SecProfile) (*string, *string) { - if scp == nil { - return nil, nil - } - log.Trace().Msgf("using AppArmor profile: %v", scp) - - var ( - profileType string - profilePath string - ) - - if scp.Type == SecProfileTypeRuntimeDefault { - profileType = "runtime" - profilePath = "default" - } - - if scp.Type == SecProfileTypeLocalhost { - profileType = "localhost" - profilePath = scp.LocalhostProfile - } - - if len(profileType) == 0 { - return nil, nil - } - - key := v1.DeprecatedAppArmorBetaContainerAnnotationKeyPrefix + containerName - value := profileType + "/" + profilePath - return &key, &value -} - func mapToEnvVars(m map[string]string) []v1.EnvVar { var ev []v1.EnvVar for k, v := range m { diff --git a/pipeline/backend/kubernetes/pod_test.go b/pipeline/backend/kubernetes/pod_test.go index 8b8241545..4f7732878 100644 --- a/pipeline/backend/kubernetes/pod_test.go +++ b/pipeline/backend/kubernetes/pod_test.go @@ -162,7 +162,6 @@ func TestFullPod(t *testing.T) { }, "annotations": { "apps.kubernetes.io/pod-index": "0", - "container.apparmor.security.beta.kubernetes.io/wp-01he8bebctabr3kgk0qj36d2me-0": "localhost/k8s-apparmor-example-deny-write", "kubernetes.io/limit-ranger": "LimitRanger plugin set: cpu, memory request and limit for container" } }, @@ -250,9 +249,13 @@ func TestFullPod(t *testing.T) { "runAsGroup": 101, "runAsNonRoot": true, "fsGroup": 101, + "appArmorProfile": { + "type": "Localhost", + "localhostProfile": "k8s-apparmor-example-deny-write" + }, "seccompProfile": { - "type": "Localhost", - "localhostProfile": "profiles/audit.json" + "type": "Localhost", + "localhostProfile": "profiles/audit.json" } }, "imagePullSecrets": [ From c864f24ae46cabbf8433e4321998bf87b3b8718a Mon Sep 17 00:00:00 2001 From: qwerty287 <80460567+qwerty287@users.noreply.github.com> Date: Tue, 6 Aug 2024 19:22:28 +0200 Subject: [PATCH 078/547] Migrate to maintained cron lib and remove seconds (#3785) Co-authored-by: Patrick Schratz --- docs/docs/20-usage/45-cron.md | 10 +--- docs/docs/91-migrations.md | 1 + go.mod | 2 +- go.sum | 4 +- server/cron/cron.go | 6 +-- server/model/cron.go | 4 +- .../migration/033_cron_without_sec.go | 53 +++++++++++++++++++ server/store/datastore/migration/migration.go | 1 + web/src/components/repo/settings/CronTab.vue | 2 +- 9 files changed, 66 insertions(+), 17 deletions(-) create mode 100644 server/store/datastore/migration/033_cron_without_sec.go diff --git a/docs/docs/20-usage/45-cron.md b/docs/docs/20-usage/45-cron.md index 95ee8202e..2cb088122 100644 --- a/docs/docs/20-usage/45-cron.md +++ b/docs/docs/20-usage/45-cron.md @@ -23,12 +23,6 @@ To configure cron jobs you need at least push access to the repository. ![cron settings](./cron-settings.png) - The supported schedule syntax can be found at . If you need general understanding of the cron syntax is a good place to start and experiment. + The supported schedule syntax can be found at . If you need general understanding of the cron syntax is a good place to start and experiment. - Examples: `@every 5m`, `@daily`, `0 30 * * * *` ... - - :::info - Woodpeckers cron syntax starts with seconds instead of minutes as used by most linux cron schedulers. - - Example: "At minute 30 every hour" would be `0 30 * * * *` instead of `30 * * * *` - ::: + Examples: `@every 5m`, `@daily`, `30 * * * *` ... diff --git a/docs/docs/91-migrations.md b/docs/docs/91-migrations.md index d0fd5b8ef..33b716173 100644 --- a/docs/docs/91-migrations.md +++ b/docs/docs/91-migrations.md @@ -6,6 +6,7 @@ Some versions need some changes to the server configuration or the pipeline conf ## 3.0.0 - Update all webhooks by pressing the "Repair all" button in the admin settings as the webhook token claims have changed +- Crons now use standard Linux syntax without seconds --> diff --git a/go.mod b/go.mod index 47362655d..fe13b7995 100644 --- a/go.mod +++ b/go.mod @@ -26,6 +26,7 @@ require ( github.com/expr-lang/expr v1.16.9 github.com/franela/goblin v0.0.0-20211003143422-0a4f594942bf github.com/fsnotify/fsnotify v1.7.0 + github.com/gdgvda/cron v0.2.0 github.com/getkin/kin-openapi v0.126.0 github.com/gin-gonic/gin v1.10.0 github.com/gitsight/go-vcsurl v1.0.1 @@ -49,7 +50,6 @@ require ( github.com/oklog/ulid/v2 v2.1.0 github.com/pkg/errors v0.9.1 github.com/prometheus/client_golang v1.19.1 - github.com/robfig/cron v1.2.0 github.com/rs/zerolog v1.33.0 github.com/stretchr/testify v1.9.0 github.com/swaggo/files v1.0.1 diff --git a/go.sum b/go.sum index 964957cdf..0a723d15e 100644 --- a/go.sum +++ b/go.sum @@ -145,6 +145,8 @@ github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nos github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= github.com/gabriel-vasile/mimetype v1.4.3 h1:in2uUcidCuFcDKtdcBxlR0rJ1+fsokWf+uqxgUFjbI0= github.com/gabriel-vasile/mimetype v1.4.3/go.mod h1:d8uq/6HKRL6CGdk+aubisF/M5GcPfT7nKyLpA0lbSSk= +github.com/gdgvda/cron v0.2.0 h1:oX8qdLZq4tC5StnCsZsTNs2BIzaRjcjmPZ4o+BArKX4= +github.com/gdgvda/cron v0.2.0/go.mod h1:VEwidZXB255kESB5DcUGRWTYZS8KkOBYD1YBn8Wiyx8= github.com/getkin/kin-openapi v0.126.0 h1:c2cSgLnAsS0xYfKsgt5oBV6MYRM/giU8/RtwUY4wyfY= github.com/getkin/kin-openapi v0.126.0/go.mod h1:7mONz8IwmSRg6RttPu6v8U/OJ+gr+J99qSFNjPGSQqw= github.com/gin-contrib/gzip v0.0.6 h1:NjcunTcGAj5CO1gn4N8jHOSIeRFHIbn51z6K+xaN4d4= @@ -459,8 +461,6 @@ github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qq github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= -github.com/robfig/cron v1.2.0 h1:ZjScXvvxeQ63Dbyxy76Fj3AT3Ut0aKsyd2/tl3DTMuQ= -github.com/robfig/cron v1.2.0/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= diff --git a/server/cron/cron.go b/server/cron/cron.go index 0dc05ee65..9fa35aa8c 100644 --- a/server/cron/cron.go +++ b/server/cron/cron.go @@ -19,7 +19,7 @@ import ( "fmt" "time" - "github.com/robfig/cron" + "github.com/gdgvda/cron" "github.com/rs/zerolog/log" "go.woodpecker-ci.org/woodpecker/v2/server" @@ -31,7 +31,7 @@ import ( const ( // Specifies the interval woodpecker checks for new crons to exec. - checkTime = 10 * time.Second + checkTime = time.Minute // Specifies the batch size of crons to retrieve per check from database. checkItems = 10 @@ -71,7 +71,7 @@ func CalcNewNext(schedule string, now time.Time) (time.Time, error) { // TODO: allow the users / the admin to set a specific timezone - c, err := cron.Parse(schedule) + c, err := cron.ParseStandard(schedule) if err != nil { return time.Time{}, fmt.Errorf("cron parse schedule: %w", err) } diff --git a/server/model/cron.go b/server/model/cron.go index 42467de35..fb72665c7 100644 --- a/server/model/cron.go +++ b/server/model/cron.go @@ -17,7 +17,7 @@ package model import ( "fmt" - "github.com/robfig/cron" + "github.com/gdgvda/cron" ) type Cron struct { @@ -46,7 +46,7 @@ func (c *Cron) Validate() error { return fmt.Errorf("schedule is required") } - _, err := cron.Parse(c.Schedule) + _, err := cron.ParseStandard(c.Schedule) if err != nil { return fmt.Errorf("can't parse schedule: %w", err) } diff --git a/server/store/datastore/migration/033_cron_without_sec.go b/server/store/datastore/migration/033_cron_without_sec.go new file mode 100644 index 000000000..a170401b3 --- /dev/null +++ b/server/store/datastore/migration/033_cron_without_sec.go @@ -0,0 +1,53 @@ +// Copyright 2024 Woodpecker Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package migration + +import ( + "fmt" + "strings" + + "src.techknowlogick.com/xormigrate" + "xorm.io/xorm" + + "go.woodpecker-ci.org/woodpecker/v2/server/model" +) + +var cronWithoutSec = xormigrate.Migration{ + ID: "cron-without-sec", + MigrateSession: func(sess *xorm.Session) error { + if err := sess.Sync(new(model.Cron)); err != nil { + return fmt.Errorf("sync new models failed: %w", err) + } + + var crons []*model.Cron + if err := sess.Find(&crons); err != nil { + return err + } + + for _, c := range crons { + if strings.HasPrefix(strings.TrimSpace(c.Schedule), "@") { + // something like "@daily" + continue + } + + c.Schedule = strings.SplitN(strings.TrimSpace(c.Schedule), " ", 2)[1] + if _, err := sess.Update(c); err != nil { + return err + } + } + + return nil + }, +} diff --git a/server/store/datastore/migration/migration.go b/server/store/datastore/migration/migration.go index 4c905e66e..a2a42b96b 100644 --- a/server/store/datastore/migration/migration.go +++ b/server/store/datastore/migration/migration.go @@ -63,6 +63,7 @@ var migrationTasks = []*xormigrate.Migration{ &setForgeID, &unifyColumnsTables, &alterTableRegistriesFixRequiredFields, + &cronWithoutSec, } var allBeans = []any{ diff --git a/web/src/components/repo/settings/CronTab.vue b/web/src/components/repo/settings/CronTab.vue index 98d27cdef..e19c9f0a0 100644 --- a/web/src/components/repo/settings/CronTab.vue +++ b/web/src/components/repo/settings/CronTab.vue @@ -60,7 +60,7 @@ Date: Wed, 7 Aug 2024 09:31:17 +0200 Subject: [PATCH 079/547] Move manual popup to own page (#3981) --- server/api/repo.go | 3 +- web/src/assets/locales/en.json | 3 +- .../layout/popups/ManualPipelinePopup.vue | 134 ---------------- web/src/router.ts | 6 + web/src/views/repo/RepoManualPipeline.vue | 149 ++++++++++++++++++ web/src/views/repo/RepoWrapper.vue | 15 +- 6 files changed, 168 insertions(+), 142 deletions(-) delete mode 100644 web/src/components/layout/popups/ManualPipelinePopup.vue create mode 100644 web/src/views/repo/RepoManualPipeline.vue diff --git a/server/api/repo.go b/server/api/repo.go index b5cefa699..84b9b8002 100644 --- a/server/api/repo.go +++ b/server/api/repo.go @@ -360,7 +360,8 @@ func GetRepoBranches(c *gin.Context) { branches, err := _forge.Branches(c, user, repo, session.Pagination(c)) if err != nil { - _ = c.AbortWithError(http.StatusInternalServerError, err) + log.Error().Err(err).Msg("failed to load branches") + c.String(http.StatusInternalServerError, "failed to load branches: %s", err) return } diff --git a/web/src/assets/locales/en.json b/web/src/assets/locales/en.json index a009b1997..530a8f0fd 100644 --- a/web/src/assets/locales/en.json +++ b/web/src/assets/locales/en.json @@ -38,7 +38,8 @@ "desc": "Specify additional variables to use in your pipeline. Variables with the same name will be overwritten.", "name": "Variable name", "value": "Variable value" - } + }, + "show_pipelines": "Show pipelines" }, "deploy_pipeline": { "title": "Trigger deployment event for current pipeline #{pipelineId}", diff --git a/web/src/components/layout/popups/ManualPipelinePopup.vue b/web/src/components/layout/popups/ManualPipelinePopup.vue deleted file mode 100644 index 4c7ba0e9c..000000000 --- a/web/src/components/layout/popups/ManualPipelinePopup.vue +++ /dev/null @@ -1,134 +0,0 @@ - - - diff --git a/web/src/router.ts b/web/src/router.ts index cb00abc46..c71c831d9 100644 --- a/web/src/router.ts +++ b/web/src/router.ts @@ -103,6 +103,12 @@ const routes: RouteRecordRaw[] = [ meta: { authentication: 'required' }, props: true, }, + { + path: 'manual', + name: 'repo-manual', + component: (): Component => import('~/views/repo/RepoManualPipeline.vue'), + meta: { authentication: 'required', repoHeader: true }, + }, ], }, { diff --git a/web/src/views/repo/RepoManualPipeline.vue b/web/src/views/repo/RepoManualPipeline.vue new file mode 100644 index 000000000..df569448f --- /dev/null +++ b/web/src/views/repo/RepoManualPipeline.vue @@ -0,0 +1,149 @@ + + + diff --git a/web/src/views/repo/RepoWrapper.vue b/web/src/views/repo/RepoWrapper.vue index 123a788ee..d5655c142 100644 --- a/web/src/views/repo/RepoWrapper.vue +++ b/web/src/views/repo/RepoWrapper.vue @@ -30,11 +30,17 @@ @@ -54,7 +60,6 @@ import { useRoute, useRouter } from 'vue-router'; import Button from '~/components/atomic/Button.vue'; import type { IconNames } from '~/components/atomic/Icon.vue'; import IconButton from '~/components/atomic/IconButton.vue'; -import ManualPipelinePopup from '~/components/layout/popups/ManualPipelinePopup.vue'; import Scaffold from '~/components/layout/scaffold/Scaffold.vue'; import Tab from '~/components/layout/scaffold/Tab.vue'; import useApiClient from '~/compositions/useApiClient'; @@ -97,8 +102,6 @@ const forgeIcon = computed(() => { return 'repo'; }); -const showManualPipelinePopup = ref(false); - async function loadRepo() { repoPermissions.value = await apiClient.getRepoPermissions(repositoryId.value); if (!repoPermissions.value.pull) { From 2081ca85db2fb28ede0e305f351f1d08d425ee0a Mon Sep 17 00:00:00 2001 From: qwerty287 <80460567+qwerty287@users.noreply.github.com> Date: Wed, 7 Aug 2024 10:49:03 +0200 Subject: [PATCH 080/547] Refactor JSON and SDK fields (#3968) --- cmd/server/docs/docs.go | 43 +++----- docs/docs/91-migrations.md | 1 + server/model/cron.go | 16 +-- server/model/feed.go | 6 +- server/model/pipeline.go | 10 +- server/model/step.go | 4 +- server/model/workflow.go | 4 +- .../migration/034_rename_start_end_time.go | 59 ++++++++++ server/store/datastore/migration/migration.go | 1 + .../components/repo/pipeline/PipelineLog.vue | 12 +-- .../repo/pipeline/PipelineStepDuration.vue | 6 +- .../repo/pipeline/PipelineStepList.vue | 2 +- web/src/compositions/usePipeline.ts | 8 +- web/src/lib/api/types/pipeline.ts | 22 ++-- web/src/utils/helpers.ts | 2 +- woodpecker-go/woodpecker/types.go | 101 ++++++++---------- 16 files changed, 164 insertions(+), 133 deletions(-) create mode 100644 server/store/datastore/migration/034_rename_start_end_time.go diff --git a/cmd/server/docs/docs.go b/cmd/server/docs/docs.go index 3113408cc..2b8437fd1 100644 --- a/cmd/server/docs/docs.go +++ b/cmd/server/docs/docs.go @@ -4415,8 +4415,7 @@ const docTemplate = `{ "branch": { "type": "string" }, - "created_at": { - "description": "TODO change JSON field to \"created\" in 3.0", + "created": { "type": "integer" }, "creator_id": { @@ -4458,15 +4457,13 @@ const docTemplate = `{ "commit": { "type": "string" }, - "created_at": { - "description": "TODO change JSON field to \"created\" in 3.0", + "created": { "type": "integer" }, "event": { "type": "string" }, - "finished_at": { - "description": "TODO change JSON field to \"finished\" in 3.0", + "finished": { "type": "integer" }, "id": { @@ -4487,8 +4484,7 @@ const docTemplate = `{ "repo_id": { "type": "integer" }, - "started_at": { - "description": "TODO change JSON field to \"started\" in 3.0", + "started": { "type": "integer" }, "status": { @@ -4645,8 +4641,7 @@ const docTemplate = `{ "commit": { "type": "string" }, - "created_at": { - "description": "TODO change JSON field to \"created\" in 3.0", + "created": { "type": "integer" }, "deploy_task": { @@ -4664,8 +4659,7 @@ const docTemplate = `{ "event": { "$ref": "#/definitions/WebhookEvent" }, - "finished_at": { - "description": "TODO change JSON field to \"finished\" in 3.0", + "finished": { "type": "integer" }, "forge_url": { @@ -4698,8 +4692,7 @@ const docTemplate = `{ "refspec": { "type": "string" }, - "reviewed_at": { - "description": "TODO change JSON field to \"reviewed\" in 3.0", + "reviewed": { "type": "integer" }, "reviewed_by": { @@ -4709,8 +4702,7 @@ const docTemplate = `{ "description": "uses reported user for webhooks and name of cron for cron pipelines", "type": "string" }, - "started_at": { - "description": "TODO change JSON field to \"started\" in 3.0", + "started": { "type": "integer" }, "status": { @@ -4722,8 +4714,7 @@ const docTemplate = `{ "title": { "type": "string" }, - "updated_at": { - "description": "TODO change JSON field to \"updated\" in 3.0", + "updated": { "type": "integer" }, "variables": { @@ -5012,15 +5003,15 @@ const docTemplate = `{ "Step": { "type": "object", "properties": { - "end_time": { - "type": "integer" - }, "error": { "type": "string" }, "exit_code": { "type": "integer" }, + "finished": { + "type": "integer" + }, "id": { "type": "integer" }, @@ -5036,7 +5027,7 @@ const docTemplate = `{ "ppid": { "type": "integer" }, - "start_time": { + "started": { "type": "integer" }, "state": { @@ -5196,9 +5187,6 @@ const docTemplate = `{ "$ref": "#/definitions/Step" } }, - "end_time": { - "type": "integer" - }, "environ": { "type": "object", "additionalProperties": { @@ -5208,6 +5196,9 @@ const docTemplate = `{ "error": { "type": "string" }, + "finished": { + "type": "integer" + }, "id": { "type": "integer" }, @@ -5223,7 +5214,7 @@ const docTemplate = `{ "platform": { "type": "string" }, - "start_time": { + "started": { "type": "integer" }, "state": { diff --git a/docs/docs/91-migrations.md b/docs/docs/91-migrations.md index 33b716173..d9af52e34 100644 --- a/docs/docs/91-migrations.md +++ b/docs/docs/91-migrations.md @@ -25,6 +25,7 @@ Some versions need some changes to the server configuration or the pipeline conf - Deprecated `environment` filter, use `when.evaluate` - Removed `WOODPECKER_WEBHOOK_HOST` in favor of `WOODPECKER_EXPERT_WEBHOOK_HOST` - Migrated to rfc9421 for webhook signatures +- Renamed `start_time`, `end_time`, `created_at`, `started_at`, `finished_at` and `reviewed_at` JSON fields to `started`, `finished`, `created`, `started`, `finished`, `reviewed` ## 2.0.0 diff --git a/server/model/cron.go b/server/model/cron.go index fb72665c7..cdce73ef3 100644 --- a/server/model/cron.go +++ b/server/model/cron.go @@ -21,14 +21,14 @@ import ( ) type Cron struct { - ID int64 `json:"id" xorm:"pk autoincr 'id'"` - Name string `json:"name" xorm:"name UNIQUE(s) INDEX"` - RepoID int64 `json:"repo_id" xorm:"repo_id UNIQUE(s) INDEX"` - CreatorID int64 `json:"creator_id" xorm:"creator_id INDEX"` - NextExec int64 `json:"next_exec" xorm:"next_exec"` - Schedule string `json:"schedule" xorm:"schedule NOT NULL"` // @weekly, 3min, ... - Created int64 `json:"created_at" xorm:"created NOT NULL DEFAULT 0"` // TODO change JSON field to "created" in 3.0 - Branch string `json:"branch" xorm:"branch"` + ID int64 `json:"id" xorm:"pk autoincr 'id'"` + Name string `json:"name" xorm:"name UNIQUE(s) INDEX"` + RepoID int64 `json:"repo_id" xorm:"repo_id UNIQUE(s) INDEX"` + CreatorID int64 `json:"creator_id" xorm:"creator_id INDEX"` + NextExec int64 `json:"next_exec" xorm:"next_exec"` + Schedule string `json:"schedule" xorm:"schedule NOT NULL"` // @weekly, 3min, ... + Created int64 `json:"created" xorm:"created NOT NULL DEFAULT 0"` + Branch string `json:"branch" xorm:"branch"` } // @name Cron // TableName returns the database table name for xorm. diff --git a/server/model/feed.go b/server/model/feed.go index 0dd4b5d3a..04357fc4e 100644 --- a/server/model/feed.go +++ b/server/model/feed.go @@ -22,9 +22,9 @@ type Feed struct { Number int64 `json:"number,omitempty" xorm:"pipeline_number"` Event string `json:"event,omitempty" xorm:"pipeline_event"` Status string `json:"status,omitempty" xorm:"pipeline_status"` - Created int64 `json:"created_at,omitempty" xorm:"pipeline_created"` // TODO change JSON field to "created" in 3.0 - Started int64 `json:"started_at,omitempty" xorm:"pipeline_started"` // TODO change JSON field to "started" in 3.0 - Finished int64 `json:"finished_at,omitempty" xorm:"pipeline_finished"` // TODO change JSON field to "finished" in 3.0 + Created int64 `json:"created,omitempty" xorm:"pipeline_created"` + Started int64 `json:"started,omitempty" xorm:"pipeline_started"` + Finished int64 `json:"finished,omitempty" xorm:"pipeline_finished"` Commit string `json:"commit,omitempty" xorm:"pipeline_commit"` Branch string `json:"branch,omitempty" xorm:"pipeline_branch"` Ref string `json:"ref,omitempty" xorm:"pipeline_ref"` diff --git a/server/model/pipeline.go b/server/model/pipeline.go index 5106308de..a073ad15f 100644 --- a/server/model/pipeline.go +++ b/server/model/pipeline.go @@ -28,10 +28,10 @@ type Pipeline struct { Event WebhookEvent `json:"event" xorm:"event"` Status StatusValue `json:"status" xorm:"INDEX 'status'"` Errors []*types.PipelineError `json:"errors" xorm:"json 'errors'"` - Created int64 `json:"created_at" xorm:"'created' NOT NULL DEFAULT 0 created"` // TODO change JSON field to "created" in 3.0 - Updated int64 `json:"updated_at" xorm:"'updated' NOT NULL DEFAULT 0 updated"` // TODO change JSON field to "updated" in 3.0 - Started int64 `json:"started_at" xorm:"started"` // TODO change JSON field to "started" in 3.0 - Finished int64 `json:"finished_at" xorm:"finished"` // TODO change JSON field to "finished" in 3.0 + Created int64 `json:"created" xorm:"'created' NOT NULL DEFAULT 0 created"` + Updated int64 `json:"updated" xorm:"'updated' NOT NULL DEFAULT 0 updated"` + Started int64 `json:"started" xorm:"started"` + Finished int64 `json:"finished" xorm:"finished"` DeployTo string `json:"deploy_to" xorm:"deploy"` DeployTask string `json:"deploy_task" xorm:"deploy_task"` Commit string `json:"commit" xorm:"commit"` @@ -46,7 +46,7 @@ type Pipeline struct { Email string `json:"author_email" xorm:"email"` ForgeURL string `json:"forge_url" xorm:"forge_url"` Reviewer string `json:"reviewed_by" xorm:"reviewer"` - Reviewed int64 `json:"reviewed_at" xorm:"reviewed"` // TODO change JSON field to "reviewed" in 3.0 + Reviewed int64 `json:"reviewed" xorm:"reviewed"` Workflows []*Workflow `json:"workflows,omitempty" xorm:"-"` ChangedFiles []string `json:"changed_files,omitempty" xorm:"LONGTEXT 'changed_files'"` AdditionalVariables map[string]string `json:"variables,omitempty" xorm:"json 'additional_variables'"` diff --git a/server/model/step.go b/server/model/step.go index 97189e733..dba0d3bac 100644 --- a/server/model/step.go +++ b/server/model/step.go @@ -36,8 +36,8 @@ type Step struct { Error string `json:"error,omitempty" xorm:"TEXT 'error'"` Failure string `json:"-" xorm:"failure"` ExitCode int `json:"exit_code" xorm:"exit_code"` - Started int64 `json:"start_time,omitempty" xorm:"started"` - Finished int64 `json:"end_time,omitempty" xorm:"stopped"` + Started int64 `json:"started,omitempty" xorm:"started"` + Finished int64 `json:"finished,omitempty" xorm:"finished"` Type StepType `json:"type,omitempty" xorm:"type"` } // @name Step diff --git a/server/model/workflow.go b/server/model/workflow.go index 7efd5f151..e6029ab69 100644 --- a/server/model/workflow.go +++ b/server/model/workflow.go @@ -23,8 +23,8 @@ type Workflow struct { Name string `json:"name" xorm:"name"` State StatusValue `json:"state" xorm:"state"` Error string `json:"error,omitempty" xorm:"TEXT 'error'"` - Started int64 `json:"start_time,omitempty" xorm:"started"` - Finished int64 `json:"end_time,omitempty" xorm:"stopped"` + Started int64 `json:"started,omitempty" xorm:"started"` + Finished int64 `json:"finished,omitempty" xorm:"finished"` AgentID int64 `json:"agent_id,omitempty" xorm:"agent_id"` Platform string `json:"platform,omitempty" xorm:"platform"` Environ map[string]string `json:"environ,omitempty" xorm:"json 'environ'"` diff --git a/server/store/datastore/migration/034_rename_start_end_time.go b/server/store/datastore/migration/034_rename_start_end_time.go new file mode 100644 index 000000000..2bc968f6b --- /dev/null +++ b/server/store/datastore/migration/034_rename_start_end_time.go @@ -0,0 +1,59 @@ +// Copyright 2024 Woodpecker Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package migration + +import ( + "fmt" + + "src.techknowlogick.com/xormigrate" + "xorm.io/xorm" +) + +type stepV033 struct { + Finished int64 `xorm:"stopped"` +} + +func (stepV033) TableName() string { + return "steps" +} + +type workflowV033 struct { + Finished int64 `xorm:"stopped"` +} + +func (workflowV033) TableName() string { + return "workflows" +} + +var renameStartEndTime = xormigrate.Migration{ + ID: "rename-start-end-time", + MigrateSession: func(sess *xorm.Session) (err error) { + if err := sess.Sync(new(stepV033), new(workflowV033)); err != nil { + return fmt.Errorf("sync models failed: %w", err) + } + + // Step + if err := renameColumn(sess, "steps", "stopped", "finished"); err != nil { + return err + } + + // Workflow + if err := renameColumn(sess, "workflows", "stopped", "finished"); err != nil { + return err + } + + return nil + }, +} diff --git a/server/store/datastore/migration/migration.go b/server/store/datastore/migration/migration.go index a2a42b96b..da9b1f732 100644 --- a/server/store/datastore/migration/migration.go +++ b/server/store/datastore/migration/migration.go @@ -64,6 +64,7 @@ var migrationTasks = []*xormigrate.Migration{ &unifyColumnsTables, &alterTableRegistriesFixRequiredFields, &cronWithoutSec, + &renameStartEndTime, } var allBeans = []any{ diff --git a/web/src/components/repo/pipeline/PipelineLog.vue b/web/src/components/repo/pipeline/PipelineLog.vue index 3a9bca987..5fa128cb6 100644 --- a/web/src/components/repo/pipeline/PipelineLog.vue +++ b/web/src/components/repo/pipeline/PipelineLog.vue @@ -13,7 +13,7 @@
{{ $t('repo.pipeline.actions.canceled') }} - {{ $t('repo.pipeline.step_not_started') }} + {{ $t('repo.pipeline.step_not_started') }}
{{ $t('repo.pipeline.loading') }}
{{ $t('repo.pipeline.no_logs') }}
@@ -350,7 +350,7 @@ watch(stepSlug, async () => { watch(step, async (newStep, oldStep) => { if (oldStep?.name === newStep?.name) { - if (oldStep?.end_time !== newStep?.end_time && autoScroll.value) { + if (oldStep?.finished !== newStep?.finished && autoScroll.value) { scrollDown(); } diff --git a/web/src/components/repo/pipeline/PipelineStepDuration.vue b/web/src/components/repo/pipeline/PipelineStepDuration.vue index 8fd6e03d3..0b79a4bd1 100644 --- a/web/src/components/repo/pipeline/PipelineStepDuration.vue +++ b/web/src/components/repo/pipeline/PipelineStepDuration.vue @@ -19,8 +19,8 @@ const workflow = toRef(props, 'workflow'); const { durationAsNumber } = useDate(); const durationRaw = computed(() => { - const start = (step.value ? step.value?.start_time : workflow.value?.start_time) || 0; - const end = (step.value ? step.value?.end_time : workflow.value?.end_time) || 0; + const start = (step.value ? step.value?.started : workflow.value?.started) || 0; + const end = (step.value ? step.value?.finished : workflow.value?.finished) || 0; if (end === 0 && start === 0) { return undefined; @@ -43,5 +43,5 @@ const duration = computed(() => { return durationAsNumber(durationElapsed.value || 0); }); -const started = computed(() => (step.value ? step.value?.start_time : workflow.value?.start_time) !== undefined); +const started = computed(() => (step.value ? step.value?.started : workflow.value?.started) !== undefined); diff --git a/web/src/components/repo/pipeline/PipelineStepList.vue b/web/src/components/repo/pipeline/PipelineStepList.vue index 18e117a4c..50006de25 100644 --- a/web/src/components/repo/pipeline/PipelineStepList.vue +++ b/web/src/components/repo/pipeline/PipelineStepList.vue @@ -82,7 +82,7 @@ {{ workflow.name }} diff --git a/web/src/compositions/usePipeline.ts b/web/src/compositions/usePipeline.ts index d02409fdb..b4c8a6804 100644 --- a/web/src/compositions/usePipeline.ts +++ b/web/src/compositions/usePipeline.ts @@ -14,7 +14,7 @@ export default (pipeline: Ref) => { return undefined; } - const start = pipeline.value.created_at || 0; + const start = pipeline.value.created || 0; return start * 1000; }); @@ -44,8 +44,8 @@ export default (pipeline: Ref) => { return undefined; } - const start = pipeline.value.started_at || 0; - const end = pipeline.value.finished_at || pipeline.value.updated_at || 0; + const start = pipeline.value.started || 0; + const end = pipeline.value.finished || pipeline.value.updated || 0; if (start === 0 || end === 0) { return 0; @@ -109,7 +109,7 @@ export default (pipeline: Ref) => { return undefined; } - const start = pipeline.value.created_at || 0; + const start = pipeline.value.created || 0; return toLocaleString(new Date(start * 1000)); }); diff --git a/web/src/lib/api/types/pipeline.ts b/web/src/lib/api/types/pipeline.ts index 18b784e6d..2ca9ccf0d 100644 --- a/web/src/lib/api/types/pipeline.ts +++ b/web/src/lib/api/types/pipeline.ts @@ -25,16 +25,16 @@ export interface Pipeline { errors?: PipelineError[]; // When the pipeline request was received. - created_at: number; + created: number; // When the pipeline was updated last time in database. - updated_at: number; + updated: number; // When the pipeline began execution. - started_at: number; + started: number; // When the pipeline was finished. - finished_at: number; + finished: number; // Where the deployment should go. deploy_to: string; @@ -76,13 +76,9 @@ export interface Pipeline { // This url will point to the repository state associated with the pipeline's commit. forge_url: string; - signed: boolean; - - verified: boolean; - reviewed_by: string; - reviewed_at: number; + reviewed: number; // The steps associated with this pipeline. // A pipeline will have multiple steps if a matrix pipeline was used or if a rebuild was requested. @@ -110,8 +106,8 @@ export interface PipelineWorkflow { name: string; state: PipelineStatus; environ?: Record; - start_time?: number; - end_time?: number; + started?: number; + finished?: number; agent_id?: number; error?: string; children: PipelineStep[]; @@ -126,8 +122,8 @@ export interface PipelineStep { name: string; state: PipelineStatus; exit_code: number; - start_time?: number; - end_time?: number; + started?: number; + finished?: number; error?: string; type?: StepType; } diff --git a/web/src/utils/helpers.ts b/web/src/utils/helpers.ts index ecd2b47f2..2efb9818b 100644 --- a/web/src/utils/helpers.ts +++ b/web/src/utils/helpers.ts @@ -46,7 +46,7 @@ export function isStepRunning(step: PipelineStep): boolean { * @returns {number} 0 if created at the same time, < 0 if b was create before a, > 0 otherwise */ export function comparePipelines(a: Pipeline, b: Pipeline): number { - return (b.created_at || -1) - (a.created_at || -1); + return (b.created || -1) - (a.created || -1); } /** diff --git a/woodpecker-go/woodpecker/types.go b/woodpecker-go/woodpecker/types.go index b9622ddb6..09bf183ca 100644 --- a/woodpecker-go/woodpecker/types.go +++ b/woodpecker-go/woodpecker/types.go @@ -69,35 +69,32 @@ type ( // Pipeline defines a pipeline object. Pipeline struct { - ID int64 `json:"id"` - Number int64 `json:"number"` - Parent int64 `json:"parent"` - Event string `json:"event"` - Status string `json:"status"` - Errors []*PipelineError `json:"errors"` - // Deprecated TODO remove in 3.x - Enqueued int64 `json:"enqueued_at"` - Created int64 `json:"created_at"` - Updated int64 `json:"updated_at"` - Started int64 `json:"started_at"` - Finished int64 `json:"finished_at"` - Deploy string `json:"deploy_to"` - Commit string `json:"commit"` - Branch string `json:"branch"` - Ref string `json:"ref"` - Refspec string `json:"refspec"` - CloneURL string `json:"clone_url"` - Title string `json:"title"` - Message string `json:"message"` - Timestamp int64 `json:"timestamp"` - Sender string `json:"sender"` - Author string `json:"author"` - Avatar string `json:"author_avatar"` - Email string `json:"author_email"` - ForgeURL string `json:"forge_url"` - Reviewer string `json:"reviewed_by"` - Reviewed int64 `json:"reviewed_at"` - Workflows []*Workflow `json:"workflows,omitempty"` + ID int64 `json:"id"` + Number int64 `json:"number"` + Parent int64 `json:"parent"` + Event string `json:"event"` + Status string `json:"status"` + Errors []*PipelineError `json:"errors"` + Created int64 `json:"created_at"` + Updated int64 `json:"updated_at"` + Started int64 `json:"started_at"` + Finished int64 `json:"finished_at"` + Deploy string `json:"deploy_to"` + Commit string `json:"commit"` + Branch string `json:"branch"` + Ref string `json:"ref"` + Refspec string `json:"refspec"` + Title string `json:"title"` + Message string `json:"message"` + Timestamp int64 `json:"timestamp"` + Sender string `json:"sender"` + Author string `json:"author"` + Avatar string `json:"author_avatar"` + Email string `json:"author_email"` + ForgeURL string `json:"forge_url"` + Reviewer string `json:"reviewed_by"` + Reviewed int64 `json:"reviewed_at"` + Workflows []*Workflow `json:"workflows,omitempty"` } // Workflow represents a workflow in the pipeline. @@ -137,10 +134,6 @@ type ( Address string `json:"address"` Username string `json:"username"` Password string `json:"password,omitempty"` - // Deprecated - Email string `json:"email"` // TODO: remove in 3.x - // Deprecated - Token string `json:"token"` // TODO: remove in 3.x } // Secret represents a secret variable, such as a password or token. @@ -161,9 +154,9 @@ type ( Number int64 `json:"number,omitempty"` Event string `json:"event,omitempty"` Status string `json:"status,omitempty"` - Created int64 `json:"created_at,omitempty"` - Started int64 `json:"started_at,omitempty"` - Finished int64 `json:"finished_at,omitempty"` + Created int64 `json:"created,omitempty"` + Started int64 `json:"started,omitempty"` + Finished int64 `json:"finished,omitempty"` Commit string `json:"commit,omitempty"` Branch string `json:"branch,omitempty"` Ref string `json:"ref,omitempty"` @@ -183,31 +176,21 @@ type ( Commit string `json:"commit,omitempty"` } - //nolint:godot - // TODO: use dedicated struct in 3.x - // QueueStats struct { - // Workers int `json:"worker_count"` - // Pending int `json:"pending_count"` - // WaitingOnDeps int `json:"waiting_on_deps_count"` - // Running int `json:"running_count"` - // Complete int `json:"completed_count"` - // } + QueueStats struct { + Workers int `json:"worker_count"` + Pending int `json:"pending_count"` + WaitingOnDeps int `json:"waiting_on_deps_count"` + Running int `json:"running_count"` + Complete int `json:"completed_count"` + } // Info provides queue stats. Info struct { - Pending []Task `json:"pending"` - WaitingOnDeps []Task `json:"waiting_on_deps"` - Running []Task `json:"running"` - // TODO: use dedicated struct in 3.x - // Stats QueueStats `json:"stats"` - Stats struct { - Workers int `json:"worker_count"` - Pending int `json:"pending_count"` - WaitingOnDeps int `json:"waiting_on_deps_count"` - Running int `json:"running_count"` - Complete int `json:"completed_count"` - } `json:"stats"` - Paused bool `json:"paused,omitempty"` + Pending []Task `json:"pending"` + WaitingOnDeps []Task `json:"waiting_on_deps"` + Running []Task `json:"running"` + Stats QueueStats `json:"stats"` + Paused bool `json:"paused,omitempty"` } // LogLevel is for checking/setting logging level. @@ -233,7 +216,7 @@ type ( CreatorID int64 `json:"creator_id"` NextExec int64 `json:"next_exec"` Schedule string `json:"schedule"` - Created int64 `json:"created_at"` + Created int64 `json:"created"` Branch string `json:"branch"` } From 6c9469f610c9e060d84cd4c5fd2dd46f6bfeb2ea Mon Sep 17 00:00:00 2001 From: Thomas Anderson <127358482+zc-devs@users.noreply.github.com> Date: Wed, 7 Aug 2024 13:04:10 +0300 Subject: [PATCH 081/547] Improved Local backend detection (#4006) Co-authored-by: 6543 <6543@obermui.de> --- docker/Dockerfile.agent.alpine.multiarch | 2 ++ docker/Dockerfile.agent.multiarch | 2 ++ pipeline/backend/local/local.go | 5 ++++- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/docker/Dockerfile.agent.alpine.multiarch b/docker/Dockerfile.agent.alpine.multiarch index c15d113f8..d873a683e 100644 --- a/docker/Dockerfile.agent.alpine.multiarch +++ b/docker/Dockerfile.agent.alpine.multiarch @@ -10,6 +10,8 @@ RUN --mount=type=cache,target=/root/.cache/go-build \ FROM docker.io/alpine:3.20 RUN apk add -U --no-cache ca-certificates ENV GODEBUG=netdns=go +# Internal setting do NOT change! Signals that woodpecker is running inside a container +ENV WOODPECKER_IN_CONTAINER=true EXPOSE 3000 COPY --from=build /src/dist/woodpecker-agent /bin/ diff --git a/docker/Dockerfile.agent.multiarch b/docker/Dockerfile.agent.multiarch index 6349a3d50..52a58a0cf 100644 --- a/docker/Dockerfile.agent.multiarch +++ b/docker/Dockerfile.agent.multiarch @@ -10,6 +10,8 @@ RUN mkdir -p /etc/woodpecker FROM scratch ENV GODEBUG=netdns=go +# Internal setting do NOT change! Signals that woodpecker is running inside a container +ENV WOODPECKER_IN_CONTAINER=true EXPOSE 3000 # copy certs from build image diff --git a/pipeline/backend/local/local.go b/pipeline/backend/local/local.go index 3ea42ba0f..fc7c0420a 100644 --- a/pipeline/backend/local/local.go +++ b/pipeline/backend/local/local.go @@ -63,7 +63,10 @@ func (e *local) Name() string { } func (e *local) IsAvailable(context.Context) bool { - return true + _, inContainer := os.LookupEnv("WOODPECKER_IN_CONTAINER") + // note: we don't need to check by args as this would indicate we are not in an container anyway ... + backend := os.Getenv("WOODPECKER_BACKEND") + return backend == "local" || !inContainer } func (e *local) Flags() []cli.Flag { From b0fe208399eb0d6b803f1d09856547d7cea910eb Mon Sep 17 00:00:00 2001 From: qwerty287 <80460567+qwerty287@users.noreply.github.com> Date: Wed, 7 Aug 2024 18:47:13 +0200 Subject: [PATCH 082/547] Show error returned from API (#3980) --- web/src/compositions/useAsyncAction.ts | 14 ++++++++------ web/src/lib/api/client.ts | 9 +++++++-- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/web/src/compositions/useAsyncAction.ts b/web/src/compositions/useAsyncAction.ts index 663c080bf..09098e9bd 100644 --- a/web/src/compositions/useAsyncAction.ts +++ b/web/src/compositions/useAsyncAction.ts @@ -1,10 +1,9 @@ import { computed, ref } from 'vue'; -import useNotifications from '~/compositions/useNotifications'; - -const notifications = useNotifications(); - -export function useAsyncAction(action: (...a: T) => void | Promise) { +export function useAsyncAction( + action: (...a: T) => void | Promise, + onerror: ((error: any) => void) | undefined = undefined, +) { const isLoading = ref(false); async function doSubmit(...a: T) { @@ -16,7 +15,10 @@ export function useAsyncAction(action: (...a: T) => void | try { await action(...a); } catch (error) { - notifications.notify({ title: (error as Error).message, type: 'error' }); + console.error(error); + if (onerror) { + onerror(error); + } } isLoading.value = false; } diff --git a/web/src/lib/api/client.ts b/web/src/lib/api/client.ts index 1fd5741fd..887314654 100644 --- a/web/src/lib/api/client.ts +++ b/web/src/lib/api/client.ts @@ -52,14 +52,19 @@ export default class ApiClient { }); if (!res.ok) { + let message = res.statusText; + const resText = await res.text(); + if (resText) { + message = `${res.statusText}: ${resText}`; + } const error: ApiError = { status: res.status, - message: res.statusText, + message, }; if (this.onerror) { this.onerror(error); } - throw new Error(res.statusText); + throw new Error(message); } const contentType = res.headers.get('Content-Type'); From c0b1d6aaa49d8a2a278cf4b6e52c380e06fda0d2 Mon Sep 17 00:00:00 2001 From: qwerty287 <80460567+qwerty287@users.noreply.github.com> Date: Wed, 7 Aug 2024 21:11:55 +0200 Subject: [PATCH 083/547] Allow using args in container (#4011) --- pipeline/backend/local/local.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pipeline/backend/local/local.go b/pipeline/backend/local/local.go index fc7c0420a..5e11f68f0 100644 --- a/pipeline/backend/local/local.go +++ b/pipeline/backend/local/local.go @@ -62,11 +62,14 @@ func (e *local) Name() string { return "local" } -func (e *local) IsAvailable(context.Context) bool { +func (e *local) IsAvailable(ctx context.Context) bool { + if c, ok := ctx.Value(types.CliCommand).(*cli.Command); ok { + if c.String("backend-engine") == e.Name() { + return true + } + } _, inContainer := os.LookupEnv("WOODPECKER_IN_CONTAINER") - // note: we don't need to check by args as this would indicate we are not in an container anyway ... - backend := os.Getenv("WOODPECKER_BACKEND") - return backend == "local" || !inContainer + return !inContainer } func (e *local) Flags() []cli.Flag { From 107564f54c74532acf11768be44e52a1e497a276 Mon Sep 17 00:00:00 2001 From: qwerty287 <80460567+qwerty287@users.noreply.github.com> Date: Thu, 8 Aug 2024 00:26:50 +0200 Subject: [PATCH 084/547] Show error if secret name is missing (#4014) --- cli/secret/secret_info.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cli/secret/secret_info.go b/cli/secret/secret_info.go index 4f69cbada..f645741b9 100644 --- a/cli/secret/secret_info.go +++ b/cli/secret/secret_info.go @@ -16,6 +16,7 @@ package secret import ( "context" + "fmt" "html/template" "os" @@ -51,6 +52,11 @@ func secretInfo(ctx context.Context, c *cli.Command) error { secretName = c.String("name") format = c.String("format") + "\n" ) + + if secretName == "" { + return fmt.Errorf("secret name is missing") + } + client, err := internal.NewClient(ctx, c) if err != nil { return err From 1156c22cd1b32ebba5fc3eec9aa459d1da0665b3 Mon Sep 17 00:00:00 2001 From: qwerty287 <80460567+qwerty287@users.noreply.github.com> Date: Thu, 8 Aug 2024 07:35:43 +0200 Subject: [PATCH 085/547] Update gitea sdk (#4012) --- go.mod | 12 ++++++------ go.sum | 24 ++++++++++++------------ 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/go.mod b/go.mod index fe13b7995..a3cb369b4 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ toolchain go1.22.5 require ( al.essio.dev/pkg/shellescape v1.5.0 - code.gitea.io/sdk/gitea v0.18.0 + code.gitea.io/sdk/gitea v0.19.0 codeberg.org/6543/go-yaml2json v1.0.0 codeberg.org/6543/xyaml v1.1.0 codeberg.org/mvdkleijn/forgejo-sdk/forgejo v1.1.1 @@ -62,12 +62,12 @@ require ( github.com/yaronf/httpsign v0.3.1 github.com/zalando/go-keyring v0.2.5 go.uber.org/multierr v1.11.0 - golang.org/x/crypto v0.25.0 + golang.org/x/crypto v0.26.0 golang.org/x/net v0.27.0 golang.org/x/oauth2 v0.21.0 - golang.org/x/sync v0.7.0 - golang.org/x/term v0.22.0 - golang.org/x/text v0.16.0 + golang.org/x/sync v0.8.0 + golang.org/x/term v0.23.0 + golang.org/x/text v0.17.0 google.golang.org/grpc v1.65.0 google.golang.org/protobuf v1.34.2 gopkg.in/yaml.v3 v3.0.1 @@ -205,7 +205,7 @@ require ( go.uber.org/zap v1.27.0 // indirect golang.org/x/arch v0.8.0 // indirect golang.org/x/mod v0.17.0 // indirect - golang.org/x/sys v0.22.0 // indirect + golang.org/x/sys v0.23.0 // indirect golang.org/x/time v0.5.0 // indirect golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240722135656-d784300faade // indirect diff --git a/go.sum b/go.sum index 0a723d15e..2be075586 100644 --- a/go.sum +++ b/go.sum @@ -1,7 +1,7 @@ al.essio.dev/pkg/shellescape v1.5.0 h1:7oTvSsQ5kg9WksA9O58y9wjYnY4jP0CL82/Q8WLUGKk= al.essio.dev/pkg/shellescape v1.5.0/go.mod h1:6sIqp7X2P6mThCQ7twERpZTuigpr6KbZWtls1U8I890= -code.gitea.io/sdk/gitea v0.18.0 h1:+zZrwVmujIrgobt6wVBWCqITz6bn1aBjnCUHmpZrerI= -code.gitea.io/sdk/gitea v0.18.0/go.mod h1:IG9xZJoltDNeDSW0qiF2Vqx5orMWa7OhVWrjvrd5NpI= +code.gitea.io/sdk/gitea v0.19.0 h1:8I6s1s4RHgzxiPHhOQdgim1RWIRcr0LVMbHBjBFXq4Y= +code.gitea.io/sdk/gitea v0.19.0/go.mod h1:IG9xZJoltDNeDSW0qiF2Vqx5orMWa7OhVWrjvrd5NpI= codeberg.org/6543/go-yaml2json v1.0.0 h1:heGqo9VEi7gY2yNqjj7X4ADs5nzlFIbGsJtgYDLrnig= codeberg.org/6543/go-yaml2json v1.0.0/go.mod h1:mz61q14LWF4ZABrgMEDMmk3t9dPi6zgR1uBh2VKV2RQ= codeberg.org/6543/xyaml v1.1.0 h1:0PWTy8OUqshshjrrnAXFWXSPUEa8R49DIh2ah07SxFc= @@ -599,8 +599,8 @@ golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= -golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30= -golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M= +golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= +golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= golang.org/x/exp v0.0.0-20231006140011-7918f672742d h1:jtJma62tbqLibJ5sFQz8bKtEM8rJBtfilJ2qTU199MI= golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo= golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -633,8 +633,8 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= -golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= +golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -664,14 +664,14 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= -golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.23.0 h1:YfKFowiIMvtgl1UERQoTPPToxltDeZfbj4H7dVUCwmM= +golang.org/x/sys v0.23.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.22.0 h1:BbsgPEJULsl2fV/AT3v15Mjva5yXKQDyKf+TbDz7QJk= -golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4= +golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= +golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -679,8 +679,8 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= From 0d9e57d3da4c499b670ca4f8fc4f0f7e22a15449 Mon Sep 17 00:00:00 2001 From: qwerty287 <80460567+qwerty287@users.noreply.github.com> Date: Thu, 8 Aug 2024 07:50:38 +0200 Subject: [PATCH 086/547] Drop repo name fallback for hooks (#4013) --- docs/docs/91-migrations.md | 10 ++-------- server/api/hook.go | 9 +++------ 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/docs/docs/91-migrations.md b/docs/docs/91-migrations.md index d9af52e34..9e8603be8 100644 --- a/docs/docs/91-migrations.md +++ b/docs/docs/91-migrations.md @@ -2,14 +2,6 @@ Some versions need some changes to the server configuration or the pipeline configuration files. - - ## `next` - Removed `WOODPECKER_DEV_OAUTH_HOST` and `WOODPECKER_DEV_GITEA_OAUTH_URL` use `WOODPECKER_EXPERT_FORGE_OAUTH_HOST` @@ -26,6 +18,8 @@ Some versions need some changes to the server configuration or the pipeline conf - Removed `WOODPECKER_WEBHOOK_HOST` in favor of `WOODPECKER_EXPERT_WEBHOOK_HOST` - Migrated to rfc9421 for webhook signatures - Renamed `start_time`, `end_time`, `created_at`, `started_at`, `finished_at` and `reviewed_at` JSON fields to `started`, `finished`, `created`, `started`, `finished`, `reviewed` +- Update all webhooks by pressing the "Repair all" button in the admin settings as the webhook token claims have changed +- Crons now use standard Linux syntax without seconds ## 2.0.0 diff --git a/server/api/hook.go b/server/api/hook.go index 654acc93d..713fca39b 100644 --- a/server/api/hook.go +++ b/server/api/hook.go @@ -250,11 +250,8 @@ func PostHook(c *gin.Context) { func getRepoFromToken(store store.Store, t *token.Token) (*model.Repo, error) { // try to get the repo by the repo-id repoID, err := strconv.ParseInt(t.Get("repo-id"), 10, 64) - if err == nil { - return store.GetRepo(repoID) + if err != nil { + return nil, err } - - // try to get the repo by the repo name or by its redirection - repoName := t.Get("text") - return store.GetRepoName(repoName) + return store.GetRepo(repoID) } From df5287bb653e232cc849f5bf61b8bb82d790b1ba Mon Sep 17 00:00:00 2001 From: hg <36822348+hg@users.noreply.github.com> Date: Thu, 8 Aug 2024 22:01:59 +0500 Subject: [PATCH 087/547] Set `CI_PREV_COMMIT_{SOURCE,TARGET}_BRANCH` as mentioned in the documentation (#4001) --- .../frontend/metadata/drone_compatibility_test.go | 2 ++ pipeline/frontend/metadata/environment.go | 15 ++++++++++++--- server/pipeline/stepbuilder/metadata_test.go | 4 ++-- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/pipeline/frontend/metadata/drone_compatibility_test.go b/pipeline/frontend/metadata/drone_compatibility_test.go index 2e06fdabf..228c87b0a 100644 --- a/pipeline/frontend/metadata/drone_compatibility_test.go +++ b/pipeline/frontend/metadata/drone_compatibility_test.go @@ -151,6 +151,8 @@ CI_PREV_COMMIT_REF=refs/heads/main CI_PREV_COMMIT_REFSPEC= CI_PREV_COMMIT_SHA=8826c98181353075bbeee8f99b400496488e3523 CI_PREV_COMMIT_URL=http://1.2.3.4:3000/test/woodpecker-test/commit/8826c98181353075bbeee8f99b400496488e3523 +CI_PREV_COMMIT_SOURCE_BRANCH= +CI_PREV_COMMIT_TARGET_BRANCH= CI_PREV_PIPELINE_CREATED=1721086039 CI_PREV_PIPELINE_DEPLOY_TARGET= CI_PREV_PIPELINE_DEPLOY_TASK= diff --git a/pipeline/frontend/metadata/environment.go b/pipeline/frontend/metadata/environment.go index ccb4396b8..9b0cf1656 100644 --- a/pipeline/frontend/metadata/environment.go +++ b/pipeline/frontend/metadata/environment.go @@ -30,19 +30,26 @@ var ( maxChangedFiles = 500 ) -// Environ returns the metadata as a map of environment variables. -func (m *Metadata) Environ() map[string]string { +func getSourceTargetBranches(refspec string) (string, string) { var ( sourceBranch string targetBranch string ) - branchParts := strings.Split(m.Curr.Commit.Refspec, ":") + branchParts := strings.Split(refspec, ":") if len(branchParts) == 2 { //nolint:mnd sourceBranch = branchParts[0] targetBranch = branchParts[1] } + return sourceBranch, targetBranch +} + +// Environ returns the metadata as a map of environment variables. +func (m *Metadata) Environ() map[string]string { + sourceBranch, targetBranch := getSourceTargetBranches(m.Curr.Commit.Refspec) + prevSourceBranch, prevTargetBranch := getSourceTargetBranches(m.Prev.Commit.Refspec) + params := map[string]string{ "CI": m.Sys.Name, "CI_REPO": path.Join(m.Repo.Owner, m.Repo.Name), @@ -102,6 +109,8 @@ func (m *Metadata) Environ() map[string]string { "CI_PREV_COMMIT_AUTHOR": m.Prev.Commit.Author.Name, "CI_PREV_COMMIT_AUTHOR_EMAIL": m.Prev.Commit.Author.Email, "CI_PREV_COMMIT_AUTHOR_AVATAR": m.Prev.Commit.Author.Avatar, + "CI_PREV_COMMIT_SOURCE_BRANCH": prevSourceBranch, + "CI_PREV_COMMIT_TARGET_BRANCH": prevTargetBranch, "CI_PREV_PIPELINE_NUMBER": strconv.FormatInt(m.Prev.Number, 10), "CI_PREV_PIPELINE_PARENT": strconv.FormatInt(m.Prev.Parent, 10), diff --git a/server/pipeline/stepbuilder/metadata_test.go b/server/pipeline/stepbuilder/metadata_test.go index a0d451425..af8978e27 100644 --- a/server/pipeline/stepbuilder/metadata_test.go +++ b/server/pipeline/stepbuilder/metadata_test.go @@ -49,7 +49,7 @@ func TestMetadataFromStruct(t *testing.T) { "CI_COMMIT_TAG": "", "CI_COMMIT_TARGET_BRANCH": "", "CI_COMMIT_URL": "", "CI_FORGE_TYPE": "", "CI_FORGE_URL": "", "CI_PIPELINE_CREATED": "0", "CI_PIPELINE_DEPLOY_TARGET": "", "CI_PIPELINE_DEPLOY_TASK": "", "CI_PIPELINE_EVENT": "", "CI_PIPELINE_FINISHED": "0", "CI_PIPELINE_FILES": "[]", "CI_PIPELINE_NUMBER": "0", "CI_PIPELINE_PARENT": "0", "CI_PIPELINE_STARTED": "0", "CI_PIPELINE_STATUS": "", "CI_PIPELINE_URL": "/repos/0/pipeline/0", "CI_PIPELINE_FORGE_URL": "", - "CI_PREV_COMMIT_AUTHOR": "", "CI_PREV_COMMIT_AUTHOR_AVATAR": "", "CI_PREV_COMMIT_AUTHOR_EMAIL": "", "CI_PREV_COMMIT_BRANCH": "", + "CI_PREV_COMMIT_AUTHOR": "", "CI_PREV_COMMIT_AUTHOR_AVATAR": "", "CI_PREV_COMMIT_AUTHOR_EMAIL": "", "CI_PREV_COMMIT_BRANCH": "", "CI_PREV_COMMIT_SOURCE_BRANCH": "", "CI_PREV_COMMIT_TARGET_BRANCH": "", "CI_PREV_COMMIT_MESSAGE": "", "CI_PREV_COMMIT_REF": "", "CI_PREV_COMMIT_REFSPEC": "", "CI_PREV_COMMIT_SHA": "", "CI_PREV_COMMIT_URL": "", "CI_PREV_PIPELINE_CREATED": "0", "CI_PREV_PIPELINE_DEPLOY_TARGET": "", "CI_PREV_PIPELINE_DEPLOY_TASK": "", "CI_PREV_PIPELINE_EVENT": "", "CI_PREV_PIPELINE_FINISHED": "0", "CI_PREV_PIPELINE_NUMBER": "0", "CI_PREV_PIPELINE_PARENT": "0", "CI_PREV_PIPELINE_STARTED": "0", "CI_PREV_PIPELINE_STATUS": "", "CI_PREV_PIPELINE_URL": "/repos/0/pipeline/0", "CI_PREV_PIPELINE_FORGE_URL": "", "CI_REPO": "", "CI_REPO_CLONE_URL": "", "CI_REPO_CLONE_SSH_URL": "", "CI_REPO_DEFAULT_BRANCH": "", "CI_REPO_REMOTE_ID": "", @@ -84,7 +84,7 @@ func TestMetadataFromStruct(t *testing.T) { "CI_COMMIT_TAG": "", "CI_COMMIT_TARGET_BRANCH": "", "CI_COMMIT_URL": "", "CI_FORGE_TYPE": "gitea", "CI_FORGE_URL": "https://gitea.com", "CI_PIPELINE_CREATED": "0", "CI_PIPELINE_DEPLOY_TARGET": "", "CI_PIPELINE_DEPLOY_TASK": "", "CI_PIPELINE_EVENT": "", "CI_PIPELINE_FINISHED": "0", "CI_PIPELINE_FILES": `["test.go","markdown file.md"]`, "CI_PIPELINE_NUMBER": "3", "CI_PIPELINE_PARENT": "0", "CI_PIPELINE_STARTED": "0", "CI_PIPELINE_STATUS": "", "CI_PIPELINE_URL": "https://example.com/repos/0/pipeline/3", "CI_PIPELINE_FORGE_URL": "", - "CI_PREV_COMMIT_AUTHOR": "", "CI_PREV_COMMIT_AUTHOR_AVATAR": "", "CI_PREV_COMMIT_AUTHOR_EMAIL": "", "CI_PREV_COMMIT_BRANCH": "", + "CI_PREV_COMMIT_AUTHOR": "", "CI_PREV_COMMIT_AUTHOR_AVATAR": "", "CI_PREV_COMMIT_AUTHOR_EMAIL": "", "CI_PREV_COMMIT_BRANCH": "", "CI_PREV_COMMIT_SOURCE_BRANCH": "", "CI_PREV_COMMIT_TARGET_BRANCH": "", "CI_PREV_COMMIT_MESSAGE": "", "CI_PREV_COMMIT_REF": "", "CI_PREV_COMMIT_REFSPEC": "", "CI_PREV_COMMIT_SHA": "", "CI_PREV_COMMIT_URL": "", "CI_PREV_PIPELINE_CREATED": "0", "CI_PREV_PIPELINE_DEPLOY_TARGET": "", "CI_PREV_PIPELINE_DEPLOY_TASK": "", "CI_PREV_PIPELINE_EVENT": "", "CI_PREV_PIPELINE_FINISHED": "0", "CI_PREV_PIPELINE_NUMBER": "2", "CI_PREV_PIPELINE_PARENT": "0", "CI_PREV_PIPELINE_STARTED": "0", "CI_PREV_PIPELINE_STATUS": "", "CI_PREV_PIPELINE_URL": "https://example.com/repos/0/pipeline/2", "CI_PREV_PIPELINE_FORGE_URL": "", "CI_REPO": "testUser/testRepo", "CI_REPO_CLONE_URL": "https://gitea.com/testUser/testRepo.git", "CI_REPO_CLONE_SSH_URL": "git@gitea.com:testUser/testRepo.git", From 6ba57bd326bf39afe72ddcbd983b7acffb84e74c Mon Sep 17 00:00:00 2001 From: qwerty287 Date: Wed, 7 Aug 2024 17:31:12 +0000 Subject: [PATCH 088/547] Translated using Weblate (German) Currently translated at 100.0% (331 of 331 strings) Translation: Woodpecker CI/UI Translate-URL: http://translate.woodpecker-ci.org/projects/woodpecker-ci/ui/de/ --- web/src/assets/locales/de.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/web/src/assets/locales/de.json b/web/src/assets/locales/de.json index e8bdab397..8507dd95f 100644 --- a/web/src/assets/locales/de.json +++ b/web/src/assets/locales/de.json @@ -226,7 +226,8 @@ "title": "Zusätzliche Pipeline-Variablen", "value": "Variablenwert", "delete": "Variable löschen" - } + }, + "show_pipelines": "Pipelines anzeigen" }, "not_allowed": "Zugriff auf dieses Repository nicht erlaubt", "open_in_forge": "Repository in der Forge öffnen", @@ -296,7 +297,8 @@ "log_delete_confirm": "Möchtest du die Logs diesen Schrittes wirklich löschen?", "log_delete_error": "Es gab einen Fehler beim Löschen der Logs des Schrittes", "duration": "Pipeline-Dauer", - "created": "Erstellt: {created}" + "created": "Erstellt: {created}", + "no_logs": "Keine Logs" }, "pull_requests": "Pull-Requests", "settings": { From 948201f12c1a08685f3a8423e3b327cbbe78c34c Mon Sep 17 00:00:00 2001 From: Kirill Isakov Date: Wed, 7 Aug 2024 07:38:56 +0000 Subject: [PATCH 089/547] Translated using Weblate (Russian) Currently translated at 100.0% (331 of 331 strings) Translation: Woodpecker CI/UI Translate-URL: http://translate.woodpecker-ci.org/projects/woodpecker-ci/ui/ru/ --- web/src/assets/locales/ru.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/web/src/assets/locales/ru.json b/web/src/assets/locales/ru.json index ef5ea630e..68716b4dc 100644 --- a/web/src/assets/locales/ru.json +++ b/web/src/assets/locales/ru.json @@ -225,7 +225,8 @@ "title": "Дополнительные переменные для конвейера", "value": "Значение переменной", "delete": "Удалить переменную" - } + }, + "show_pipelines": "Показать конвейеры" }, "not_allowed": "У вас нет прав для доступа к этому репозиторию", "open_in_forge": "Открыть репозиторий в платформе разработки", From 92ff3204297082fde0debf7d510ad8b09d73cbc4 Mon Sep 17 00:00:00 2001 From: qwerty287 <80460567+qwerty287@users.noreply.github.com> Date: Fri, 9 Aug 2024 16:50:35 +0200 Subject: [PATCH 090/547] Remove various deprecations (#4017) --- cmd/cli/app.go | 3 -- .../100-external-configuration-api.md | 11 ++-- docs/docs/91-migrations.md | 3 ++ server/api/login.go | 51 ------------------- server/router/api.go | 7 --- server/router/router.go | 1 - server/services/config/http.go | 19 +++---- 7 files changed, 14 insertions(+), 81 deletions(-) diff --git a/cmd/cli/app.go b/cmd/cli/app.go index 4b3fe6698..086914804 100644 --- a/cmd/cli/app.go +++ b/cmd/cli/app.go @@ -29,7 +29,6 @@ import ( "go.woodpecker-ci.org/woodpecker/v2/cli/org" "go.woodpecker-ci.org/woodpecker/v2/cli/pipeline" "go.woodpecker-ci.org/woodpecker/v2/cli/repo" - "go.woodpecker-ci.org/woodpecker/v2/cli/repo/registry" "go.woodpecker-ci.org/woodpecker/v2/cli/secret" "go.woodpecker-ci.org/woodpecker/v2/cli/setup" "go.woodpecker-ci.org/woodpecker/v2/cli/update" @@ -57,8 +56,6 @@ func newApp() *cli.Command { deploy.Command, exec.Command, info.Command, - // TODO: Remove in 3.x - registry.Command, secret.Command, user.Command, lint.Command, diff --git a/docs/docs/30-administration/40-advanced/100-external-configuration-api.md b/docs/docs/30-administration/40-advanced/100-external-configuration-api.md index db112126d..a24abd3bd 100644 --- a/docs/docs/30-administration/40-advanced/100-external-configuration-api.md +++ b/docs/docs/30-administration/40-advanced/100-external-configuration-api.md @@ -81,12 +81,11 @@ WOODPECKER_CONFIG_SERVICE_ENDPOINT=https://example.com/ciconfig "updated_at": 0, "verified": false }, - "configs": [ - { - "name": ".woodpecker.yaml", - "data": "steps:\n - name: backend\n image: alpine\n commands:\n - echo \"Hello there from Repo (.woodpecker.yaml)\"\n" - } - ] + "netrc": { + "machine": "https://example.com", + "login": "user", + "password": "password" + } } ``` diff --git a/docs/docs/91-migrations.md b/docs/docs/91-migrations.md index 9e8603be8..88d4c426d 100644 --- a/docs/docs/91-migrations.md +++ b/docs/docs/91-migrations.md @@ -20,6 +20,9 @@ Some versions need some changes to the server configuration or the pipeline conf - Renamed `start_time`, `end_time`, `created_at`, `started_at`, `finished_at` and `reviewed_at` JSON fields to `started`, `finished`, `created`, `started`, `finished`, `reviewed` - Update all webhooks by pressing the "Repair all" button in the admin settings as the webhook token claims have changed - Crons now use standard Linux syntax without seconds +- Replaced `configs` object by `netrc` in external configuration APIs +- Removed old API routes: `registry/` -> `registries`, `/authorize/token` +- Replaced `registry` command with `repo registry` in cli ## 2.0.0 diff --git a/server/api/login.go b/server/api/login.go index ebe6cf7b3..57bd91eae 100644 --- a/server/api/login.go +++ b/server/api/login.go @@ -297,54 +297,3 @@ func GetLogout(c *gin.Context) { httputil.DelCookie(c.Writer, c.Request, "user_last") c.Redirect(http.StatusSeeOther, server.Config.Server.RootPath+"/") } - -// TODO: remove in 3.0 -func DeprecatedGetLoginToken(c *gin.Context) { - _store := store.FromContext(c) - - _forge, err := server.Config.Services.Manager.ForgeByID(1) - if err != nil { - log.Error().Err(err).Msg("Cannot get main forge") - c.AbortWithStatus(http.StatusInternalServerError) - return - } - - in := &tokenPayload{} - err = c.Bind(in) - if err != nil { - _ = c.AbortWithError(http.StatusBadRequest, err) - return - } - - login, err := _forge.Auth(c, in.Access, in.Refresh) - if err != nil { - _ = c.AbortWithError(http.StatusUnauthorized, err) - return - } - - user, err := _store.GetUserLogin(login) - if err != nil { - handleDBError(c, err) - return - } - - exp := time.Now().Add(server.Config.Server.SessionExpires).Unix() - newToken := token.New(token.SessToken) - newToken.Set("user-id", strconv.FormatInt(user.ID, 10)) - tokenStr, err := newToken.SignExpires(user.Hash, exp) - if err != nil { - _ = c.AbortWithError(http.StatusInternalServerError, err) - return - } - - c.JSON(http.StatusOK, &tokenPayload{ - Access: tokenStr, - Expires: exp - time.Now().Unix(), - }) -} - -type tokenPayload struct { - Access string `json:"access_token,omitempty"` - Refresh string `json:"refresh_token,omitempty"` - Expires int64 `json:"expires_in,omitempty"` -} diff --git a/server/router/api.go b/server/router/api.go index 3fb760760..a7c9f8f5e 100644 --- a/server/router/api.go +++ b/server/router/api.go @@ -129,13 +129,6 @@ func apiRoutes(e *gin.RouterGroup) { repo.PATCH("/registries/:registry", session.MustPush, api.PatchRegistry) repo.DELETE("/registries/:registry", session.MustPush, api.DeleteRegistry) - // TODO: remove with 3.x - repo.GET("/registry", session.MustPush, api.GetRegistryList) - repo.POST("/registry", session.MustPush, api.PostRegistry) - repo.GET("/registry/:registry", session.MustPush, api.GetRegistry) - repo.PATCH("/registry/:registry", session.MustPush, api.PatchRegistry) - repo.DELETE("/registry/:registry", session.MustPush, api.DeleteRegistry) - // requires push permissions repo.GET("/cron", session.MustPush, api.GetCronList) repo.POST("/cron", session.MustPush, api.PostCron) diff --git a/server/router/router.go b/server/router/router.go index 89e1046f9..c873062d3 100644 --- a/server/router/router.go +++ b/server/router/router.go @@ -62,7 +62,6 @@ func Load(noRouteHandler http.HandlerFunc, middleware ...gin.HandlerFunc) http.H { auth.GET("", api.HandleAuth) auth.POST("", api.HandleAuth) - auth.POST("/token", api.DeprecatedGetLoginToken) } base.GET("/metrics", metrics.PromHandler()) diff --git a/server/services/config/http.go b/server/services/config/http.go index 3eb512cd4..33dcfc756 100644 --- a/server/services/config/http.go +++ b/server/services/config/http.go @@ -38,10 +38,9 @@ type configData struct { } type requestStructure struct { - Repo *model.Repo `json:"repo"` - Pipeline *model.Pipeline `json:"pipeline"` - Netrc *model.Netrc `json:"netrc"` - Configuration []*configData `json:"configs"` // TODO: deprecate in favor of netrc and remove in next major release + Repo *model.Repo `json:"repo"` + Pipeline *model.Pipeline `json:"pipeline"` + Netrc *model.Netrc `json:"netrc"` } type responseStructure struct { @@ -53,11 +52,6 @@ func NewHTTP(endpoint string, privateKey ed25519.PrivateKey) Service { } func (h *http) Fetch(ctx context.Context, forge forge.Forge, user *model.User, repo *model.Repo, pipeline *model.Pipeline, oldConfigData []*types.FileMeta, _ bool) ([]*types.FileMeta, error) { - currentConfigs := make([]*configData, len(oldConfigData)) - for i, pipe := range oldConfigData { - currentConfigs[i] = &configData{Name: pipe.Name, Data: string(pipe.Data)} - } - netrc, err := forge.Netrc(user, repo) if err != nil { return nil, fmt.Errorf("could not get Netrc data from forge: %w", err) @@ -65,10 +59,9 @@ func (h *http) Fetch(ctx context.Context, forge forge.Forge, user *model.User, r response := new(responseStructure) body := requestStructure{ - Repo: repo, - Pipeline: pipeline, - Configuration: currentConfigs, - Netrc: netrc, + Repo: repo, + Pipeline: pipeline, + Netrc: netrc, } status, err := utils.Send(ctx, net_http.MethodPost, h.endpoint, h.privateKey, body, response) From eeec08429362d35bc00b99a1b38caf8aa81d358c Mon Sep 17 00:00:00 2001 From: qwerty287 <80460567+qwerty287@users.noreply.github.com> Date: Sat, 10 Aug 2024 20:43:50 +0200 Subject: [PATCH 091/547] Set refspec for gitlab MR (#4021) --- server/forge/gitlab/convert.go | 1 + 1 file changed, 1 insertion(+) diff --git a/server/forge/gitlab/convert.go b/server/forge/gitlab/convert.go index 793e81248..ad6dbea58 100644 --- a/server/forge/gitlab/convert.go +++ b/server/forge/gitlab/convert.go @@ -124,6 +124,7 @@ func convertMergeRequestHook(hook *gitlab.MergeEvent, req *http.Request) (int, * pipeline.Ref = fmt.Sprintf(mergeRefs, obj.IID) pipeline.Branch = obj.SourceBranch + pipeline.Refspec = fmt.Sprintf("%s:%s", obj.SourceBranch, obj.TargetBranch) author := lastCommit.Author From 67a9c7991cfeadef19a5d4e00ad72191b3367ac2 Mon Sep 17 00:00:00 2001 From: qwerty287 <80460567+qwerty287@users.noreply.github.com> Date: Sat, 10 Aug 2024 21:32:21 +0200 Subject: [PATCH 092/547] Fix cron migration (#4020) --- server/store/datastore/migration/033_cron_without_sec.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/server/store/datastore/migration/033_cron_without_sec.go b/server/store/datastore/migration/033_cron_without_sec.go index a170401b3..12e5b257f 100644 --- a/server/store/datastore/migration/033_cron_without_sec.go +++ b/server/store/datastore/migration/033_cron_without_sec.go @@ -42,8 +42,9 @@ var cronWithoutSec = xormigrate.Migration{ continue } - c.Schedule = strings.SplitN(strings.TrimSpace(c.Schedule), " ", 2)[1] - if _, err := sess.Update(c); err != nil { + if _, err := sess.Update(&model.Cron{ + Schedule: strings.SplitN(strings.TrimSpace(c.Schedule), " ", 2)[1], + }, c); err != nil { return err } } From 0facbf9955bde0c8c1313c6ed237c5513d635ca8 Mon Sep 17 00:00:00 2001 From: Gianluca Boiano Date: Fri, 9 Aug 2024 22:23:11 +0000 Subject: [PATCH 093/547] Translated using Weblate (Italian) Currently translated at 100.0% (331 of 331 strings) Translation: Woodpecker CI/UI Translate-URL: http://translate.woodpecker-ci.org/projects/woodpecker-ci/ui/it/ --- web/src/assets/locales/it.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/web/src/assets/locales/it.json b/web/src/assets/locales/it.json index 42cbaa403..7e9d30561 100644 --- a/web/src/assets/locales/it.json +++ b/web/src/assets/locales/it.json @@ -169,7 +169,8 @@ "title": "Variabili aggiuntive per la pipeline", "value": "Valore variabile", "delete": "Elimina variabile" - } + }, + "show_pipelines": "Mostra pipeline" }, "not_allowed": "Non ti è consentito accedere a questa repository", "open_in_forge": "Apri pagina web della repository", From 0ac19a1a1b78dd93adab84f3d6f897cc59294251 Mon Sep 17 00:00:00 2001 From: borderss Date: Fri, 9 Aug 2024 09:48:13 +0000 Subject: [PATCH 094/547] Translated using Weblate (Latvian) Currently translated at 100.0% (331 of 331 strings) Translation: Woodpecker CI/UI Translate-URL: http://translate.woodpecker-ci.org/projects/woodpecker-ci/ui/lv/ --- web/src/assets/locales/lv.json | 1075 +++++++++++++++++--------------- 1 file changed, 586 insertions(+), 489 deletions(-) diff --git a/web/src/assets/locales/lv.json b/web/src/assets/locales/lv.json index f21332615..33ebc777e 100644 --- a/web/src/assets/locales/lv.json +++ b/web/src/assets/locales/lv.json @@ -1,508 +1,605 @@ { - "admin": { - "settings": { - "agents": { - "add": "Pievienot aģentu", - "agents": "Aģenti", - "backend": { - "backend": "Aizmugures sistēma", - "badge": "aizmugures sistēma" - }, - "capacity": { - "badge": "paralēlie darbi", - "capacity": "Paralēlie darbi", - "desc": "Maksimālais aģenta paralēli izpildāmo konvejerdarbu skaits." - }, - "created": "Aģents izveidots", - "delete_agent": "Dzēst aģentu", - "delete_confirm": "Vai patiešām dzēst šo aģentu? Tam vairs nebūs iespējas savienoties ar serveri.", - "deleted": "Aģents izdzēsts", - "desc": "Šajā serverī reģistrētie aģenti", - "edit_agent": "Labot aģentu", - "id": "ID", - "last_contact": "Pēdējā sazināšanās", - "name": { - "name": "Nosaukums", - "placeholder": "Aģenta nosaukums" - }, - "never": "nekad", - "no_schedule": { - "name": "Atspējot aģentu", - "placeholder": "Apturēt aģentu no jaunu darbu pieņemšanas" - }, - "none": "Pagaidām nav neviena aģenta.", - "platform": { - "badge": "platforma", - "platform": "Platforma" - }, - "save": "Saglabāt aģentu", - "saved": "Aģents saglabāts", - "show": "Parādīt aģentus", - "token": "Drošības talons", - "version": "Versija" - }, - "not_allowed": "Nav piekļuves servera iestatījumiem", - "orgs": { - "delete_confirm": "Vai patiešām vēlaties dzēst šo organizāciju? Tiks dzēsti arī visi organizācijai piederošie repozitoriji.", - "delete_org": "Dzēst organizāciju", - "deleted": "Organizācija tika izdzēsta", - "desc": "Organizācijas, kurām pieder repozitoriji šajā serverī", - "none": "Pagaidām nav nevienas organizācijas.", - "org_settings": "Organizācijas iestatījumi", - "orgs": "Organizācijas", - "view": "Skatīt organizāciju" - }, - "queue": { - "agent": "aģents", - "desc": "Uzdevumi, kuri gaida izpildi", - "pause": "Apturēt", - "paused": "Rinda ir apturēta", - "queue": "Rinda", - "resume": "Atsākt", - "resumed": "Rindas apstrāde atsākta", - "stats": { - "completed_count": "Pabeigtie uzdevumi", - "pending_count": "Gaida", - "running_count": "Izpildās", - "waiting_on_deps_count": "Gaida uz atkarībām", - "worker_count": "Brīvi" - }, - "task_pending": "Uzdevums gaida izpildi", - "task_running": "Uzdevums tiek izpildīts", - "task_waiting_on_deps": "Uzdevums gaida uz atkarībām", - "tasks": "Uzdevumi", - "waiting_for": "gaida uz" - }, - "repos": { - "desc": "Repozitoriji, kas ir vai ir bijuši iespējoti šajā serverī", - "disabled": "Atspējots", - "none": "Pagaidām nav neviena repozitorija.", - "repair": { - "repair": "Salabot visus", - "success": "Repozitoriji salaboti" - }, - "repos": "Repozitoriji", - "settings": "Repozitorija iestatījumi", - "view": "Skatīt repozitoriju" - }, - "secrets": { - "add": "Pievienot noslēpumu", - "created": "Globālais noslēpums izveidots", - "deleted": "Globālais noslēpums dzēsts", - "desc": "Noslēpumus var padot visu repozitoriju individuāliem konvejerdarba soļiem izpildes laikā kā vides mainīgos.", - "events": { - "events": "Pieejams šādiem notikumiem", - "pr_warning": "Uzmanieties, jo šādā veidā tas būs pieejams visiem cilvēkiem, kas var iesūtīt izmaiņu pieprasījumu." - }, - "images": { - "desc": "Ar komatiem atdalīts saraksts ar attēliem, kam šis noslēpums būs pieejams, atstājot tukšu, tas būs pieejams visiem attēliem", - "images": "Pieejami šādiem attēliem" - }, - "name": "Nosaukums", - "none": "Pagaidām nav neviena globālā noslēpuma.", - "plugins_only": "Pieejams tikai spraudņiem", - "save": "Saglabāt noslēpumu", - "saved": "Globālais noslēpums saglabāts", - "secrets": "Noslēpumi", - "show": "Noslēpumu saraksts", - "value": "Vērtība", - "warning": "Šie noslēpumi būs pieejami visiem servera lietotājiem." - }, - "settings": "Iestatījumi", - "users": { - "add": "Pievienot lietotāju", - "admin": { - "admin": "Administrators", - "placeholder": "Lietotājs ir administrators" - }, - "avatar_url": "Avatāra URL", - "cancel": "Atcelt", - "created": "Lietotājs izveidots", - "delete_confirm": "Vai patiešām vēlaties dzēst šo lietotāju? Tiks dzēsti arī visi lietotājam piederošie repozitoriji.", - "delete_user": "Dzēst lietotāju", - "deleted": "Lietotājs izdzēsts", - "desc": "Lietotāji, kas ir reģistrēti šajā serverī", - "edit_user": "Labot lietotāju", - "email": "E-pasta adrese", - "login": "Lietotāja vārds", - "none": "Pašlaik vēl nav neviena lietotāja.", - "save": "Saglabāt lietotāju", - "saved": "Lietotāja dati saglabāti", - "show": "Parādīt lietotājus", - "users": "Lietotāji" - } - } - }, - "api": "API", - "back": "Atpakaļ", - "cancel": "Atcelt", - "default": "noklusētais", - "docs": "Dokumentācija", - "documentation_for": "Dokumentācija par \"{topic}\"", - "errors": { - "not_found": "Nevarēja atrast pieprasīto objektu" - }, - "info": "Informācija", - "login": "Autorizēties", - "logout": "Iziet", - "not_found": { - "back_home": "Uz sākumu", - "not_found": "Ak vai, 404, vai nu mēs salauzām kaut ko, vai arī tika atvērta lapa, kas neeksistē :-/" - }, - "org": { - "settings": { - "not_allowed": "Nav piekļuves šīs organizācijas iestatījumiem", - "secrets": { - "add": "Pievienot noslēpumu", - "created": "Organizācijas noslēpums izveidots", - "deleted": "Organizācijas noslēpums dzēsts", - "desc": "Noslēpumus var padot visu organizācijas repozitoriju individuāliem konvejerdarba soļiem izpildes laikā kā vides mainīgos.", - "events": { - "events": "Pieejams šādiem notikumiem", - "pr_warning": "Uzmanieties, jo šādā veidā tas būs pieejams visiem cilvēkiem, kas var iesūtīt izmaiņu pieprasījumu." - }, - "images": { - "desc": "Ar komatiem atdalīts saraksts ar attēliem, kam šis noslēpums būs pieejams, atstājot tukšu, tas būs pieejams visiem attēliem", - "images": "Pieejami šādiem attēliem" - }, - "name": "Nosaukums", - "none": "Pagaidām nav neviena organizācijas noslēpuma.", - "plugins_only": "Pieejams tikai spraudņiem", - "save": "Saglabāt noslēpumu", - "saved": "Organizācijas noslēpums saglabāts", - "secrets": "Noslēpumi", - "show": "Noslēpumu saraksts", - "value": "Vērtība" - }, - "settings": "Iestatījumi" - } - }, - "password": "Parole", - "pipeline_feed": "Konvejerdarba padeve", - "repo": { - "activity": "Aktivitāte", - "add": "Pievienot repozitoriju", - "branches": "Atzari", - "deploy_pipeline": { - "enter_target": "Mērķa uzstādīšanas vide", - "title": "Iniciēt uzstādīšanas notikumu šim konvejerdarbam #{pipelineId}", - "trigger": "Uzstādīt", - "variables": { - "add": "Pievienot mainīgo", - "desc": "Norādiet papildus mainīgos, ko izmantot konvejerdarbā. Mainīgie ar šādu pašu nosaukumu tiks pārrakstīti.", - "name": "Mainīgā nosaukums", - "title": "Papildus konvejerdarba mainīgie", - "value": "Mainīgā vērtība" - } + "admin": { + "settings": { + "agents": { + "add": "Pievienot aģentu", + "agents": "Aģenti", + "backend": { + "backend": "Aizmugures sistēma", + "badge": "aizmugures sistēma" + }, + "capacity": { + "badge": "paralēlie darbi", + "capacity": "Paralēlie darbi", + "desc": "Maksimālais aģenta paralēli izpildāmo konvejerdarbu skaits." + }, + "created": "Aģents izveidots", + "delete_agent": "Dzēst aģentu", + "delete_confirm": "Vai tiešām vēlaties dzēst šo aģentu? Tam vairs nebūs iespējas savienoties ar serveri.", + "deleted": "Aģents izdzēsts", + "desc": "Šajā serverī reģistrētie aģenti.", + "edit_agent": "Labot aģentu", + "id": "ID", + "last_contact": "Pēdējā sazināšanās", + "name": { + "name": "Nosaukums", + "placeholder": "Aģenta nosaukums" + }, + "never": "nekad", + "no_schedule": { + "name": "Atspējot aģentu", + "placeholder": "Apturēt aģentu no jaunu darbu pieņemšanas" + }, + "none": "Pagaidām nav neviena aģenta.", + "platform": { + "badge": "platforma", + "platform": "Platforma" + }, + "save": "Saglabāt aģentu", + "saved": "Aģents saglabāts", + "show": "Parādīt aģentus", + "token": "Drošības talons", + "version": "Versija" + }, + "not_allowed": "Nav piekļuves servera iestatījumiem.", + "orgs": { + "delete_confirm": "Vai patiešām vēlaties dzēst šo organizāciju? Tiks dzēsti arī visi organizācijai piederošie repozitoriji.", + "delete_org": "Dzēst organizāciju", + "deleted": "Organizācija tika izdzēsta", + "desc": "Organizācijas, kurām pieder repozitoriji šajā serverī.", + "none": "Pagaidām nav nevienas organizācijas.", + "org_settings": "Organizācijas iestatījumi", + "orgs": "Organizācijas", + "view": "Skatīt organizāciju" + }, + "queue": { + "agent": "aģents", + "desc": "Uzdevumi, kuri gaida izpildi", + "pause": "Apturēt", + "paused": "Rinda ir apturēta", + "queue": "Rinda", + "resume": "Atsākt", + "resumed": "Rindas apstrāde atsākta", + "stats": { + "completed_count": "Pabeigtie uzdevumi", + "pending_count": "Gaida", + "running_count": "Izpildās", + "waiting_on_deps_count": "Gaida uz atkarībām", + "worker_count": "Brīvi" + }, + "task_pending": "Uzdevums gaida izpildi", + "task_running": "Uzdevums tiek izpildīts", + "task_waiting_on_deps": "Uzdevums gaida uz atkarībām", + "tasks": "Uzdevumi", + "waiting_for": "gaida uz" + }, + "repos": { + "desc": "Repozitoriji, kas ir vai ir bijuši iespējoti šajā serverī.", + "disabled": "Atspējots", + "none": "Pagaidām nav neviena repozitorija.", + "repair": { + "repair": "Salabot visus", + "success": "Repozitoriji salaboti" + }, + "repos": "Repozitoriji", + "settings": "Repozitorija iestatījumi", + "view": "Skatīt repozitoriju" + }, + "secrets": { + "add": "Pievienot noslēpumu", + "created": "Globālais noslēpums izveidots", + "deleted": "Globālais noslēpums dzēsts", + "desc": "Noslēpumus var padot visu repozitoriju konvejerdarba soļiem izpildes laikā kā vides mainīgos.", + "events": { + "events": "Pieejams šādiem notikumiem", + "pr_warning": "Uzmanieties, jo šādā veidā tas būs pieejams visiem cilvēkiem, kas var iesūtīt izmaiņu pieprasījumu." + }, + "images": { + "desc": "Ar komatiem atdalīts saraksts ar attēliem, kam šis noslēpums būs pieejams, atstājot tukšu, tas būs pieejams visiem attēliem", + "images": "Pieejami šādiem attēliem" + }, + "name": "Nosaukums", + "none": "Pagaidām nav neviena globālā noslēpuma.", + "plugins_only": "Pieejams tikai spraudņiem", + "save": "Saglabāt noslēpumu", + "saved": "Globālais noslēpums saglabāts", + "secrets": "Noslēpumi", + "show": "Noslēpumu saraksts", + "value": "Vērtība", + "warning": "Šie noslēpumi būs pieejami visiem lietotājiem." + }, + "settings": "Iestatījumi", + "users": { + "add": "Pievienot lietotāju", + "admin": { + "admin": "Administrators", + "placeholder": "Lietotājs ir administrators" + }, + "avatar_url": "Avatāra URL", + "cancel": "Atcelt", + "created": "Lietotājs izveidots", + "delete_confirm": "Vai patiešām vēlaties dzēst šo lietotāju? Tiks dzēsti arī visi lietotājam piederošie repozitoriji.", + "delete_user": "Dzēst lietotāju", + "deleted": "Lietotājs izdzēsts", + "desc": "Lietotāji, kas ir reģistrēti šajā serverī", + "edit_user": "Labot lietotāju", + "email": "E-pasta adrese", + "login": "Lietotāja vārds", + "none": "Pašlaik vēl nav neviena lietotāja.", + "save": "Saglabāt lietotāju", + "saved": "Lietotāja dati saglabāti", + "show": "Parādīt lietotājus", + "users": "Lietotāji" + }, + "registries": { + "warning": "Šie repozitorijas pilnvaras būs pieejamas visiem lietotājiem.", + "desc": "Globāli repozitoriju pilnvaras var tikt pievienoti pielietošanai privātos attēlos visiem konvejerdarbiem." + } + } }, - "enable": { - "disabled": "Atspējots", - "enable": "Iespējot", - "enabled": "Jau ir iespējots", - "list_reloaded": "Repozitoriju sarakts tika pārlādēts", - "reload": "Pārlādēt repozitorijus", - "success": "Repozitorijs iespējots" + "api": "API", + "back": "Atpakaļ", + "cancel": "Atcelt", + "default": "noklusētais", + "docs": "Dokumentācija", + "documentation_for": "Dokumentācija par \"{topic}\"", + "errors": { + "not_found": "Nevarēja atrast pieprasīto objektu" }, - "manual_pipeline": { - "select_branch": "Norādiet atzaru", - "title": "Iniciēt manuālu konvejerdarba izpildi", - "trigger": "Izpildīt konvejerdarbu", - "variables": { - "add": "Pievienot", - "desc": "Norādiet papildus mainīgos, ko izmantot konvejerdarbā. Mainīgie ar tādu pašu nosaukumu tiks pārrakstīti.", - "name": "Mainīgā nosaukums", - "title": "Papildus konvejerdarba mainīgie", - "value": "Mainīgā vērtība" - } + "info": "Informācija", + "login": "Autorizēties", + "logout": "Iziet", + "not_found": { + "back_home": "Uz sākumu", + "not_found": "Ak vai, 404, vai nu mēs salauzām kaut ko, vai arī tika atvērta lapa, kas neeksistē :-/" }, - "not_allowed": "Nav piekļuves šim repozitorijam", - "open_in_forge": "Atvērt repozitoriju versijas kontroles sistēmā", - "pipeline": { - "actions": { - "cancel": "Atcelt", - "cancel_success": "Konvejerdarbs atcelts", - "canceled": "Šis solis tika atcelts.", - "deploy": "Uzstādīt", - "log_auto_scroll": "Automātiski ritināt", - "log_auto_scroll_off": "Atslēgt automātisko ritināšanu", - "log_download": "Lejupielādēt", - "restart": "Pārstartēt", - "restart_success": "Konvejerdarbs pārstartēts" - }, - "config": "Konfigurācija", - "errors": "Kļūdas ({count})", - "event": { - "cron": "Plānotais darbs", - "deploy": "Uzstādīšana", - "manual": "Manuāls", - "pr": "Izmaiņu pieprasījums", - "push": "Iesūtīšana", - "tag": "Tags" - }, - "exit_code": "Iziešanas kods {exitCode}", - "files": "Izmainītie faili ({files})", - "loading": "Notiek ielāde…", - "log_download_error": "Veicot žurnālfaila lejupielādi notika kļūda", - "log_title": "Soļa žurnāls", - "no_files": "Neviens fails nav mainīts.", - "no_pipeline_steps": "Konvejerdarbam nav neviena soļa!", - "no_pipelines": "Neviens konvejerdarbs vēl nav uzsākts.", - "pipeline": "Konvejerdarbs #{pipelineId}", - "pipelines_for": "Konvejerdarbi atzaram \"{branch}\"", - "pipelines_for_pr": "Konvejerdarbi izmaiņu pieprasījumam #{index}", - "protected": { - "approve": "Apstiprināt", - "approve_success": "Konvejerdarbs apstiprināts", - "awaits": "Šim konvejerdarbam ir nepieciešams apstiprinājums no atbildīgajām personām!", - "decline": "Noraidīt", - "decline_success": "Konvejerdarbs noraidīts", - "declined": "Šis konvejerdarbs tika noraidīts!", - "review": "Pārskatiet izmaiņas" - }, - "show_errors": "Rādīt kļūdas", - "status": { - "blocked": "bloķēts", - "declined": "noraidīts", - "error": "kļūda", - "failure": "neveiksmīgs", - "killed": "apturēts", - "pending": "gaida izpildi", - "running": "izpildās", - "skipped": "izlaists", - "started": "uzsākts", - "status": "Statuss: {status}", - "success": "izpildīts" - }, - "step_not_started": "Šis solis vēl nav uzsākts.", - "tasks": "Uzdevumi", - "warnings": "Brīdinājumi ({count})", - "we_got_some_errors": "Ak nē, notika kļūda!" + "org": { + "settings": { + "not_allowed": "Nav piekļuves šīs organizācijas iestatījumiem", + "secrets": { + "add": "Pievienot noslēpumu", + "created": "Organizācijas noslēpums izveidots", + "deleted": "Organizācijas noslēpums dzēsts", + "desc": "Noslēpumus var padot visu organizācijas repozitoriju konvejerdarba soļiem kā vides mainīgos.", + "events": { + "events": "Pieejams šādiem notikumiem", + "pr_warning": "Uzmanieties, jo šādā veidā tas būs pieejams visiem cilvēkiem, kas var iesūtīt izmaiņu pieprasījumu." + }, + "images": { + "desc": "Ar komatiem atdalīts saraksts ar attēliem, kam šis noslēpums būs pieejams, atstājot tukšu, tas būs pieejams visiem attēliem", + "images": "Pieejami šādiem attēliem" + }, + "name": "Nosaukums", + "none": "Pagaidām nav neviena organizācijas noslēpuma.", + "plugins_only": "Pieejams tikai spraudņiem", + "save": "Saglabāt noslēpumu", + "saved": "Organizācijas noslēpums saglabāts", + "secrets": "Noslēpumi", + "show": "Noslēpumu saraksts", + "value": "Vērtība" + }, + "settings": "Iestatījumi", + "registries": { + "desc": "Organizācijas reģistrijas pilnvaras var tikt pievienoti, lai izmantotu privātas attēlos priekš visiem konvejerdarbiem organizācijā." + } + } }, - "pull_requests": "Izmaiņu pieprasījumi", - "settings": { - "actions": { - "actions": "Darbības", - "delete": { - "confirm": "Visi repozitorija dati tiks neatgriezeniski dzēsti!\n\nVai vēlaties turpināt?", - "delete": "Dzēst repozitoriju", - "success": "Repozitorijs dzēsts" - }, - "disable": { - "disable": "Atspējot repozitoriju", - "success": "Repozitorijs atspējots" + "password": "Parole", + "pipeline_feed": "Konvejerdarba padeve", + "repo": { + "activity": "Aktivitāte", + "add": "Pievienot repozitoriju", + "branches": "Atzari", + "deploy_pipeline": { + "enter_target": "Mērķa uzstādīšanas vide", + "title": "Iniciēt uzstādīšanas notikumu šim konvejerdarbam #{pipelineId}", + "trigger": "Uzstādīt", + "variables": { + "add": "Pievienot mainīgo", + "desc": "Norādiet papildus mainīgos, ko izmantot konvejerdarbā. Mainīgie ar šādu pašu nosaukumu tiks pārrakstīti.", + "name": "Mainīgā nosaukums", + "title": "Papildus konvejerdarba mainīgie", + "value": "Mainīgā vērtība", + "delete": "Dzēst mainīgo" + }, + "enter_task": "Uzstādīšanas uzdevums" }, "enable": { - "enable": "Iespējot repozitoriju", - "success": "Repozitorijs iespējots" + "disabled": "Atspējots", + "enable": "Iespējot", + "enabled": "Jau ir iespējots", + "list_reloaded": "Repozitoriju sarakts tika pārlādēts", + "reload": "Pārlādēt repozitorijus", + "success": "Repozitorijs iespējots" }, - "repair": { - "repair": "Salabot repozitoriju", - "success": "Repozitorijs salabots" - } - }, - "badge": { - "badge": "Nozīmīte", - "branch": "Atzars", - "type": "Pieraksta veids", - "type_html": "HTML", - "type_markdown": "Markdown", - "type_url": "URL" - }, - "crons": { - "add": "Pievienot plānoto darbu", - "branch": { - "placeholder": "Atzars (atstājiet tukšu, lai izmantotu noklusēto atzaru)", - "title": "Atzars" + "manual_pipeline": { + "select_branch": "Norādiet atzaru", + "title": "Iniciēt manuālu konvejerdarba izpildi", + "trigger": "Izpildīt konvejerdarbu", + "variables": { + "add": "Pievienot", + "desc": "Norādiet papildus mainīgos, ko izmantot konvejerdarbā. Mainīgie ar tādu pašu nosaukumu tiks pārrakstīti.", + "name": "Mainīgā nosaukums", + "title": "Papildus konvejerdarba mainīgie", + "value": "Mainīgā vērtība", + "delete": "Dzēst mainīgo" + }, + "show_pipelines": "Rādīt konvejerdarbus" }, - "created": "Izveidots plānotais darbs", - "crons": "Darbu plānotājs", - "delete": "Dzēst darbu plānotāju", - "deleted": "Plānotais darbs izdzēsts", - "desc": "Darbu plānotājs var tikt izmantots, lai izpildītu konvejerdarbus pēc noteikta grafika.", - "edit": "Labot darbu plānotāju", - "name": { - "name": "Nosaukums", - "placeholder": "Plānotā darba nosaukums" + "not_allowed": "Nav piekļuves šim repozitorijam", + "open_in_forge": "Atvērt repozitoriju iekš forge", + "pipeline": { + "actions": { + "cancel": "Atcelt", + "cancel_success": "Konvejerdarbs atcelts", + "canceled": "Šis solis tika atcelts.", + "deploy": "Uzstādīt", + "log_auto_scroll": "Automātiski ritināt", + "log_auto_scroll_off": "Atslēgt automātisko ritināšanu", + "log_download": "Lejupielādēt", + "restart": "Pārstartēt", + "restart_success": "Konvejerdarbs pārstartēts", + "log_delete": "Dzēst" + }, + "config": "Konfigurācija", + "errors": "Kļūdas ({count})", + "event": { + "cron": "Plānotais darbs", + "deploy": "Uzstādīšana", + "manual": "Manuāls", + "pr": "Izmaiņu pieprasījums", + "push": "Iesūtīšana", + "tag": "Tags", + "pr_closed": "Izmaiņu pieprasījums apvienots / aizvērts", + "release": "Relīze" + }, + "exit_code": "Iziešanas kods {exitCode}", + "files": "Izmainītie faili ({files})", + "loading": "Notiek ielāde…", + "log_download_error": "Veicot žurnālfaila lejupielādi notika kļūda", + "log_title": "Soļa žurnāls", + "no_files": "Neviens fails nav mainīts.", + "no_pipeline_steps": "Konvejerdarbam nav neviena soļa!", + "no_pipelines": "Neviens konvejerdarbs vēl nav uzsākts.", + "pipeline": "Konvejerdarbs #{pipelineId}", + "pipelines_for": "Konvejerdarbi atzaram \"{branch}\"", + "pipelines_for_pr": "Konvejerdarbi izmaiņu pieprasījumam #{index}", + "protected": { + "approve": "Apstiprināt", + "approve_success": "Konvejerdarbs apstiprināts", + "awaits": "Šim konvejerdarbam ir nepieciešams apstiprinājums no atbildīgajām personām!", + "decline": "Noraidīt", + "decline_success": "Konvejerdarbs noraidīts", + "declined": "Šis konvejerdarbs tika noraidīts!", + "review": "Pārskatiet izmaiņas" + }, + "show_errors": "Rādīt kļūdas", + "status": { + "blocked": "bloķēts", + "declined": "noraidīts", + "error": "kļūda", + "failure": "neveiksmīgs", + "killed": "apturēts", + "pending": "gaida izpildi", + "running": "izpildās", + "skipped": "izlaists", + "started": "uzsākts", + "status": "Statuss: {status}", + "success": "izpildīts" + }, + "step_not_started": "Šis solis vēl nav uzsākts.", + "tasks": "Uzdevumi", + "warnings": "Brīdinājumi ({count})", + "we_got_some_errors": "Ak nē, notika kļūda!", + "no_logs": "Nav darbību žurnālu", + "duration": "Konvejerdarba ilgums", + "created": "Izveidots: {created}", + "log_delete_confirm": "Vai tiešām vēlaties dzēst šī soļa darbību žurnālus?", + "log_delete_error": "Notika kļūda dzēšot šī soļa darbību žurnālus" }, - "next_exec": "Nākošā izpilde", - "none": "Nav pievienots neviens plānotais darbs.", - "not_executed_yet": "Vēl ne reizi nav izpildīts", - "run": "Izpildīt tagad", - "save": "Saglabāt plānoto darbu", - "saved": "Plānotā darba izmaiņas saglabātas", - "schedule": { - "placeholder": "Grafiks", - "title": "Grafiks (balstīts uz UTC laika joslu)" + "pull_requests": "Izmaiņu pieprasījumi", + "settings": { + "actions": { + "actions": "Darbības", + "delete": { + "confirm": "Visi repozitorija dati tiks neatgriezeniski dzēsti!\n\nVai vēlaties turpināt?", + "delete": "Dzēst repozitoriju", + "success": "Repozitorijs dzēsts" + }, + "disable": { + "disable": "Atspējot repozitoriju", + "success": "Repozitorijs atspējots" + }, + "enable": { + "enable": "Iespējot repozitoriju", + "success": "Repozitorijs iespējots" + }, + "repair": { + "repair": "Salabot repozitoriju", + "success": "Repozitorijs salabots" + } + }, + "badge": { + "badge": "Nozīmīte", + "branch": "Atzars", + "type": "Pieraksta veids", + "type_html": "HTML", + "type_markdown": "Markdown", + "type_url": "URL" + }, + "crons": { + "add": "Pievienot plānoto darbu", + "branch": { + "placeholder": "Atzars (atstājiet tukšu, lai izmantotu noklusēto atzaru)", + "title": "Atzars" + }, + "created": "Izveidots plānotais darbs", + "crons": "Darbu plānotājs", + "delete": "Dzēst darbu plānotāju", + "deleted": "Plānotais darbs izdzēsts", + "desc": "Darbu plānotājs var tikt izmantots, lai izpildītu konvejerdarbus pēc noteikta grafika.", + "edit": "Labot darbu plānotāju", + "name": { + "name": "Nosaukums", + "placeholder": "Plānotā darba nosaukums" + }, + "next_exec": "Nākošā izpilde", + "none": "Nav pievienots neviens plānotais darbs.", + "not_executed_yet": "Vēl ne reizi nav izpildīts", + "run": "Izpildīt tagad", + "save": "Saglabāt plānoto darbu", + "saved": "Plānotā darba izmaiņas saglabātas", + "schedule": { + "placeholder": "Grafiks", + "title": "Grafiks (balstīts uz UTC laika joslu)" + }, + "show": "Parādīt plānotos darbus" + }, + "general": { + "allow_pr": { + "allow": "Atļaut izmaiņu pieprasījumiem", + "desc": "Ļaut izpildīt konvejerdarbus izmaiņu pieprasījumiem." + }, + "cancel_prev": { + "cancel": "Atcelt iepriekšējos konvejerdarbus", + "desc": "Iespējojot šo pazīmi, tiks atcelti visi iepriekšējie konvejerdarbi, kuriem sakrīt notikums un konteksts." + }, + "general": "Pamata", + "netrc_only_trusted": { + "desc": "Atļaut izmantot Git autorizāciju tikai uzticamiem konteineriem (ieteicams).", + "netrc_only_trusted": "Atļaut izmantot Git autorizāciju tikai uzticamiem konteineriem" + }, + "pipeline_path": { + "default": "Pēc noklusējuma: .woodpecker/*.{'{yaml,yml}'} -> .woodpecker.yaml -> .woodpecker.yml", + "desc": "Ceļš uz konvejerdarba konfigurāciju, piemēram, {0}. Mapēm jābeidzas ar {0}.", + "desc_path_example": "mans/ceļš/", + "path": "Konvejerdarba ceļš" + }, + "project": "Projekta iestatījumi", + "protected": { + "desc": "Nepieciešams apstiprināt visus konvejerdarbus pirms tie tiek izpildīti.", + "protected": "Aizsargāts" + }, + "save": "Saglabāt iestatījumus", + "success": "Repozitorija iestatījumi tika saglabāti", + "timeout": { + "minutes": "minūtes", + "timeout": "Noildze" + }, + "trusted": { + "desc": "Konvejerdarba konteineri tiks izpildīti ar paaugstinātām tiesībām (piemēram, piesaistīt servera direktorijas).", + "trusted": "Uzticams" + }, + "visibility": { + "internal": { + "desc": "Tikai autorizēti lietotāji var piekļūt šim projektam.", + "internal": "Iekšējs" + }, + "private": { + "desc": "Tikai lietotāji, kam ir tiesības uz repozitoriju, var piekļūt šim projektam.", + "private": "Privāts" + }, + "public": { + "desc": "Ikviens var piekļūt projektam, arī neautorizētie lietotāji.", + "public": "Publisks" + }, + "visibility": "Projekta redzamība" + }, + "allow_deploy": { + "desc": "Atļaut publicēšanu no veiksmīgiem konvejerdarbiem. Lietot tikai ja Jūs uzticaties visiem lietotājiem ar push permisijām.", + "allow": "Atļaut publicēšanu" + } + }, + "not_allowed": "Nav piekļuves šī repozitorija iestatījumiem", + "registries": { + "add": "Pievienot reģistru", + "address": { + "address": "Adrese", + "placeholder": "Reģistra adrese, piemēram, docker.io" + }, + "created": "Reģistra autorizācijas dati pievienoti", + "credentials": "Reģistru autorizācijas dati", + "delete": "Dzēst reģistra autorizācijas datus", + "deleted": "Reģistra autorizācijas dati dzēsti", + "desc": "Reģistru autorizācijas dati var tikt izmantoti, lai izmantotu attēlos no privātiem reģistriem, konvjerdarbu soļos.", + "edit": "Labot reģistra autorizācijas datus", + "none": "Pašlaik nav pievienots neviens reģistrs.", + "registries": "Reģistri", + "save": "Saglabāt reģistru", + "saved": "Reģistra autorizācijas dati saglabāti", + "show": "Reģistru saraksts" + }, + "secrets": { + "add": "Pievienot noslēpumu", + "created": "Noslēpums izveidots", + "delete": "Dzēst noslēpumu", + "delete_confirm": "Vai patiešām vēlaties dzēst šo noslēpumu?", + "deleted": "Noslēpums dzēsts", + "desc": "Noslēpumus var padot individuāliem konvejerdarba soļiem izpildes laikā kā vides mainīgos.", + "edit": "Labot noslēpumu", + "events": { + "events": "Pieejams šādiem notikumiem", + "pr_warning": "Uzmanieties, jo šādā veidā tas būs pieejams visiem cilvēkiem, kas var iesūtīt izmaiņu pieprasījumu." + }, + "images": { + "desc": "Ar komatiem atdalīts saraksts ar attēliem, kam šis noslēpums būs pieejams, atstājot tukšu, tas būs pieejams visiem attēliem", + "images": "Pieejams šādiem attēliem" + }, + "name": "Nosaukums", + "none": "Pagaidām nav neviena noslēpuma.", + "plugins_only": "Pieejams tikai spraudņiem", + "save": "Saglabāt noslēpumu", + "saved": "Noslēpums saglabāts", + "secrets": "Noslēpumi", + "show": "Noslēpumu saraksts", + "value": "Vērtība" + }, + "settings": "Iestatījumi" }, - "show": "Parādīt plānotos darbus" - }, - "general": { - "allow_pr": { - "allow": "Atļaut izmaiņu pieprasījumiem", - "desc": "Ļaut izpildīt konvejerdarbus izmaiņu pieprasījumiem." - }, - "cancel_prev": { - "cancel": "Atcelt iepriekšējos konvejerdarbus", - "desc": "Iespējojot šo pazīmi, tiks atcelti visi iepriekšējie konvejerdarbi, kuriem sakrīt notikums un konteksts." - }, - "general": "Pamata", - "netrc_only_trusted": { - "desc": "Atļaut izmantot Git autorizāciju tikai uzticamiem konteineriem (ieteicams).", - "netrc_only_trusted": "Atļaut izmantot Git autorizāciju tikai uzticamiem konteineriem" - }, - "pipeline_path": { - "default": "Pēc noklusējuma: .woodpecker/*.{'{yaml,yml}'} -> .woodpecker.yaml -> .woodpecker.yml", - "desc": "Ceļš uz konvejerdarba konfigurāciju, piemēram, {0}. Mapēm jābeidzas ar {0}.", - "desc_path_example": "mans/ceļš/", - "path": "Konvejerdarba ceļš" - }, - "project": "Projekta iestatījumi", - "protected": { - "desc": "Nepieciešams apstiprināt visus konvejerdarbus pirms tie tiek izpildīti.", - "protected": "Aizsargāts" - }, - "save": "Saglabāt iestatījumus", - "success": "Repozitorija iestatījumi tika saglabāti", - "timeout": { - "minutes": "minūtes", - "timeout": "Noildze" - }, - "trusted": { - "desc": "Konvejerdarba konteineri tiks izpildīti ar paaugstinātām tiesībām, piemēram, piesaistīt servera direktorijas.", - "trusted": "Uzticams" - }, - "visibility": { - "internal": { - "desc": "Tikai autorizēti lietotāji var piekļūt šim projektam.", - "internal": "Iekšējs" - }, - "private": { - "desc": "Tikai lietotāji, kam ir tiesības uz repozitoriju, var piekļūt šim projektam.", - "private": "Privāts" - }, - "public": { - "desc": "Ikviens var piekļūt projektam, arī neautorizētie lietotāji.", - "public": "Publisks" - }, - "visibility": "Projekta redzamība" - } - }, - "not_allowed": "Nav piekļuves šī repozitorija iestatījumiem", - "registries": { - "add": "Pievienot reģistru", - "address": { - "address": "Adrese", - "placeholder": "Reģistra adrese, piemēram, docker.io" - }, - "created": "Reģistra autorizācijas dati pievienoti", - "credentials": "Reģistru autorizācijas dati", - "delete": "Dzēst reģistra autorizācijas datus", - "deleted": "Reģistra autorizācijas dati dzēsti", - "desc": "Reģistru autorizācijas dati var tikt izmantoti, lai izmantotu attēlos no privātiem reģistriem, konvjerdarbu soļos.", - "edit": "Labot reģistra autorizācijas datus", - "none": "Pašlaik nav pievienots neviens reģistrs.", - "registries": "Reģistri", - "save": "Saglabāt reģistru", - "saved": "Reģistra autorizācijas dati saglabāti", - "show": "Reģistru saraksts" - }, - "secrets": { - "add": "Pievienot noslēpumu", - "created": "Noslēpums izveidots", - "delete": "Dzēst noslēpumu", - "delete_confirm": "Vai patiešām vēlaties dzēst šo noslēpumu?", - "deleted": "Noslēpums dzēsts", - "desc": "Noslēpumus var padot individuāliem konvejerdarba soļiem izpildes laikā kā vides mainīgos.", - "edit": "Labot noslēpumu", - "events": { - "events": "Pieejams šādiem notikumiem", - "pr_warning": "Uzmanieties, jo šādā veidā tas būs pieejams visiem cilvēkiem, kas var iesūtīt izmaiņu pieprasījumu." - }, - "images": { - "desc": "Ar komatiem atdalīts saraksts ar attēliem, kam šis noslēpums būs pieejams, atstājot tukšu, tas būs pieejams visiem attēliem", - "images": "Pieejams šādiem attēliem" - }, - "name": "Nosaukums", - "none": "Pagaidām nav neviena noslēpuma.", - "plugins_only": "Pieejams tikai spraudņiem", - "save": "Saglabāt noslēpumu", - "saved": "Noslēpums saglabāts", - "secrets": "Noslēpumi", - "show": "Noslēpumu saraksts", - "value": "Vērtība" - }, - "settings": "Iestatījumi" + "user_none": "Šai organizācijai/lietotājam pagaidām nav neviena projekta." }, - "user_none": "Šai organizācijai/lietotājam pagaidām nav neviena projekta." - }, - "repos": "Repozitoriji", - "repositories": "Repozitoriji", - "running_version": "Tiek izmantota Woodpecker CI versija {0}", - "search": "Meklēt…", - "time": { - "days_short": "dien.", - "hours_short": "st.", - "min_short": "min.", - "not_started": "nav uzsākts", - "sec_short": "sek.", - "template": "YYYY. [gada] D. MMMM, HH:mm z", - "weeks_short": "ned." - }, - "unknown_error": "Notika neparedzēta kļūda", - "update_woodpecker": "Pieejama jauna Woodpecker CI versija {0}", - "url": "URL", - "user": { - "access_denied": "Jums nav tiesību autorizēties", - "internal_error": "Notikusi sistēmas iekšējā kļūda", - "oauth_error": "Neizdevās autorizēties, izmantojot, OAuth piegādātāju", - "settings": { - "api": { - "api": "API", - "api_usage": "Piemērs API lietošanai", - "cli_usage": "Piemērs komandrindas lietošanai", - "desc": "Personīgā piekļuves pilnvara un API lietošana", - "dl_cli": "Lejupielādēt komandrindas rīku", - "reset_token": "Atiestatīt pilnvaru", - "shell_setup": "Komandrindas iestatīšana", - "shell_setup_before": "nepieciešamie komandrindas iestatīšanas soļi", - "swagger_ui": "API dokumentācija", - "token": "Personīgā piekļuves pilnvara" - }, - "general": { - "general": "Vispārīgi", - "language": "Valoda", - "theme": { - "auto": "Noteikt automātiski", - "dark": "Tumšā", - "light": "Gaišā", - "theme": "Tēma" + "repos": "Repozitorijas", + "repositories": "Repozitoriji", + "running_version": "Tiek izmantota Woodpecker {0}", + "search": "Meklēt…", + "time": { + "days_short": "dien.", + "hours_short": "st.", + "min_short": "min.", + "not_started": "nav uzsākts", + "sec_short": "sek.", + "template": "YYYY. [gada] D. MMMM, HH:mm z", + "weeks_short": "ned." + }, + "unknown_error": "Notika neparedzēta kļūda", + "update_woodpecker": "Lūdzu atjauniniet Woodpecker instanci uz {0}", + "url": "URL", + "user": { + "access_denied": "Jums nav tiesību autorizēties", + "internal_error": "Notikusi sistēmas iekšējā kļūda", + "oauth_error": "Neizdevās autorizēties, izmantojot, OAuth piegādātāju", + "settings": { + "api": { + "api": "API", + "api_usage": "Piemērs API lietošanai", + "cli_usage": "Piemērs komandrindas lietošanai", + "desc": "Personīgā piekļuves pilnvara un API lietošana", + "dl_cli": "Lejupielādēt komandrindas rīku", + "reset_token": "Atiestatīt pilnvaru", + "shell_setup": "Komandrindas iestatīšana", + "shell_setup_before": "nepieciešamie komandrindas iestatīšanas soļi", + "swagger_ui": "API dokumentācija", + "token": "Personīgā piekļuves pilnvara" + }, + "general": { + "general": "Vispārīgi", + "language": "Valoda", + "theme": { + "auto": "Noteikt automātiski", + "dark": "Tumšā", + "light": "Gaišā", + "theme": "Tēma" + } + }, + "secrets": { + "add": "Pievienot noslēpumu", + "created": "Lietotāja noslēpums tika izveidots", + "deleted": "Lietotāja noslēpums tika izdzēsts", + "desc": "Lietotāja noslēpumi var tikt padoti personīgajiem konvejerdarbu soļiem kā vides mainīgie.", + "events": { + "events": "Pieejams notikumiem", + "pr_warning": "Esiet uzmanīgi atzīmējot šo pazīmi, jo tas var tikt izmantots, lai izmaiņu pieprasījumā atklātu šī noslēpuma vērtību, nepiederošām personām." + }, + "images": { + "desc": "Ar komatu attdalīts saraksts ar attēlu nosaukumiem, kam šis noslēpums būs pieejams, atstājiet tukšu, lai tas būtu pieejams visiem attēliem", + "images": "Pieejams šādiem soļu attēliem" + }, + "name": "Nosaukums", + "none": "Pagaidām nav neviena lietotāja noslēpuma.", + "plugins_only": "Pieejams tikai spraudņiem", + "save": "Saglabāt noslēpumu", + "saved": "Lietotāja noslēpums tika saglabāts", + "secrets": "Noslēpumi", + "show": "Parādīt noslēpumus", + "value": "Vērtība" + }, + "settings": "Lietotāja iestatījumi", + "registries": { + "desc": "Lietotāju reģistra pilnvaras var tikt pielietotas privātos attēlos priekš personīgiem konvejerdarbiem." + }, + "cli_and_api": { + "token": "Personīgās Piekļuves Žetons", + "api_usage": "Piemēra API pielietošana", + "cli_usage": "Piemēra CLI lietošana", + "download_cli": "Lejupielādēt CLI", + "reset_token": "Atiestatīt žetonu", + "swagger_ui": "Swagger UI", + "cli_and_api": "CLI & API", + "desc": "Personīgās Piekļuves Žetons, CLI un API pielietošna" + } } - }, - "secrets": { + }, + "username": "Lietotājvārds", + "welcome": "Woodpecker", + "secrets": { + "secrets": "Noslēpumi", + "none": "Pašlaik nav vides noslēpumu.", "add": "Pievienot noslēpumu", - "created": "Lietotāja noslēpums tika izveidots", - "deleted": "Lietotāja noslēpums tika izdzēsts", - "desc": "Lietotāja noslēpumi var tikt padoti uz visiem lietotāja repozitoriju konvejerdarbu soļiem kā vides mainīgie.", + "save": "Saglabāt noslēpumu", + "show": "Rādīt noslēpumus", + "name": "Nosaukums", + "value": "Vērtība", + "delete_confirm": "Vai tiešām vēlaties dzēst šo noslēpumu?", + "saved": "Noslēpums saglabāts", "events": { - "events": "Pieejams notikumiem", - "pr_warning": "Esiet uzmanīgi atzīmējot šo pazīmi, jo tas var tikt izmantots, lai izmaiņu pieprasījumā atklātu šī noslēpuma vērtību, nepiederošām personām." + "events": "Pieejams sekojošajos notikumos", + "pr_warning": "Lūdzu esiet uzmanīgi ar šo iestatījumu: ļaunprātīgs aktieris var iesniegt ļaunprātīgu pull request, kas atklās noslēpumus." }, "images": { - "desc": "Ar komatu attdalīts saraksts ar attēlu nosaukumiem, kam šis noslēpums būs pieejams, atstājiet tukšu, lai tas būtu pieejams visiem attēliem", - "images": "Pieejams šādiem soļu attēliem" + "desc": "Saraksts ar attēliem, kuriem šis noslēpums ir pieejams. Atstāt tukšu, lai atļautu visos attēlos.", + "images": "Pieejams sekojošiem attēliem" }, - "name": "Nosaukums", - "none": "Pagaidām nav neviena lietotāja noslēpuma.", - "plugins_only": "Pieejams tikai spraudņiem", - "save": "Saglabāt noslēpumu", - "saved": "Lietotāja noslēpums tika saglabāts", - "secrets": "Noslēpumi", - "show": "Parādīt noslēpumus", - "value": "Vērtība" - }, - "settings": "Lietotāja iestatījumi" - } - }, - "username": "Lietotāja vārds", - "welcome": "Woodpecker" + "edit": "Rediģēt noslēpumu", + "desc": "Noslēpumi var tikt padoti individuāliem konvejerdarbu soļiem kā vides mainīgie.", + "deleted": "Noslēpums dzēsts", + "created": "Noslēpums izveidots", + "delete": "Dzēst noslēpumu" + }, + "registries": { + "delete_confirm": "Vai tiešām vēlaties dzēst šo reģistru?", + "created": "Reģistra pilnvaras izveidotas", + "view": "Skatīt reģistru", + "edit": "Rediģēt reģistru", + "delete": "Dzēst reģistru", + "saved": "Reģistra pilnvaras saglabātas", + "deleted": "Reģistra pilnvaras dzēstas", + "save": "Saglabāt reģistru", + "add": "Pievienot reģistru", + "registries": "Reģistrijas", + "credentials": "Reģistriju pilnvaras", + "desc": "Reģistriju pilnvaras var tikt pievienotas pielietošanai privātos attēlos priekš konvejerdarbiem.", + "none": "Pašlaik nav rēģistrijas pilnvaru.", + "address": { + "address": "Adreses", + "desc": "Reģistrijas adreses (piem. docker.io)" + }, + "show": "Rādīt reģistrijas" + }, + "oauth_error": "Kļūda autentificējoties pret OAuth nodrošinātāju", + "internal_error": "Notikušas dažas iekšējās kļūdas", + "registration_closed": "Reģistrācijas process ir aizvērts", + "access_denied": "Jums nav atļaujas piekļūt šai instancei", + "invalid_state": "OAuth stāvoklis nav valīds", + "org_level_secret": "organizācijas noslēpums", + "cli_login_success": "Autorizēšanās CLI veiksmīga", + "login_to_cli": "Autorizēties CLI", + "login_to_cli_description": "Turpinot, Jūs autorizēs iekš CLI.", + "abort": "Aborts", + "cli_login_failed": "Autorizešanās pie CLI neizdevās", + "return_to_cli": "Jūs varat aizvērt šo cilni un atgriezties pie CLI.", + "settings": "Iestatījumi", + "login_with": "Autorizēties ar {forge}", + "empty_list": "Nav {entity}!", + "global_level_secret": "globāls noslēpums", + "cli_login_denied": "Autorizešanās pie CLI liegta" } From d1bd6248574e1e18618597ba89af29085ad2e125 Mon Sep 17 00:00:00 2001 From: qwerty287 <80460567+qwerty287@users.noreply.github.com> Date: Sun, 11 Aug 2024 10:26:26 +0200 Subject: [PATCH 095/547] Update some readme wording (#4023) --- README.md | 6 +++--- docs/docs/pipeline-list.png | Bin 213680 -> 0 bytes docs/{docs => }/woodpecker.png | Bin 3 files changed, 3 insertions(+), 3 deletions(-) delete mode 100644 docs/docs/pipeline-list.png rename docs/{docs => }/woodpecker.png (100%) diff --git a/README.md b/README.md index 7cd7de1d5..47685fc6a 100644 --- a/README.md +++ b/README.md @@ -45,11 +45,11 @@ Woodpecker is a simple, yet powerful CI/CD engine with great extensibility. -![woodpecker](docs/docs/woodpecker.png) +![woodpecker](docs/woodpecker.png) ## Installation & Resources -Woodpecker can be installed in various ways (see the [Installation Instructions](https://woodpecker-ci.org/docs/administration/getting-started)) and by, default, runs with a SQLite DB. +Woodpecker can be installed in various ways (see the [Installation Instructions](https://woodpecker-ci.org/docs/administration/getting-started)) and runs with SQLite as database by default. It requires around 100 MB of RAM (Server) and 30 MB (Agent) at runtime in idle mode. ## Support @@ -60,7 +60,7 @@ You can support the project by becoming a backer on [Open Collective](https://op ## Documentation - +Our documentation can be found at . ## Translation diff --git a/docs/docs/pipeline-list.png b/docs/docs/pipeline-list.png deleted file mode 100644 index f501fe0e621761f0a76fe121c7e8e4f18db37114..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 213680 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�HtkvDdo3$fRnqqf#@ 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
4syDWfMP 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�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

+ -

rby>Msz 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 qE2q?NVt0;1!=zu#vN-K&atg5hOih{#F+ diff --git a/docs/docs/woodpecker.png b/docs/woodpecker.png similarity index 100% rename from docs/docs/woodpecker.png rename to docs/woodpecker.png From acd862cac3e737fd88eed8e35dd30b2d376620d9 Mon Sep 17 00:00:00 2001 From: qwerty287 <80460567+qwerty287@users.noreply.github.com> Date: Sun, 11 Aug 2024 12:05:10 +0200 Subject: [PATCH 096/547] Improve error on config loading (#4024) --- server/pipeline/create.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/pipeline/create.go b/server/pipeline/create.go index 2692d1117..0e2d79e58 100644 --- a/server/pipeline/create.go +++ b/server/pipeline/create.go @@ -88,7 +88,7 @@ func Create(ctx context.Context, _store store.Store, repo *model.Repo, pipeline return nil, ErrFiltered } else if configFetchErr != nil { log.Debug().Str("repo", repo.FullName).Err(configFetchErr).Msgf("error while fetching config '%s' in '%s' with user: '%s'", repo.Config, pipeline.Ref, repoUser.Login) - return nil, updatePipelineWithErr(ctx, _forge, _store, pipeline, repo, repoUser, fmt.Errorf("pipeline definition not found in %s", repo.FullName)) + return nil, updatePipelineWithErr(ctx, _forge, _store, pipeline, repo, repoUser, fmt.Errorf("could not load config from forge: %w", err)) } pipelineItems, parseErr := parsePipeline(_forge, _store, pipeline, repoUser, repo, forgeYamlConfigs, nil) From bcecbbd3986d9b245b7ec83f92da8da8602483b6 Mon Sep 17 00:00:00 2001 From: qwerty287 <80460567+qwerty287@users.noreply.github.com> Date: Wed, 14 Aug 2024 21:37:05 +0200 Subject: [PATCH 097/547] Fix lint (#4032) --- pipeline/backend/kubernetes/pod_test.go | 8 ++++---- pipeline/frontend/yaml/linter/linter.go | 2 +- server/grpc/rpc.go | 2 +- server/pipeline/approve.go | 7 ++++--- server/pipeline/create.go | 10 +++++----- server/pipeline/decline.go | 3 ++- server/pipeline/restart.go | 12 ++++++------ 7 files changed, 23 insertions(+), 21 deletions(-) diff --git a/pipeline/backend/kubernetes/pod_test.go b/pipeline/backend/kubernetes/pod_test.go index 4f7732878..4ea4cc687 100644 --- a/pipeline/backend/kubernetes/pod_test.go +++ b/pipeline/backend/kubernetes/pod_test.go @@ -65,7 +65,7 @@ func TestStepLabel(t *testing.T) { } func TestTinyPod(t *testing.T) { - expected := ` + const expected = ` { "metadata": { "name": "wp-01he8bebctabr3kgk0qj36d2me-0", @@ -149,7 +149,7 @@ func TestTinyPod(t *testing.T) { } func TestFullPod(t *testing.T) { - expected := ` + const expected = ` { "metadata": { "name": "wp-01he8bebctabr3kgk0qj36d2me-0", @@ -429,7 +429,7 @@ func TestPodPrivilege(t *testing.T) { } func TestScratchPod(t *testing.T) { - expected := ` + const expected = ` { "metadata": { "name": "wp-01he8bebctabr3kgk0qj36d2me-0", @@ -474,7 +474,7 @@ func TestScratchPod(t *testing.T) { } func TestSecrets(t *testing.T) { - expected := ` + const expected = ` { "metadata": { "name": "wp-3kgk0qj36d2me01he8bebctabr-0", diff --git a/pipeline/frontend/yaml/linter/linter.go b/pipeline/frontend/yaml/linter/linter.go index 8305a9710..3e99f1713 100644 --- a/pipeline/frontend/yaml/linter/linter.go +++ b/pipeline/frontend/yaml/linter/linter.go @@ -172,7 +172,7 @@ func (l *Linter) lintTrusted(config *WorkflowConfig, c *types.Container, area st if len(c.NetworkMode) != 0 { errors = append(errors, "Insufficient privileges to use network_mode") } - if c.Volumes.Volumes != nil && len(c.Volumes.Volumes) != 0 { + if len(c.Volumes.Volumes) != 0 { errors = append(errors, "Insufficient privileges to use volumes") } if len(c.Tmpfs) != 0 { diff --git a/server/grpc/rpc.go b/server/grpc/rpc.go index 83d366c77..ca43ea3d6 100644 --- a/server/grpc/rpc.go +++ b/server/grpc/rpc.go @@ -138,7 +138,7 @@ func (s *RPC) Update(_ context.Context, strWorkflowID string, state rpc.StepStat Int64("stepPipelineID", step.PipelineID). Int64("currentPipelineID", currentPipeline.ID). Msg(msg) - return fmt.Errorf(msg) + return errors.New(msg) } repo, err := s.store.GetRepo(currentPipeline.RepoID) diff --git a/server/pipeline/approve.go b/server/pipeline/approve.go index 374693a2c..d91840c7d 100644 --- a/server/pipeline/approve.go +++ b/server/pipeline/approve.go @@ -16,6 +16,7 @@ package pipeline import ( "context" + "errors" "fmt" "github.com/rs/zerolog/log" @@ -37,7 +38,7 @@ func Approve(ctx context.Context, store store.Store, currentPipeline *model.Pipe if err != nil { msg := fmt.Sprintf("failure to load forge for repo '%s'", repo.FullName) log.Error().Err(err).Str("repo", repo.FullName).Msg(msg) - return nil, fmt.Errorf(msg) + return nil, errors.New(msg) } // fetch the pipeline file from the database @@ -84,7 +85,7 @@ func Approve(ctx context.Context, store store.Store, currentPipeline *model.Pipe if err != nil { msg := fmt.Sprintf("failure to createPipelineItems for %s", repo.FullName) log.Error().Err(err).Msg(msg) - return nil, fmt.Errorf(msg) + return nil, errors.New(msg) } // we have no way to link old workflows and steps in database to new engine generated steps, @@ -100,7 +101,7 @@ func Approve(ctx context.Context, store store.Store, currentPipeline *model.Pipe if err != nil { msg := fmt.Sprintf("failure to start pipeline for %s: %v", repo.FullName, err) log.Error().Err(err).Msg(msg) - return nil, fmt.Errorf(msg) + return nil, errors.New(msg) } return currentPipeline, nil diff --git a/server/pipeline/create.go b/server/pipeline/create.go index 0e2d79e58..0539e8d3c 100644 --- a/server/pipeline/create.go +++ b/server/pipeline/create.go @@ -38,7 +38,7 @@ func Create(ctx context.Context, _store store.Store, repo *model.Repo, pipeline if err != nil { msg := fmt.Sprintf("failure to find repo owner via id '%d'", repo.UserID) log.Error().Err(err).Str("repo", repo.FullName).Msg(msg) - return nil, fmt.Errorf(msg) + return nil, errors.New(msg) } if pipeline.Event == model.EventPush || pipeline.Event == model.EventPull || pipeline.Event == model.EventPullClosed { @@ -57,7 +57,7 @@ func Create(ctx context.Context, _store store.Store, repo *model.Repo, pipeline if err != nil { msg := fmt.Sprintf("failure to load forge for repo '%s'", repo.FullName) log.Error().Err(err).Str("repo", repo.FullName).Msg(msg) - return nil, fmt.Errorf(msg) + return nil, errors.New(msg) } // If the forge has a refresh token, the current access token @@ -117,7 +117,7 @@ func Create(ctx context.Context, _store store.Store, repo *model.Repo, pipeline if err != nil { msg := fmt.Sprintf("failed to find or persist pipeline config for %s", repo.FullName) log.Error().Err(err).Msg(msg) - return nil, fmt.Errorf(msg) + return nil, errors.New(msg) } configs = append(configs, config) } @@ -125,7 +125,7 @@ func Create(ctx context.Context, _store store.Store, repo *model.Repo, pipeline if err := linkPipelineConfigs(_store, configs, pipeline.ID); err != nil { msg := fmt.Sprintf("failed to find or persist pipeline config for %s", repo.FullName) log.Error().Err(err).Msg(msg) - return nil, fmt.Errorf(msg) + return nil, errors.New(msg) } if err := prepareStart(ctx, _forge, _store, pipeline, repoUser, repo); err != nil { @@ -145,7 +145,7 @@ func Create(ctx context.Context, _store store.Store, repo *model.Repo, pipeline if err != nil { msg := fmt.Sprintf("failed to start pipeline for %s", repo.FullName) log.Error().Err(err).Msg(msg) - return nil, fmt.Errorf(msg) + return nil, errors.New(msg) } return pipeline, nil diff --git a/server/pipeline/decline.go b/server/pipeline/decline.go index 1f9611c5c..a4f7e48a3 100644 --- a/server/pipeline/decline.go +++ b/server/pipeline/decline.go @@ -16,6 +16,7 @@ package pipeline import ( "context" + "errors" "fmt" "github.com/rs/zerolog/log" @@ -31,7 +32,7 @@ func Decline(ctx context.Context, store store.Store, pipeline *model.Pipeline, u if err != nil { msg := fmt.Sprintf("failure to load forge for repo '%s'", repo.FullName) log.Error().Err(err).Str("repo", repo.FullName).Msg(msg) - return nil, fmt.Errorf(msg) + return nil, errors.New(msg) } if pipeline.Status != model.StatusBlocked { diff --git a/server/pipeline/restart.go b/server/pipeline/restart.go index e8b841bf1..da0888511 100644 --- a/server/pipeline/restart.go +++ b/server/pipeline/restart.go @@ -33,7 +33,7 @@ func Restart(ctx context.Context, store store.Store, lastPipeline *model.Pipelin if err != nil { msg := fmt.Sprintf("failure to load forge for repo '%s'", repo.FullName) log.Error().Err(err).Str("repo", repo.FullName).Msg(msg) - return nil, fmt.Errorf(msg) + return nil, errors.New(msg) } switch lastPipeline.Status { @@ -70,7 +70,7 @@ func Restart(ctx context.Context, store store.Store, lastPipeline *model.Pipelin if err != nil { msg := fmt.Sprintf("failure to save pipeline for %s", repo.FullName) log.Error().Err(err).Msg(msg) - return nil, fmt.Errorf(msg) + return nil, errors.New(msg) } if len(configs) == 0 { @@ -85,27 +85,27 @@ func Restart(ctx context.Context, store store.Store, lastPipeline *model.Pipelin if err := linkPipelineConfigs(store, configs, newPipeline.ID); err != nil { msg := fmt.Sprintf("failure to persist pipeline config for %s.", repo.FullName) log.Error().Err(err).Msg(msg) - return nil, fmt.Errorf(msg) + return nil, errors.New(msg) } newPipeline, pipelineItems, err := createPipelineItems(ctx, forge, store, newPipeline, user, repo, pipelineFiles, envs) if err != nil { msg := fmt.Sprintf("failure to createPipelineItems for %s", repo.FullName) log.Error().Err(err).Msg(msg) - return nil, fmt.Errorf(msg) + return nil, errors.New(msg) } if err := prepareStart(ctx, forge, store, newPipeline, user, repo); err != nil { msg := fmt.Sprintf("failure to prepare pipeline for %s", repo.FullName) log.Error().Err(err).Msg(msg) - return nil, fmt.Errorf(msg) + return nil, errors.New(msg) } newPipeline, err = start(ctx, forge, store, newPipeline, user, repo, pipelineItems) if err != nil { msg := fmt.Sprintf("failure to start pipeline for %s", repo.FullName) log.Error().Err(err).Msg(msg) - return nil, fmt.Errorf(msg) + return nil, errors.New(msg) } return newPipeline, nil From b8c1d68eb176d8dfaa0a75bf35cfd01511463671 Mon Sep 17 00:00:00 2001 From: Anbraten <6918444+anbraten@users.noreply.github.com> Date: Wed, 14 Aug 2024 21:53:35 +0200 Subject: [PATCH 098/547] Only update agent.LastWork if not done recently (#4031) --- server/grpc/rpc.go | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/server/grpc/rpc.go b/server/grpc/rpc.go index ca43ea3d6..bdd498b13 100644 --- a/server/grpc/rpc.go +++ b/server/grpc/rpc.go @@ -98,8 +98,7 @@ func (s *RPC) Extend(c context.Context, workflowID string) error { return err } - agent.LastWork = time.Now().Unix() - err = s.store.AgentUpdate(agent) + err = s.updateAgentLastWork(agent) if err != nil { return err } @@ -237,8 +236,7 @@ func (s *RPC) Init(c context.Context, strWorkflowID string, state rpc.WorkflowSt } s.updateForgeStatus(c, repo, currentPipeline, workflow) - agent.LastWork = time.Now().Unix() - return s.store.AgentUpdate(agent) + return s.updateAgentLastWork(agent) } // Done marks the workflow with the given ID as done. @@ -331,8 +329,7 @@ func (s *RPC) Done(c context.Context, strWorkflowID string, state rpc.WorkflowSt if err != nil { return err } - agent.LastWork = time.Now().Unix() - return s.store.AgentUpdate(agent) + return s.updateAgentLastWork(agent) } // Log writes a log entry to the database and publishes it to the pubsub. @@ -362,8 +359,9 @@ func (s *RPC) Log(c context.Context, rpcLogEntry *rpc.LogEntry) error { if err != nil { return err } - agent.LastWork = time.Now().Unix() - if err := s.store.AgentUpdate(agent); err != nil { + + err = s.updateAgentLastWork(agent) + if err != nil { return err } @@ -510,3 +508,17 @@ func (s *RPC) getHostnameFromContext(ctx context.Context) (string, error) { } return "", errors.New("no hostname in metadata") } + +func (s *RPC) updateAgentLastWork(agent *model.Agent) error { + // only update agent.LastWork if not done recently + if time.Unix(agent.LastWork, 0).Add(1 * time.Minute).Before(time.Now()) { + return nil + } + + agent.LastWork = time.Now().Unix() + if err := s.store.AgentUpdate(agent); err != nil { + return err + } + + return nil +} From 289f530b2b794a7335f252cfea0acfa163c9d733 Mon Sep 17 00:00:00 2001 From: qwerty287 <80460567+qwerty287@users.noreply.github.com> Date: Thu, 15 Aug 2024 07:40:14 +0200 Subject: [PATCH 099/547] Warn if using secrets/env with plugin (#4027) --- docs/docs/20-usage/51-plugins/51-overview.md | 7 ++++--- pipeline/frontend/yaml/linter/linter.go | 5 ++++- pipeline/frontend/yaml/linter/linter_test.go | 2 +- pipeline/frontend/yaml/linter/schema/schema.json | 3 --- pipeline/frontend/yaml/types/container.go | 3 ++- 5 files changed, 11 insertions(+), 9 deletions(-) diff --git a/docs/docs/20-usage/51-plugins/51-overview.md b/docs/docs/20-usage/51-plugins/51-overview.md index 93a5d27f4..2ac5e2e49 100644 --- a/docs/docs/20-usage/51-plugins/51-overview.md +++ b/docs/docs/20-usage/51-plugins/51-overview.md @@ -50,9 +50,10 @@ steps: Plugins are just pipeline steps. They share the build workspace, mounted as a volume, and therefore have access to your source tree. While normal steps are all about arbitrary code execution, plugins should only allow the functions intended by the plugin author. -So there are a few limitations, like the workspace base is always mounted at `/woodpecker`, but the working directory is dynamically adjusted accordingly. So as user of a plugin you should not have to care about this. - -Also instead of using environment variables the plugin should only care about one prefixed with `PLUGIN_` witch are the internal representation of the **settings** ([read more](./20-creating-plugins.md)). +That's why there are a few limitations. The workspace base is always mounted at `/woodpecker`, but the working directory is dynamically +adjusted accordingly, as user of a plugin you should not have to care about this. Also, you cannot use the plugin together with `commands` +or `entrypoint` which will fail. Using `secrets` or `environment` is possible, but in this case, the plugin is internally not treated as plugin +anymore. The container then cannot access secrets with plugin filter anymore and the containers won't be privileged without explicit definition. ## Finding Plugins diff --git a/pipeline/frontend/yaml/linter/linter.go b/pipeline/frontend/yaml/linter/linter.go index 3e99f1713..b64d7bf4c 100644 --- a/pipeline/frontend/yaml/linter/linter.go +++ b/pipeline/frontend/yaml/linter/linter.go @@ -143,7 +143,10 @@ func (l *Linter) lintSettings(config *WorkflowConfig, c *types.Container, field return newLinterError("Cannot configure both entrypoint and settings", config.File, fmt.Sprintf("%s.%s", field, c.Name), false) } if len(c.Environment) != 0 { - return newLinterError("Cannot configure both environment and settings", config.File, fmt.Sprintf("%s.%s", field, c.Name), false) + return newLinterError("Should not configure both environment and settings", config.File, fmt.Sprintf("%s.%s", field, c.Name), true) + } + if len(c.Secrets.Secrets) != 0 { + return newLinterError("Should not configure both secrets and settings", config.File, fmt.Sprintf("%s.%s", field, c.Name), true) } return nil } diff --git a/pipeline/frontend/yaml/linter/linter_test.go b/pipeline/frontend/yaml/linter/linter_test.go index 2a4a891ec..4c9000d24 100644 --- a/pipeline/frontend/yaml/linter/linter_test.go +++ b/pipeline/frontend/yaml/linter/linter_test.go @@ -163,7 +163,7 @@ func TestLintErrors(t *testing.T) { }, { from: "steps: { build: { image: golang, settings: { test: 'true' }, environment: [ 'TEST=true' ] } }", - want: "Cannot configure both environment and settings", + want: "Should not configure both environment and settings", }, { from: "{pipeline: { build: { image: golang, settings: { test: 'true' } } }, when: { branch: main, event: push } }", diff --git a/pipeline/frontend/yaml/linter/schema/schema.json b/pipeline/frontend/yaml/linter/schema/schema.json index a46bdab21..ffe9fac74 100644 --- a/pipeline/frontend/yaml/linter/schema/schema.json +++ b/pipeline/frontend/yaml/linter/schema/schema.json @@ -448,9 +448,6 @@ "directory": { "$ref": "#/definitions/step_directory" }, - "secrets": { - "$ref": "#/definitions/step_secrets" - }, "settings": { "$ref": "#/definitions/step_settings" }, diff --git a/pipeline/frontend/yaml/types/container.go b/pipeline/frontend/yaml/types/container.go index 40d7385f8..edfacd5c2 100644 --- a/pipeline/frontend/yaml/types/container.go +++ b/pipeline/frontend/yaml/types/container.go @@ -124,7 +124,8 @@ func (c *ContainerList) UnmarshalYAML(value *yaml.Node) error { func (c *Container) IsPlugin() bool { return len(c.Commands) == 0 && len(c.Entrypoint) == 0 && - len(c.Environment) == 0 + len(c.Environment) == 0 && + len(c.Secrets.Secrets) == 0 } func (c *Container) IsTrustedCloneImage() bool { From aea40fed5ff7c7ffd1e19d24760ac8b2e7e6faad Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 15 Aug 2024 17:10:04 +0200 Subject: [PATCH 100/547] Update docs npm deps non-major (#4033) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- docs/package.json | 2 +- docs/pnpm-lock.yaml | 1357 ++++++++++++++++++++++++++----------------- 2 files changed, 816 insertions(+), 543 deletions(-) diff --git a/docs/package.json b/docs/package.json index 2d90da6b7..7b7f17980 100644 --- a/docs/package.json +++ b/docs/package.json @@ -43,7 +43,7 @@ }, "devDependencies": { "@docusaurus/module-type-aliases": "^3.1.0", - "@docusaurus/tsconfig": "3.4.0", + "@docusaurus/tsconfig": "3.5.2", "@docusaurus/types": "^3.1.0", "@types/node": "^20.11.30", "@types/react": "^18.2.67", diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml index c1297da91..9dd4b9958 100644 --- a/docs/pnpm-lock.yaml +++ b/docs/pnpm-lock.yaml @@ -13,16 +13,16 @@ importers: dependencies: '@docusaurus/core': specifier: ^3.1.0 - version: 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + version: 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/plugin-content-blog': specifier: ^3.1.0 - version: 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + version: 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/preset-classic': specifier: ^3.1.0 - version: 3.4.0(@algolia/client-search@4.24.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)(typescript@5.5.4) + version: 3.5.2(@algolia/client-search@4.24.0)(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)(typescript@5.5.4) '@easyops-cn/docusaurus-search-local': specifier: ^0.44.0 - version: 0.44.4(@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + version: 0.44.5(@docusaurus/theme-common@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@mdx-js/react': specifier: ^3.0.0 version: 3.0.1(@types/react@18.3.3)(react@18.3.1) @@ -49,23 +49,23 @@ importers: version: 18.3.1(react@18.3.1) redocusaurus: specifier: ^2.0.2 - version: 2.1.1(@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/utils@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4))(core-js@3.37.1)(enzyme@3.11.0)(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(webpack@5.93.0) + version: 2.1.1(@docusaurus/theme-common@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/utils@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4))(core-js@3.38.0)(enzyme@3.11.0)(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(webpack@5.93.0) url-loader: specifier: ^4.1.1 version: 4.1.1(file-loader@6.2.0(webpack@5.93.0))(webpack@5.93.0) devDependencies: '@docusaurus/module-type-aliases': specifier: ^3.1.0 - version: 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/tsconfig': - specifier: 3.4.0 - version: 3.4.0 + specifier: 3.5.2 + version: 3.5.2 '@docusaurus/types': specifier: ^3.1.0 - version: 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/node': specifier: ^20.11.30 - version: 20.14.13 + version: 20.14.15 '@types/react': specifier: ^18.2.67 version: 18.3.3 @@ -96,22 +96,22 @@ importers: devDependencies: '@docusaurus/module-type-aliases': specifier: ^3.3.2 - version: 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/theme-classic': specifier: ^3.3.2 - version: 3.4.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + version: 3.5.2(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/types': specifier: ^3.3.2 - version: 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tsconfig/docusaurus': specifier: ^2.0.3 version: 2.0.3 '@types/node': specifier: ^20.12.13 - version: 20.14.13 + version: 20.14.15 axios: specifier: ^1.7.2 - version: 1.7.2 + version: 1.7.4 concurrently: specifier: ^8.2.2 version: 8.2.2 @@ -313,8 +313,8 @@ packages: resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} - '@babel/parser@7.25.0': - resolution: {integrity: sha512-CzdIU9jdP0dg7HdyB+bHvDJGagUv+qtzZt5rYCWwW6tITNqV9odjp6Qu41gkG0ca5UfdDUWrKkiAnHHdGRnOrA==} + '@babel/parser@7.25.3': + resolution: {integrity: sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==} engines: {node: '>=6.0.0'} hasBin: true @@ -324,6 +324,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.3': + resolution: {integrity: sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.0': resolution: {integrity: sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==} engines: {node: '>=6.9.0'} @@ -804,6 +810,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/preset-env@7.25.3': + resolution: {integrity: sha512-QsYW7UeAaXvLPX9tdVliMJE7MD7M6MLYVTovRTIwhoYQVFHR1rM4wO8wqAezYi3/BpSD+NzVCZ69R6smWiIi8g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/preset-modules@0.1.6-no-external-plugins': resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: @@ -836,8 +848,8 @@ packages: resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.25.2': - resolution: {integrity: sha512-s4/r+a7xTnny2O6FcZzqgT6nE4/GHEdcqj4qAeglbUOh0TeglEfmNJFAd/OLoVtGd6ZhAO8GCVvCNUO5t/VJVQ==} + '@babel/traverse@7.25.3': + resolution: {integrity: sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==} engines: {node: '>=6.9.0'} '@babel/types@7.25.2': @@ -879,93 +891,95 @@ packages: search-insights: optional: true - '@docusaurus/core@3.4.0': - resolution: {integrity: sha512-g+0wwmN2UJsBqy2fQRQ6fhXruoEa62JDeEa5d8IdTJlMoaDaEDfHh7WjwGRn4opuTQWpjAwP/fbcgyHKlE+64w==} + '@docusaurus/core@3.5.2': + resolution: {integrity: sha512-4Z1WkhCSkX4KO0Fw5m/Vuc7Q3NxBG53NE5u59Rs96fWkMPZVSrzEPP16/Nk6cWb/shK7xXPndTmalJtw7twL/w==} engines: {node: '>=18.0'} hasBin: true peerDependencies: + '@mdx-js/react': ^3.0.0 react: ^18.0.0 react-dom: ^18.0.0 - '@docusaurus/cssnano-preset@3.4.0': - resolution: {integrity: sha512-qwLFSz6v/pZHy/UP32IrprmH5ORce86BGtN0eBtG75PpzQJAzp9gefspox+s8IEOr0oZKuQ/nhzZ3xwyc3jYJQ==} + '@docusaurus/cssnano-preset@3.5.2': + resolution: {integrity: sha512-D3KiQXOMA8+O0tqORBrTOEQyQxNIfPm9jEaJoALjjSjc2M/ZAWcUfPQEnwr2JB2TadHw2gqWgpZckQmrVWkytA==} engines: {node: '>=18.0'} - '@docusaurus/logger@3.4.0': - resolution: {integrity: sha512-bZwkX+9SJ8lB9kVRkXw+xvHYSMGG4bpYHKGXeXFvyVc79NMeeBSGgzd4TQLHH+DYeOJoCdl8flrFJVxlZ0wo/Q==} + '@docusaurus/logger@3.5.2': + resolution: {integrity: sha512-LHC540SGkeLfyT3RHK3gAMK6aS5TRqOD4R72BEU/DE2M/TY8WwEUAMY576UUc/oNJXv8pGhBmQB6N9p3pt8LQw==} engines: {node: '>=18.0'} - '@docusaurus/mdx-loader@3.4.0': - resolution: {integrity: sha512-kSSbrrk4nTjf4d+wtBA9H+FGauf2gCax89kV8SUSJu3qaTdSIKdWERlngsiHaCFgZ7laTJ8a67UFf+xlFPtuTw==} + '@docusaurus/mdx-loader@3.5.2': + resolution: {integrity: sha512-ku3xO9vZdwpiMIVd8BzWV0DCqGEbCP5zs1iHfKX50vw6jX8vQo0ylYo1YJMZyz6e+JFJ17HYHT5FzVidz2IflA==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - '@docusaurus/module-type-aliases@3.4.0': - resolution: {integrity: sha512-A1AyS8WF5Bkjnb8s+guTDuYmUiwJzNrtchebBHpc0gz0PyHJNMaybUlSrmJjHVcGrya0LKI4YcR3lBDQfXRYLw==} + '@docusaurus/module-type-aliases@3.5.2': + resolution: {integrity: sha512-Z+Xu3+2rvKef/YKTMxZHsEXp1y92ac0ngjDiExRdqGTmEKtCUpkbNYH8v5eXo5Ls+dnW88n6WTa+Q54kLOkwPg==} peerDependencies: react: '*' react-dom: '*' - '@docusaurus/plugin-content-blog@3.4.0': - resolution: {integrity: sha512-vv6ZAj78ibR5Jh7XBUT4ndIjmlAxkijM3Sx5MAAzC1gyv0vupDQNhzuFg1USQmQVj3P5I6bquk12etPV3LJ+Xw==} + '@docusaurus/plugin-content-blog@3.5.2': + resolution: {integrity: sha512-R7ghWnMvjSf+aeNDH0K4fjyQnt5L0KzUEnUhmf1e3jZrv3wogeytZNN6n7X8yHcMsuZHPOrctQhXWnmxu+IRRg==} + engines: {node: '>=18.0'} + peerDependencies: + '@docusaurus/plugin-content-docs': '*' + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/plugin-content-docs@3.5.2': + resolution: {integrity: sha512-Bt+OXn/CPtVqM3Di44vHjE7rPCEsRCB/DMo2qoOuozB9f7+lsdrHvD0QCHdBs0uhz6deYJDppAr2VgqybKPlVQ==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - '@docusaurus/plugin-content-docs@3.4.0': - resolution: {integrity: sha512-HkUCZffhBo7ocYheD9oZvMcDloRnGhBMOZRyVcAQRFmZPmNqSyISlXA1tQCIxW+r478fty97XXAGjNYzBjpCsg==} + '@docusaurus/plugin-content-pages@3.5.2': + resolution: {integrity: sha512-WzhHjNpoQAUz/ueO10cnundRz+VUtkjFhhaQ9jApyv1a46FPURO4cef89pyNIOMny1fjDz/NUN2z6Yi+5WUrCw==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - '@docusaurus/plugin-content-pages@3.4.0': - resolution: {integrity: sha512-h2+VN/0JjpR8fIkDEAoadNjfR3oLzB+v1qSXbIAKjQ46JAHx3X22n9nqS+BWSQnTnp1AjkjSvZyJMekmcwxzxg==} + '@docusaurus/plugin-debug@3.5.2': + resolution: {integrity: sha512-kBK6GlN0itCkrmHuCS6aX1wmoWc5wpd5KJlqQ1FyrF0cLDnvsYSnh7+ftdwzt7G6lGBho8lrVwkkL9/iQvaSOA==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - '@docusaurus/plugin-debug@3.4.0': - resolution: {integrity: sha512-uV7FDUNXGyDSD3PwUaf5YijX91T5/H9SX4ErEcshzwgzWwBtK37nUWPU3ZLJfeTavX3fycTOqk9TglpOLaWkCg==} + '@docusaurus/plugin-google-analytics@3.5.2': + resolution: {integrity: sha512-rjEkJH/tJ8OXRE9bwhV2mb/WP93V441rD6XnM6MIluu7rk8qg38iSxS43ga2V2Q/2ib53PcqbDEJDG/yWQRJhQ==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - '@docusaurus/plugin-google-analytics@3.4.0': - resolution: {integrity: sha512-mCArluxEGi3cmYHqsgpGGt3IyLCrFBxPsxNZ56Mpur0xSlInnIHoeLDH7FvVVcPJRPSQ9/MfRqLsainRw+BojA==} + '@docusaurus/plugin-google-gtag@3.5.2': + resolution: {integrity: sha512-lm8XL3xLkTPHFKKjLjEEAHUrW0SZBSHBE1I+i/tmYMBsjCcUB5UJ52geS5PSiOCFVR74tbPGcPHEV/gaaxFeSA==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - '@docusaurus/plugin-google-gtag@3.4.0': - resolution: {integrity: sha512-Dsgg6PLAqzZw5wZ4QjUYc8Z2KqJqXxHxq3vIoyoBWiLEEfigIs7wHR+oiWUQy3Zk9MIk6JTYj7tMoQU0Jm3nqA==} + '@docusaurus/plugin-google-tag-manager@3.5.2': + resolution: {integrity: sha512-QkpX68PMOMu10Mvgvr5CfZAzZQFx8WLlOiUQ/Qmmcl6mjGK6H21WLT5x7xDmcpCoKA/3CegsqIqBR+nA137lQg==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - '@docusaurus/plugin-google-tag-manager@3.4.0': - resolution: {integrity: sha512-O9tX1BTwxIhgXpOLpFDueYA9DWk69WCbDRrjYoMQtFHSkTyE7RhNgyjSPREUWJb9i+YUg3OrsvrBYRl64FCPCQ==} + '@docusaurus/plugin-sitemap@3.5.2': + resolution: {integrity: sha512-DnlqYyRAdQ4NHY28TfHuVk414ft2uruP4QWCH//jzpHjqvKyXjj2fmDtI8RPUBh9K8iZKFMHRnLtzJKySPWvFA==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - '@docusaurus/plugin-sitemap@3.4.0': - resolution: {integrity: sha512-+0VDvx9SmNrFNgwPoeoCha+tRoAjopwT0+pYO1xAbyLcewXSemq+eLxEa46Q1/aoOaJQ0qqHELuQM7iS2gp33Q==} - engines: {node: '>=18.0'} - peerDependencies: - react: ^18.0.0 - react-dom: ^18.0.0 - - '@docusaurus/preset-classic@3.4.0': - resolution: {integrity: sha512-Ohj6KB7siKqZaQhNJVMBBUzT3Nnp6eTKqO+FXO3qu/n1hJl3YLwVKTWBg28LF7MWrKu46UuYavwMRxud0VyqHg==} + '@docusaurus/preset-classic@3.5.2': + resolution: {integrity: sha512-3ihfXQ95aOHiLB5uCu+9PRy2gZCeSZoDcqpnDvf3B+sTrMvMTr8qRUzBvWkoIqc82yG5prCboRjk1SVILKx6sg==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 @@ -976,42 +990,43 @@ packages: peerDependencies: react: '*' - '@docusaurus/theme-classic@3.4.0': - resolution: {integrity: sha512-0IPtmxsBYv2adr1GnZRdMkEQt1YW6tpzrUPj02YxNpvJ5+ju4E13J5tB4nfdaen/tfR1hmpSPlTFPvTf4kwy8Q==} + '@docusaurus/theme-classic@3.5.2': + resolution: {integrity: sha512-XRpinSix3NBv95Rk7xeMF9k4safMkwnpSgThn0UNQNumKvmcIYjfkwfh2BhwYh/BxMXQHJ/PdmNh22TQFpIaYg==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - '@docusaurus/theme-common@3.4.0': - resolution: {integrity: sha512-0A27alXuv7ZdCg28oPE8nH/Iz73/IUejVaCazqu9elS4ypjiLhK3KfzdSQBnL/g7YfHSlymZKdiOHEo8fJ0qMA==} + '@docusaurus/theme-common@3.5.2': + resolution: {integrity: sha512-QXqlm9S6x9Ibwjs7I2yEDgsCocp708DrCrgHgKwg2n2AY0YQ6IjU0gAK35lHRLOvAoJUfCKpQAwUykB0R7+Eew==} + engines: {node: '>=18.0'} + peerDependencies: + '@docusaurus/plugin-content-docs': '*' + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/theme-search-algolia@3.5.2': + resolution: {integrity: sha512-qW53kp3VzMnEqZGjakaV90sst3iN1o32PH+nawv1uepROO8aEGxptcq2R5rsv7aBShSRbZwIobdvSYKsZ5pqvA==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - '@docusaurus/theme-search-algolia@3.4.0': - resolution: {integrity: sha512-aiHFx7OCw4Wck1z6IoShVdUWIjntC8FHCw9c5dR8r3q4Ynh+zkS8y2eFFunN/DL6RXPzpnvKCg3vhLQYJDmT9Q==} + '@docusaurus/theme-translations@3.5.2': + resolution: {integrity: sha512-GPZLcu4aT1EmqSTmbdpVrDENGR2yObFEX8ssEFYTCiAIVc0EihNSdOIBTazUvgNqwvnoU1A8vIs1xyzc3LITTw==} engines: {node: '>=18.0'} + + '@docusaurus/tsconfig@3.5.2': + resolution: {integrity: sha512-rQ7toURCFnWAIn8ubcquDs0ewhPwviMzxh6WpRjBW7sJVCXb6yzwUaY3HMNa0VXCFw+qkIbFywrMTf+Pb4uHWQ==} + + '@docusaurus/types@3.5.2': + resolution: {integrity: sha512-N6GntLXoLVUwkZw7zCxwy9QiuEXIcTVzA9AkmNw16oc0AP3SXLrMmDMMBIfgqwuKWa6Ox6epHol9kMtJqekACw==} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - '@docusaurus/theme-translations@3.4.0': - resolution: {integrity: sha512-zSxCSpmQCCdQU5Q4CnX/ID8CSUUI3fvmq4hU/GNP/XoAWtXo9SAVnM3TzpU8Gb//H3WCsT8mJcTfyOk3d9ftNg==} - engines: {node: '>=18.0'} - - '@docusaurus/tsconfig@3.4.0': - resolution: {integrity: sha512-0qENiJ+TRaeTzcg4olrnh0BQ7eCxTgbYWBnWUeQDc84UYkt/T3pDNnm3SiQkqPb+YQ1qtYFlC0RriAElclo8Dg==} - - '@docusaurus/types@3.4.0': - resolution: {integrity: sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==} - peerDependencies: - react: ^18.0.0 - react-dom: ^18.0.0 - - '@docusaurus/utils-common@3.4.0': - resolution: {integrity: sha512-NVx54Wr4rCEKsjOH5QEVvxIqVvm+9kh7q8aYTU5WzUU9/Hctd6aTrcZ3G0Id4zYJ+AeaG5K5qHA4CY5Kcm2iyQ==} + '@docusaurus/utils-common@3.5.2': + resolution: {integrity: sha512-i0AZjHiRgJU6d7faQngIhuHKNrszpL/SHQPgF1zH4H+Ij6E9NBYGy6pkcGWToIv7IVPbs+pQLh1P3whn0gWXVg==} engines: {node: '>=18.0'} peerDependencies: '@docusaurus/types': '*' @@ -1019,12 +1034,12 @@ packages: '@docusaurus/types': optional: true - '@docusaurus/utils-validation@3.4.0': - resolution: {integrity: sha512-hYQ9fM+AXYVTWxJOT1EuNaRnrR2WGpRdLDQG07O8UOpsvCPWUVOeo26Rbm0JWY2sGLfzAb+tvJ62yF+8F+TV0g==} + '@docusaurus/utils-validation@3.5.2': + resolution: {integrity: sha512-m+Foq7augzXqB6HufdS139PFxDC5d5q2QKZy8q0qYYvGdI6nnlNsGH4cIGsgBnV7smz+mopl3g4asbSDvMV0jA==} engines: {node: '>=18.0'} - '@docusaurus/utils@3.4.0': - resolution: {integrity: sha512-fRwnu3L3nnWaXOgs88BVBmG1yGjcQqZNHG+vInhEa2Sz2oQB+ZjbEMO5Rh9ePFpZ0YDiDUhpaVjwmS+AU2F14g==} + '@docusaurus/utils@3.5.2': + resolution: {integrity: sha512-33QvcNFh+Gv+C2dP9Y9xWEzMgf3JzrpL2nW9PopidiohS1nDcyknKRx2DWaFvyVTTYIkkABVSr073VTj/NITNA==} engines: {node: '>=18.0'} peerDependencies: '@docusaurus/types': '*' @@ -1035,8 +1050,8 @@ packages: '@easyops-cn/autocomplete.js@0.38.1': resolution: {integrity: sha512-drg76jS6syilOUmVNkyo1c7ZEBPcPuK+aJA7AksM5ZIIbV57DMHCywiCr+uHyv8BE5jUTU98j/H7gVrkHrWW3Q==} - '@easyops-cn/docusaurus-search-local@0.44.4': - resolution: {integrity: sha512-Zgp69N9W+lkOqmwxE3aLLkveeqSJh/BwHg6TFZTfbliwEg9p9k5DH8NBWfZNpVfN7y6RFqCQ6/SU2l+4hKcXzw==} + '@easyops-cn/docusaurus-search-local@0.44.5': + resolution: {integrity: sha512-jT3wuYVzRoeB1gea+2iDtOMme0fD2h3M8HDVgs3garITO6vRxvEraFRVlYkfjLN9BkmzjMlz9nn7MI4qIx8utw==} engines: {node: '>=12'} peerDependencies: '@docusaurus/theme-common': ^2 || ^3 @@ -1359,8 +1374,8 @@ packages: resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} engines: {node: '>=12.22.0'} - '@pnpm/npm-conf@2.2.2': - resolution: {integrity: sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==} + '@pnpm/npm-conf@2.3.1': + resolution: {integrity: sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==} engines: {node: '>=12'} '@polka/url@1.0.0-next.25': @@ -1551,8 +1566,8 @@ packages: '@types/http-errors@2.0.4': resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} - '@types/http-proxy@1.17.14': - resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} + '@types/http-proxy@1.17.15': + resolution: {integrity: sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==} '@types/istanbul-lib-coverage@2.0.6': resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} @@ -1584,8 +1599,8 @@ packages: '@types/node@17.0.45': resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} - '@types/node@20.14.13': - resolution: {integrity: sha512-+bHoGiZb8UiQ0+WEtmph2IWQCjIqg8MDZMAV+ppRRhUZnquF5mQkP/9vpSwJClEiSM/C7fZZExPzfU0vJTyp8w==} + '@types/node@20.14.15': + resolution: {integrity: sha512-Fz1xDMCF/B00/tYSVMlmK7hVeLh7jE5f3B7X1/hmV0MJBwE27KlS7EvD/Yp+z1lm8mVhwV5w+n8jOZG8AfTlKw==} '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} @@ -1641,11 +1656,11 @@ packages: '@types/trusted-types@2.0.7': resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} - '@types/unist@2.0.10': - resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} + '@types/unist@2.0.11': + resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} - '@types/unist@3.0.2': - resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} '@types/ws@8.5.12': resolution: {integrity: sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==} @@ -1653,8 +1668,8 @@ packages: '@types/yargs-parser@21.0.3': resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - '@types/yargs@17.0.32': - resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} + '@types/yargs@17.0.33': + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} @@ -1852,8 +1867,8 @@ packages: resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} engines: {node: '>= 4.0.0'} - autoprefixer@10.4.19: - resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==} + autoprefixer@10.4.20: + resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: @@ -1863,8 +1878,8 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - axios@1.7.2: - resolution: {integrity: sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==} + axios@1.7.4: + resolution: {integrity: sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==} babel-loader@9.1.3: resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} @@ -1886,6 +1901,11 @@ packages: peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + babel-plugin-polyfill-corejs3@0.10.6: + resolution: {integrity: sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + babel-plugin-polyfill-regenerator@0.6.2: resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==} peerDependencies: @@ -1940,6 +1960,11 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + browserslist@4.23.3: + resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -1987,8 +2012,8 @@ packages: caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} - caniuse-lite@1.0.30001644: - resolution: {integrity: sha512-YGvlOZB4QhZuiis+ETS0VXR+MExbFf4fZYYeMTEE0aTQd/RdIjkTyZjLrbYVKnHzppDvnOhritRVv+i7Go6mHw==} + caniuse-lite@1.0.30001651: + resolution: {integrity: sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -2024,6 +2049,10 @@ packages: cheerio-select@2.1.0: resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} + cheerio@1.0.0: + resolution: {integrity: sha512-quS9HgjQpdaXOvsZz82Oz7uxtXiy6UIsIQcpBj7HRw2M63Skasm9qlDocAM7jNuaxdhpPU7c4kJN+gA5MCu4ww==} + engines: {node: '>=18.17'} + cheerio@1.0.0-rc.12: resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} engines: {node: '>= 6'} @@ -2198,11 +2227,14 @@ packages: core-js-compat@3.37.1: resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==} - core-js-pure@3.37.1: - resolution: {integrity: sha512-J/r5JTHSmzTxbiYYrzXg9w1VpqrYt+gexenBE9pugeyhwPZTAEJddyiReJWsLO6uNQ8xJZFbod6XC7KKwatCiA==} + core-js-compat@3.38.0: + resolution: {integrity: sha512-75LAicdLa4OJVwFxFbQR3NdnZjNgX6ILpVcVzcC4T2smerB5lELMrJQQQoWV6TiuC/vlaFqgU2tKQx9w5s0e0A==} - core-js@3.37.1: - resolution: {integrity: sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw==} + core-js-pure@3.38.0: + resolution: {integrity: sha512-8balb/HAXo06aHP58mZMtXgD8vcnXz9tUDePgqBgJgKdmTlMt+jw3ujqniuBDQXMvTzxnMpxHFeuSM3g1jWQuQ==} + + core-js@3.38.0: + resolution: {integrity: sha512-XPpwqEodRljce9KswjZShh95qJ1URisBeKCjUdq27YdenkslVe7OO0ZJhlYXAChW7OhXaRLl8AAba7IBfoIHug==} core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} @@ -2529,6 +2561,9 @@ packages: electron-to-chromium@1.5.3: resolution: {integrity: sha512-QNdYSS5i8D9axWp/6XIezRObRHqaav/ur9z1VzCDUCH1XIFOr9WQk5xmgunhsTpjjgDy3oLxO/WMOVZlpUQrlA==} + electron-to-chromium@1.5.8: + resolution: {integrity: sha512-4Nx0gP2tPNBLTrFxBMHpkQbtn2hidPVr/+/FTtcCiBYTucqc70zRyVZiOLj17Ui3wTO7SQ1/N+hkHYzJjBzt6A==} + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -2542,13 +2577,16 @@ packages: resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} engines: {node: '>= 4'} - emoticon@4.0.1: - resolution: {integrity: sha512-dqx7eA9YaqyvYtUhJwT4rC1HIp82j5ybS1/vQ42ur+jBe17dJMwZE4+gvL1XadSFfxaPFFGt3Xsw+Y8akThDlw==} + emoticon@4.1.0: + resolution: {integrity: sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ==} encodeurl@1.0.2: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} + encoding-sniffer@0.2.0: + resolution: {integrity: sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg==} + enhanced-resolve@5.17.1: resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} engines: {node: '>=10.13.0'} @@ -3104,6 +3142,9 @@ packages: htmlparser2@8.0.2: resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + htmlparser2@9.1.0: + resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==} + http-cache-semantics@4.1.1: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} @@ -3167,8 +3208,8 @@ packages: peerDependencies: postcss: ^8.1.0 - ignore@5.3.1: - resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} image-size@1.1.1: @@ -3198,8 +3239,8 @@ packages: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} - infima@0.2.0-alpha.43: - resolution: {integrity: sha512-2uw57LvUqW0rK/SWYnd/2rRfxNA5DDNOh33jxF7fy46VWoNhGxiUQyVZHbBMjQ33mQem0cjdDVwgWVAmlRfgyQ==} + infima@0.2.0-alpha.44: + resolution: {integrity: sha512-tuRkUSO/lB3rEhLJk25atwAjgLuzq070+pOW8XcvpHky/YbENnRRdPd85IBkyeTgttmOy5ah+yHYsK1HhUd4lQ==} engines: {node: '>=12'} inflight@1.0.6: @@ -3535,8 +3576,8 @@ packages: resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} engines: {node: '>=14.16'} - launch-editor@2.8.0: - resolution: {integrity: sha512-vJranOAJrI/llyWGRQqiDM+adrw+k83fvmmx3+nV47g3+36xM15jE+zyZ6Ffel02+xSvuM0b2GDRosXZkbb6wA==} + launch-editor@2.8.1: + resolution: {integrity: sha512-elBx2l/tp9z99X5H/qev8uyDywVh0VXAwEbjk8kJhnc5grOFkGh7aW6q55me9xnYbss261XtnUrysZ+XvGbhQA==} leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} @@ -4159,6 +4200,9 @@ packages: parse5-htmlparser2-tree-adapter@7.0.0: resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==} + parse5-parser-stream@7.1.2: + resolution: {integrity: sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==} + parse5@7.1.2: resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} @@ -4446,8 +4490,8 @@ packages: peerDependencies: postcss: ^8.4.31 - postcss-selector-parser@6.1.1: - resolution: {integrity: sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==} + postcss-selector-parser@6.1.2: + resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} engines: {node: '>=4'} postcss-sort-media-queries@5.2.0: @@ -4481,8 +4525,8 @@ packages: resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} engines: {node: ^10 || ^12 || >=14} - postcss@8.4.40: - resolution: {integrity: sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==} + postcss@8.4.41: + resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==} engines: {node: ^10 || ^12 || >=14} pretty-error@4.0.0: @@ -5219,8 +5263,8 @@ packages: uglify-js: optional: true - terser@5.31.3: - resolution: {integrity: sha512-pAfYn3NIZLyZpa83ZKigvj6Rn9c/vd5KfYGX7cN1mnzqgDcxWvrU5ZtAfIKhEXz9nRecw4z3LXkjaq96/qZqAA==} + terser@5.31.6: + resolution: {integrity: sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==} engines: {node: '>=10'} hasBin: true @@ -5287,8 +5331,8 @@ packages: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} - type-fest@4.23.0: - resolution: {integrity: sha512-ZiBujro2ohr5+Z/hZWHESLz3g08BBdrdLMieYFULJO+tWc437sn8kQsWLJoZErY8alNhxre9K4p3GURAG11n+w==} + type-fest@4.24.0: + resolution: {integrity: sha512-spAaHzc6qre0TlZQQ2aA/nGMe+2Z/wyGk5Z+Ru2VUfdNwT6kWO6TjevOlpebsATEG1EIQ2sOiDszud3lO5mt/Q==} engines: {node: '>=16'} type-is@1.6.18: @@ -5325,6 +5369,10 @@ packages: undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + undici@6.19.7: + resolution: {integrity: sha512-HR3W/bMGPSr90i8AAp2C4DM3wChFdJPLrWYpIS++LxS8K+W535qftjt+4MyjNYHeWabMj1nvtmLIi7l++iq91A==} + engines: {node: '>=18.17'} + unicode-canonical-property-names-ecmascript@2.0.0: resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} engines: {node: '>=4'} @@ -5457,8 +5505,8 @@ packages: resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} engines: {node: '>=18'} - watchpack@2.4.1: - resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==} + watchpack@2.4.2: + resolution: {integrity: sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==} engines: {node: '>=10.13.0'} wbuf@1.7.3: @@ -5790,9 +5838,9 @@ snapshots: '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) '@babel/helpers': 7.25.0 - '@babel/parser': 7.25.0 + '@babel/parser': 7.25.3 '@babel/template': 7.25.0 - '@babel/traverse': 7.25.2 + '@babel/traverse': 7.25.3 '@babel/types': 7.25.2 convert-source-map: 2.0.0 debug: 4.3.6 @@ -5815,7 +5863,7 @@ snapshots: '@babel/helper-builder-binary-assignment-operator-visitor@7.24.7': dependencies: - '@babel/traverse': 7.25.2 + '@babel/traverse': 7.25.3 '@babel/types': 7.25.2 transitivePeerDependencies: - supports-color @@ -5836,7 +5884,7 @@ snapshots: '@babel/helper-optimise-call-expression': 7.24.7 '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/traverse': 7.25.2 + '@babel/traverse': 7.25.3 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -5861,14 +5909,14 @@ snapshots: '@babel/helper-member-expression-to-functions@7.24.8': dependencies: - '@babel/traverse': 7.25.2 + '@babel/traverse': 7.25.3 '@babel/types': 7.25.2 transitivePeerDependencies: - supports-color '@babel/helper-module-imports@7.24.7': dependencies: - '@babel/traverse': 7.25.2 + '@babel/traverse': 7.25.3 '@babel/types': 7.25.2 transitivePeerDependencies: - supports-color @@ -5879,7 +5927,7 @@ snapshots: '@babel/helper-module-imports': 7.24.7 '@babel/helper-simple-access': 7.24.7 '@babel/helper-validator-identifier': 7.24.7 - '@babel/traverse': 7.25.2 + '@babel/traverse': 7.25.3 transitivePeerDependencies: - supports-color @@ -5894,7 +5942,7 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-wrap-function': 7.25.0 - '@babel/traverse': 7.25.2 + '@babel/traverse': 7.25.3 transitivePeerDependencies: - supports-color @@ -5903,20 +5951,20 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-member-expression-to-functions': 7.24.8 '@babel/helper-optimise-call-expression': 7.24.7 - '@babel/traverse': 7.25.2 + '@babel/traverse': 7.25.3 transitivePeerDependencies: - supports-color '@babel/helper-simple-access@7.24.7': dependencies: - '@babel/traverse': 7.25.2 + '@babel/traverse': 7.25.3 '@babel/types': 7.25.2 transitivePeerDependencies: - supports-color '@babel/helper-skip-transparent-expression-wrappers@7.24.7': dependencies: - '@babel/traverse': 7.25.2 + '@babel/traverse': 7.25.3 '@babel/types': 7.25.2 transitivePeerDependencies: - supports-color @@ -5930,7 +5978,7 @@ snapshots: '@babel/helper-wrap-function@7.25.0': dependencies: '@babel/template': 7.25.0 - '@babel/traverse': 7.25.2 + '@babel/traverse': 7.25.3 '@babel/types': 7.25.2 transitivePeerDependencies: - supports-color @@ -5947,7 +5995,7 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.0.1 - '@babel/parser@7.25.0': + '@babel/parser@7.25.3': dependencies: '@babel/types': 7.25.2 @@ -5955,7 +6003,15 @@ snapshots: dependencies: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/traverse': 7.25.2 + '@babel/traverse': 7.25.3 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/traverse': 7.25.3 transitivePeerDependencies: - supports-color @@ -5982,7 +6038,7 @@ snapshots: dependencies: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/traverse': 7.25.2 + '@babel/traverse': 7.25.3 transitivePeerDependencies: - supports-color @@ -6102,7 +6158,7 @@ snapshots: '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.25.2) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) - '@babel/traverse': 7.25.2 + '@babel/traverse': 7.25.3 transitivePeerDependencies: - supports-color @@ -6149,7 +6205,7 @@ snapshots: '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) - '@babel/traverse': 7.25.2 + '@babel/traverse': 7.25.3 globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -6215,7 +6271,7 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/traverse': 7.25.2 + '@babel/traverse': 7.25.3 transitivePeerDependencies: - supports-color @@ -6264,7 +6320,7 @@ snapshots: '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-validator-identifier': 7.24.7 - '@babel/traverse': 7.25.2 + '@babel/traverse': 7.25.3 transitivePeerDependencies: - supports-color @@ -6409,7 +6465,7 @@ snapshots: '@babel/helper-module-imports': 7.24.7 '@babel/helper-plugin-utils': 7.24.8 babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.2) - babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.25.2) + babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.25.2) babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.2) semver: 6.3.1 transitivePeerDependencies: @@ -6566,6 +6622,95 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/preset-env@7.25.3(@babel/core@7.25.2)': + dependencies: + '@babel/compat-data': 7.25.2 + '@babel/core': 7.25.2 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-option': 7.24.8 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.3(@babel/core@7.25.2) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.2) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.2) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-import-assertions': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.25.2) + '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-async-generator-functions': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-block-scoping': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-class-properties': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-class-static-block': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-classes': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-destructuring': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-duplicate-keys': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-dynamic-import': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-exponentiation-operator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-function-name': 7.25.1(@babel/core@7.25.2) + '@babel/plugin-transform-json-strings': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-literals': 7.25.2(@babel/core@7.25.2) + '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-member-expression-literals': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-modules-amd': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-modules-systemjs': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-modules-umd': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-new-target': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-object-super': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-private-methods': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-property-literals': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-reserved-words': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-typeof-symbol': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-unicode-property-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-unicode-sets-regex': 7.24.7(@babel/core@7.25.2) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.25.2) + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.2) + babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.25.2) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.2) + core-js-compat: 3.38.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 @@ -6600,7 +6745,7 @@ snapshots: '@babel/runtime-corejs3@7.25.0': dependencies: - core-js-pure: 3.37.1 + core-js-pure: 3.38.0 regenerator-runtime: 0.14.1 '@babel/runtime@7.25.0': @@ -6610,14 +6755,14 @@ snapshots: '@babel/template@7.25.0': dependencies: '@babel/code-frame': 7.24.7 - '@babel/parser': 7.25.0 + '@babel/parser': 7.25.3 '@babel/types': 7.25.2 - '@babel/traverse@7.25.2': + '@babel/traverse@7.25.3': dependencies: '@babel/code-frame': 7.24.7 '@babel/generator': 7.25.0 - '@babel/parser': 7.25.0 + '@babel/parser': 7.25.3 '@babel/template': 7.25.0 '@babel/types': 7.25.2 debug: 4.3.6 @@ -6663,25 +6808,26 @@ snapshots: transitivePeerDependencies: - '@algolia/client-search' - '@docusaurus/core@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/core@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: '@babel/core': 7.25.2 '@babel/generator': 7.25.0 '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) '@babel/plugin-transform-runtime': 7.24.7(@babel/core@7.25.2) - '@babel/preset-env': 7.25.2(@babel/core@7.25.2) + '@babel/preset-env': 7.25.3(@babel/core@7.25.2) '@babel/preset-react': 7.24.7(@babel/core@7.25.2) '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2) '@babel/runtime': 7.25.0 '@babel/runtime-corejs3': 7.25.0 - '@babel/traverse': 7.25.2 - '@docusaurus/cssnano-preset': 3.4.0 - '@docusaurus/logger': 3.4.0 - '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - autoprefixer: 10.4.19(postcss@8.4.40) + '@babel/traverse': 7.25.3 + '@docusaurus/cssnano-preset': 3.5.2 + '@docusaurus/logger': 3.5.2 + '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@mdx-js/react': 3.0.1(@types/react@18.3.3)(react@18.3.1) + autoprefixer: 10.4.20(postcss@8.4.41) babel-loader: 9.1.3(@babel/core@7.25.2)(webpack@5.93.0) babel-plugin-dynamic-import-node: 2.3.3 boxen: 6.2.1 @@ -6692,10 +6838,10 @@ snapshots: combine-promises: 1.2.0 commander: 5.1.0 copy-webpack-plugin: 11.0.0(webpack@5.93.0) - core-js: 3.37.1 + core-js: 3.38.0 css-loader: 6.11.0(webpack@5.93.0) css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(webpack@5.93.0) - cssnano: 6.1.2(postcss@8.4.40) + cssnano: 6.1.2(postcss@8.4.41) del: 6.1.1 detect-port: 1.6.1 escape-html: 1.0.3 @@ -6710,8 +6856,8 @@ snapshots: lodash: 4.17.21 mini-css-extract-plugin: 2.9.0(webpack@5.93.0) p-map: 4.0.0 - postcss: 8.4.40 - postcss-loader: 7.3.4(postcss@8.4.40)(typescript@5.5.4)(webpack@5.93.0) + postcss: 8.4.41 + postcss-loader: 7.3.4(postcss@8.4.41)(typescript@5.5.4)(webpack@5.93.0) prompts: 2.4.2 react: 18.3.1 react-dev-utils: 12.0.1(typescript@5.5.4)(webpack@5.93.0) @@ -6754,23 +6900,23 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/cssnano-preset@3.4.0': + '@docusaurus/cssnano-preset@3.5.2': dependencies: - cssnano-preset-advanced: 6.1.2(postcss@8.4.40) - postcss: 8.4.40 - postcss-sort-media-queries: 5.2.0(postcss@8.4.40) + cssnano-preset-advanced: 6.1.2(postcss@8.4.41) + postcss: 8.4.41 + postcss-sort-media-queries: 5.2.0(postcss@8.4.41) tslib: 2.6.3 - '@docusaurus/logger@3.4.0': + '@docusaurus/logger@3.5.2': dependencies: chalk: 4.1.2 tslib: 2.6.3 - '@docusaurus/mdx-loader@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/mdx-loader@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/logger': 3.4.0 - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/logger': 3.5.2 + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) '@mdx-js/mdx': 3.0.1 '@slorber/remark-comment': 1.0.0 escape-html: 1.0.3 @@ -6803,9 +6949,9 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/module-type-aliases@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@docusaurus/module-type-aliases@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/history': 4.7.11 '@types/react': 18.3.3 '@types/react-router-config': 5.0.11 @@ -6821,15 +6967,17 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/plugin-content-blog@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/plugin-content-blog@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/logger': 3.4.0 - '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/logger': 3.5.2 + '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) cheerio: 1.0.0-rc.12 feed: 4.2.2 fs-extra: 11.2.0 @@ -6843,6 +6991,7 @@ snapshots: utility-types: 3.11.0 webpack: 5.93.0 transitivePeerDependencies: + - '@mdx-js/react' - '@parcel/css' - '@rspack/core' - '@swc/core' @@ -6860,16 +7009,17 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-content-docs@3.4.0(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/logger': 3.4.0 - '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/module-type-aliases': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/logger': 3.5.2 + '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/module-type-aliases': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) '@types/react-router-config': 5.0.11 combine-promises: 1.2.0 fs-extra: 11.2.0 @@ -6881,6 +7031,7 @@ snapshots: utility-types: 3.11.0 webpack: 5.93.0 transitivePeerDependencies: + - '@mdx-js/react' - '@parcel/css' - '@rspack/core' - '@swc/core' @@ -6898,19 +7049,60 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-content-pages@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/logger': 3.5.2 + '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/module-type-aliases': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@types/react-router-config': 5.0.11 + combine-promises: 1.2.0 + fs-extra: 11.2.0 + js-yaml: 4.1.0 + lodash: 4.17.21 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.6.3 + utility-types: 3.11.0 + webpack: 5.93.0 + transitivePeerDependencies: + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/plugin-content-pages@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + dependencies: + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) fs-extra: 11.2.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) tslib: 2.6.3 webpack: 5.93.0 transitivePeerDependencies: + - '@mdx-js/react' - '@parcel/css' - '@rspack/core' - '@swc/core' @@ -6928,17 +7120,18 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-debug@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/plugin-debug@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) fs-extra: 11.2.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) react-json-view-lite: 1.4.0(react@18.3.1) tslib: 2.6.3 transitivePeerDependencies: + - '@mdx-js/react' - '@parcel/css' - '@rspack/core' - '@swc/core' @@ -6956,15 +7149,16 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-analytics@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/plugin-google-analytics@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) tslib: 2.6.3 transitivePeerDependencies: + - '@mdx-js/react' - '@parcel/css' - '@rspack/core' - '@swc/core' @@ -6982,16 +7176,17 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-gtag@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/plugin-google-gtag@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) '@types/gtag.js': 0.0.12 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) tslib: 2.6.3 transitivePeerDependencies: + - '@mdx-js/react' - '@parcel/css' - '@rspack/core' - '@swc/core' @@ -7009,15 +7204,16 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-tag-manager@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/plugin-google-tag-manager@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) tslib: 2.6.3 transitivePeerDependencies: + - '@mdx-js/react' - '@parcel/css' - '@rspack/core' - '@swc/core' @@ -7035,20 +7231,21 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-sitemap@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/plugin-sitemap@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/logger': 3.4.0 - '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/logger': 3.5.2 + '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) fs-extra: 11.2.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) sitemap: 7.1.2 tslib: 2.6.3 transitivePeerDependencies: + - '@mdx-js/react' - '@parcel/css' - '@rspack/core' - '@swc/core' @@ -7066,25 +7263,26 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/preset-classic@3.4.0(@algolia/client-search@4.24.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)(typescript@5.5.4)': + '@docusaurus/preset-classic@3.5.2(@algolia/client-search@4.24.0)(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-content-blog': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-content-docs': 3.4.0(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-content-pages': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-debug': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-google-analytics': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-google-gtag': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-google-tag-manager': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-sitemap': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/theme-classic': 3.4.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/theme-search-algolia': 3.4.0(@algolia/client-search@4.24.0)(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)(typescript@5.5.4) - '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-content-blog': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-content-pages': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-debug': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-google-analytics': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-google-gtag': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-google-tag-manager': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-sitemap': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/theme-classic': 3.5.2(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/theme-search-algolia': 3.5.2(@algolia/client-search@4.24.0)(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)(typescript@5.5.4) + '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) transitivePeerDependencies: - '@algolia/client-search' + - '@mdx-js/react' - '@parcel/css' - '@rspack/core' - '@swc/core' @@ -7109,27 +7307,27 @@ snapshots: '@types/react': 18.3.3 react: 18.3.1 - '@docusaurus/theme-classic@3.4.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/theme-classic@3.5.2(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/module-type-aliases': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/plugin-content-blog': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-content-docs': 3.4.0(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-content-pages': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/theme-translations': 3.4.0 - '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/module-type-aliases': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/plugin-content-blog': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-content-pages': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/theme-translations': 3.5.2 + '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) '@mdx-js/react': 3.0.1(@types/react@18.3.3)(react@18.3.1) clsx: 2.1.1 copy-text-to-clipboard: 3.2.0 - infima: 0.2.0-alpha.43 + infima: 0.2.0-alpha.44 lodash: 4.17.21 nprogress: 0.2.0 - postcss: 8.4.40 + postcss: 8.4.41 prism-react-renderer: 2.3.1(react@18.3.1) prismjs: 1.29.0 react: 18.3.1 @@ -7157,15 +7355,13 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/theme-common@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/module-type-aliases': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/plugin-content-blog': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-content-docs': 3.4.0(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-content-pages': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/module-type-aliases': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@types/history': 4.7.11 '@types/react': 18.3.3 '@types/react-router-config': 5.0.11 @@ -7178,33 +7374,49 @@ snapshots: utility-types: 3.11.0 transitivePeerDependencies: - '@docusaurus/types' - - '@parcel/css' - - '@rspack/core' - '@swc/core' - - '@swc/css' - - bufferutil - - csso - - debug - esbuild - - eslint - - lightningcss - supports-color - typescript - uglify-js - - utf-8-validate - - vue-template-compiler - webpack-cli - '@docusaurus/theme-search-algolia@3.4.0(@algolia/client-search@4.24.0)(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)(typescript@5.5.4)': + '@docusaurus/theme-common@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + dependencies: + '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/module-type-aliases': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@types/history': 4.7.11 + '@types/react': 18.3.3 + '@types/react-router-config': 5.0.11 + clsx: 2.1.1 + parse-numeric-range: 1.3.0 + prism-react-renderer: 2.3.1(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.6.3 + utility-types: 3.11.0 + transitivePeerDependencies: + - '@docusaurus/types' + - '@swc/core' + - esbuild + - supports-color + - typescript + - uglify-js + - webpack-cli + + '@docusaurus/theme-search-algolia@3.5.2(@algolia/client-search@4.24.0)(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)(typescript@5.5.4)': dependencies: '@docsearch/react': 3.6.1(@algolia/client-search@4.24.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0) - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/logger': 3.4.0 - '@docusaurus/plugin-content-docs': 3.4.0(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/theme-translations': 3.4.0 - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/logger': 3.5.2 + '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/theme-translations': 3.5.2 + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) algoliasearch: 4.24.0 algoliasearch-helper: 3.22.3(algoliasearch@4.24.0) clsx: 2.1.1 @@ -7218,6 +7430,7 @@ snapshots: transitivePeerDependencies: - '@algolia/client-search' - '@docusaurus/types' + - '@mdx-js/react' - '@parcel/css' - '@rspack/core' - '@swc/core' @@ -7237,14 +7450,14 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/theme-translations@3.4.0': + '@docusaurus/theme-translations@3.5.2': dependencies: fs-extra: 11.2.0 tslib: 2.6.3 - '@docusaurus/tsconfig@3.4.0': {} + '@docusaurus/tsconfig@3.5.2': {} - '@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@mdx-js/mdx': 3.0.1 '@types/history': 4.7.11 @@ -7264,17 +7477,17 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/utils-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@docusaurus/utils-common@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: tslib: 2.6.3 optionalDependencies: - '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4)': + '@docusaurus/utils-validation@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4)': dependencies: - '@docusaurus/logger': 3.4.0 - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/logger': 3.5.2 + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) fs-extra: 11.2.0 joi: 17.13.3 js-yaml: 4.1.0 @@ -7289,10 +7502,10 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/utils@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4)': + '@docusaurus/utils@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4)': dependencies: - '@docusaurus/logger': 3.4.0 - '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/logger': 3.5.2 + '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@svgr/webpack': 8.1.0(typescript@5.5.4) escape-string-regexp: 4.0.0 file-loader: 6.2.0(webpack@5.93.0) @@ -7312,7 +7525,7 @@ snapshots: utility-types: 3.11.0 webpack: 5.93.0 optionalDependencies: - '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) transitivePeerDependencies: - '@swc/core' - esbuild @@ -7326,17 +7539,17 @@ snapshots: cssesc: 3.0.0 immediate: 3.3.0 - '@easyops-cn/docusaurus-search-local@0.44.4(@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@easyops-cn/docusaurus-search-local@0.44.5(@docusaurus/theme-common@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/plugin-content-docs': 3.4.0(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/theme-translations': 3.4.0 - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/theme-translations': 3.5.2 + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) '@easyops-cn/autocomplete.js': 0.38.1 '@node-rs/jieba': 1.10.3 - cheerio: 1.0.0-rc.12 + cheerio: 1.0.0 clsx: 1.2.1 debug: 4.3.6 fs-extra: 10.1.0 @@ -7349,6 +7562,7 @@ snapshots: tslib: 2.6.3 transitivePeerDependencies: - '@docusaurus/types' + - '@mdx-js/react' - '@parcel/css' - '@rspack/core' - '@swc/core' @@ -7475,8 +7689,8 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.14.13 - '@types/yargs': 17.0.32 + '@types/node': 20.14.15 + '@types/yargs': 17.0.33 chalk: 4.1.2 '@jridgewell/gen-mapping@0.3.5': @@ -7623,7 +7837,7 @@ snapshots: dependencies: graceful-fs: 4.2.10 - '@pnpm/npm-conf@2.2.2': + '@pnpm/npm-conf@2.3.1': dependencies: '@pnpm/config.env-replace': 1.1.0 '@pnpm/network.ca-file': 1.0.2 @@ -7792,20 +8006,20 @@ snapshots: '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.14.13 + '@types/node': 20.14.15 '@types/bonjour@3.5.13': dependencies: - '@types/node': 20.14.13 + '@types/node': 20.14.15 '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 4.19.5 - '@types/node': 20.14.13 + '@types/node': 20.14.15 '@types/connect@3.4.38': dependencies: - '@types/node': 20.14.13 + '@types/node': 20.14.15 '@types/debug@4.1.12': dependencies: @@ -7833,7 +8047,7 @@ snapshots: '@types/express-serve-static-core@4.19.5': dependencies: - '@types/node': 20.14.13 + '@types/node': 20.14.15 '@types/qs': 6.9.15 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -7849,7 +8063,7 @@ snapshots: '@types/hast@3.0.4': dependencies: - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 '@types/history@4.7.11': {} @@ -7859,9 +8073,9 @@ snapshots: '@types/http-errors@2.0.4': {} - '@types/http-proxy@1.17.14': + '@types/http-proxy@1.17.15': dependencies: - '@types/node': 20.14.13 + '@types/node': 20.14.15 '@types/istanbul-lib-coverage@2.0.6': {} @@ -7877,7 +8091,7 @@ snapshots: '@types/mdast@4.0.4': dependencies: - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 '@types/mdx@2.0.13': {} @@ -7887,11 +8101,11 @@ snapshots: '@types/node-forge@1.3.11': dependencies: - '@types/node': 20.14.13 + '@types/node': 20.14.15 '@types/node@17.0.45': {} - '@types/node@20.14.13': + '@types/node@20.14.15': dependencies: undici-types: 5.26.5 @@ -7935,12 +8149,12 @@ snapshots: '@types/sax@1.2.7': dependencies: - '@types/node': 20.14.13 + '@types/node': 20.14.15 '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.14.13 + '@types/node': 20.14.15 '@types/serve-index@1.9.4': dependencies: @@ -7949,28 +8163,28 @@ snapshots: '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 20.14.13 + '@types/node': 20.14.15 '@types/send': 0.17.4 '@types/sockjs@0.3.36': dependencies: - '@types/node': 20.14.13 + '@types/node': 20.14.15 '@types/stylis@4.2.5': {} '@types/trusted-types@2.0.7': {} - '@types/unist@2.0.10': {} + '@types/unist@2.0.11': {} - '@types/unist@3.0.2': {} + '@types/unist@3.0.3': {} '@types/ws@8.5.12': dependencies: - '@types/node': 20.14.13 + '@types/node': 20.14.15 '@types/yargs-parser@21.0.3': {} - '@types/yargs@17.0.32': + '@types/yargs@17.0.33': dependencies: '@types/yargs-parser': 21.0.3 @@ -8213,21 +8427,21 @@ snapshots: at-least-node@1.0.0: {} - autoprefixer@10.4.19(postcss@8.4.40): + autoprefixer@10.4.20(postcss@8.4.41): dependencies: - browserslist: 4.23.2 - caniuse-lite: 1.0.30001644 + browserslist: 4.23.3 + caniuse-lite: 1.0.30001651 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.1 - postcss: 8.4.40 + postcss: 8.4.41 postcss-value-parser: 4.2.0 available-typed-arrays@1.0.7: dependencies: possible-typed-array-names: 1.0.0 - axios@1.7.2: + axios@1.7.4: dependencies: follow-redirects: 1.15.6(debug@4.3.6) form-data: 4.0.0 @@ -8263,6 +8477,14 @@ snapshots: transitivePeerDependencies: - supports-color + babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.25.2): + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) + core-js-compat: 3.38.0 + transitivePeerDependencies: + - supports-color + babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.25.2): dependencies: '@babel/core': 7.25.2 @@ -8341,11 +8563,18 @@ snapshots: browserslist@4.23.2: dependencies: - caniuse-lite: 1.0.30001644 + caniuse-lite: 1.0.30001651 electron-to-chromium: 1.5.3 node-releases: 2.0.18 update-browserslist-db: 1.1.0(browserslist@4.23.2) + browserslist@4.23.3: + dependencies: + caniuse-lite: 1.0.30001651 + electron-to-chromium: 1.5.8 + node-releases: 2.0.18 + update-browserslist-db: 1.1.0(browserslist@4.23.3) + buffer-from@1.1.2: {} bytes@3.0.0: {} @@ -8389,12 +8618,12 @@ snapshots: caniuse-api@3.0.0: dependencies: - browserslist: 4.23.2 - caniuse-lite: 1.0.30001644 + browserslist: 4.23.3 + caniuse-lite: 1.0.30001651 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 - caniuse-lite@1.0.30001644: {} + caniuse-lite@1.0.30001651: {} ccount@2.0.1: {} @@ -8430,6 +8659,20 @@ snapshots: domhandler: 5.0.3 domutils: 3.1.0 + cheerio@1.0.0: + dependencies: + cheerio-select: 2.1.0 + dom-serializer: 2.0.0 + domhandler: 5.0.3 + domutils: 3.1.0 + encoding-sniffer: 0.2.0 + htmlparser2: 9.1.0 + parse5: 7.1.2 + parse5-htmlparser2-tree-adapter: 7.0.0 + parse5-parser-stream: 7.1.2 + undici: 6.19.7 + whatwg-mimetype: 4.0.0 + cheerio@1.0.0-rc.12: dependencies: cheerio-select: 2.1.0 @@ -8605,9 +8848,13 @@ snapshots: dependencies: browserslist: 4.23.2 - core-js-pure@3.37.1: {} + core-js-compat@3.38.0: + dependencies: + browserslist: 4.23.3 - core-js@3.37.1: {} + core-js-pure@3.38.0: {} + + core-js@3.38.0: {} core-util-is@1.0.3: {} @@ -8640,18 +8887,18 @@ snapshots: css-color-keywords@1.0.0: {} - css-declaration-sorter@7.2.0(postcss@8.4.40): + css-declaration-sorter@7.2.0(postcss@8.4.41): dependencies: - postcss: 8.4.40 + postcss: 8.4.41 css-loader@6.11.0(webpack@5.93.0): dependencies: - icss-utils: 5.1.0(postcss@8.4.40) - postcss: 8.4.40 - postcss-modules-extract-imports: 3.1.0(postcss@8.4.40) - postcss-modules-local-by-default: 4.0.5(postcss@8.4.40) - postcss-modules-scope: 3.2.0(postcss@8.4.40) - postcss-modules-values: 4.0.0(postcss@8.4.40) + icss-utils: 5.1.0(postcss@8.4.41) + postcss: 8.4.41 + postcss-modules-extract-imports: 3.1.0(postcss@8.4.41) + postcss-modules-local-by-default: 4.0.5(postcss@8.4.41) + postcss-modules-scope: 3.2.0(postcss@8.4.41) + postcss-modules-values: 4.0.0(postcss@8.4.41) postcss-value-parser: 4.2.0 semver: 7.6.3 optionalDependencies: @@ -8660,9 +8907,9 @@ snapshots: css-minimizer-webpack-plugin@5.0.1(clean-css@5.3.3)(webpack@5.93.0): dependencies: '@jridgewell/trace-mapping': 0.3.25 - cssnano: 6.1.2(postcss@8.4.40) + cssnano: 6.1.2(postcss@8.4.41) jest-worker: 29.7.0 - postcss: 8.4.40 + postcss: 8.4.41 schema-utils: 4.2.0 serialize-javascript: 6.0.2 webpack: 5.93.0 @@ -8705,60 +8952,60 @@ snapshots: cssesc@3.0.0: {} - cssnano-preset-advanced@6.1.2(postcss@8.4.40): + cssnano-preset-advanced@6.1.2(postcss@8.4.41): dependencies: - autoprefixer: 10.4.19(postcss@8.4.40) - browserslist: 4.23.2 - cssnano-preset-default: 6.1.2(postcss@8.4.40) - postcss: 8.4.40 - postcss-discard-unused: 6.0.5(postcss@8.4.40) - postcss-merge-idents: 6.0.3(postcss@8.4.40) - postcss-reduce-idents: 6.0.3(postcss@8.4.40) - postcss-zindex: 6.0.2(postcss@8.4.40) + autoprefixer: 10.4.20(postcss@8.4.41) + browserslist: 4.23.3 + cssnano-preset-default: 6.1.2(postcss@8.4.41) + postcss: 8.4.41 + postcss-discard-unused: 6.0.5(postcss@8.4.41) + postcss-merge-idents: 6.0.3(postcss@8.4.41) + postcss-reduce-idents: 6.0.3(postcss@8.4.41) + postcss-zindex: 6.0.2(postcss@8.4.41) - cssnano-preset-default@6.1.2(postcss@8.4.40): + cssnano-preset-default@6.1.2(postcss@8.4.41): dependencies: - browserslist: 4.23.2 - css-declaration-sorter: 7.2.0(postcss@8.4.40) - cssnano-utils: 4.0.2(postcss@8.4.40) - postcss: 8.4.40 - postcss-calc: 9.0.1(postcss@8.4.40) - postcss-colormin: 6.1.0(postcss@8.4.40) - postcss-convert-values: 6.1.0(postcss@8.4.40) - postcss-discard-comments: 6.0.2(postcss@8.4.40) - postcss-discard-duplicates: 6.0.3(postcss@8.4.40) - postcss-discard-empty: 6.0.3(postcss@8.4.40) - postcss-discard-overridden: 6.0.2(postcss@8.4.40) - postcss-merge-longhand: 6.0.5(postcss@8.4.40) - postcss-merge-rules: 6.1.1(postcss@8.4.40) - postcss-minify-font-values: 6.1.0(postcss@8.4.40) - postcss-minify-gradients: 6.0.3(postcss@8.4.40) - postcss-minify-params: 6.1.0(postcss@8.4.40) - postcss-minify-selectors: 6.0.4(postcss@8.4.40) - postcss-normalize-charset: 6.0.2(postcss@8.4.40) - postcss-normalize-display-values: 6.0.2(postcss@8.4.40) - postcss-normalize-positions: 6.0.2(postcss@8.4.40) - postcss-normalize-repeat-style: 6.0.2(postcss@8.4.40) - postcss-normalize-string: 6.0.2(postcss@8.4.40) - postcss-normalize-timing-functions: 6.0.2(postcss@8.4.40) - postcss-normalize-unicode: 6.1.0(postcss@8.4.40) - postcss-normalize-url: 6.0.2(postcss@8.4.40) - postcss-normalize-whitespace: 6.0.2(postcss@8.4.40) - postcss-ordered-values: 6.0.2(postcss@8.4.40) - postcss-reduce-initial: 6.1.0(postcss@8.4.40) - postcss-reduce-transforms: 6.0.2(postcss@8.4.40) - postcss-svgo: 6.0.3(postcss@8.4.40) - postcss-unique-selectors: 6.0.4(postcss@8.4.40) + browserslist: 4.23.3 + css-declaration-sorter: 7.2.0(postcss@8.4.41) + cssnano-utils: 4.0.2(postcss@8.4.41) + postcss: 8.4.41 + postcss-calc: 9.0.1(postcss@8.4.41) + postcss-colormin: 6.1.0(postcss@8.4.41) + postcss-convert-values: 6.1.0(postcss@8.4.41) + postcss-discard-comments: 6.0.2(postcss@8.4.41) + postcss-discard-duplicates: 6.0.3(postcss@8.4.41) + postcss-discard-empty: 6.0.3(postcss@8.4.41) + postcss-discard-overridden: 6.0.2(postcss@8.4.41) + postcss-merge-longhand: 6.0.5(postcss@8.4.41) + postcss-merge-rules: 6.1.1(postcss@8.4.41) + postcss-minify-font-values: 6.1.0(postcss@8.4.41) + postcss-minify-gradients: 6.0.3(postcss@8.4.41) + postcss-minify-params: 6.1.0(postcss@8.4.41) + postcss-minify-selectors: 6.0.4(postcss@8.4.41) + postcss-normalize-charset: 6.0.2(postcss@8.4.41) + postcss-normalize-display-values: 6.0.2(postcss@8.4.41) + postcss-normalize-positions: 6.0.2(postcss@8.4.41) + postcss-normalize-repeat-style: 6.0.2(postcss@8.4.41) + postcss-normalize-string: 6.0.2(postcss@8.4.41) + postcss-normalize-timing-functions: 6.0.2(postcss@8.4.41) + postcss-normalize-unicode: 6.1.0(postcss@8.4.41) + postcss-normalize-url: 6.0.2(postcss@8.4.41) + postcss-normalize-whitespace: 6.0.2(postcss@8.4.41) + postcss-ordered-values: 6.0.2(postcss@8.4.41) + postcss-reduce-initial: 6.1.0(postcss@8.4.41) + postcss-reduce-transforms: 6.0.2(postcss@8.4.41) + postcss-svgo: 6.0.3(postcss@8.4.41) + postcss-unique-selectors: 6.0.4(postcss@8.4.41) - cssnano-utils@4.0.2(postcss@8.4.40): + cssnano-utils@4.0.2(postcss@8.4.41): dependencies: - postcss: 8.4.40 + postcss: 8.4.41 - cssnano@6.1.2(postcss@8.4.40): + cssnano@6.1.2(postcss@8.4.41): dependencies: - cssnano-preset-default: 6.1.2(postcss@8.4.40) + cssnano-preset-default: 6.1.2(postcss@8.4.41) lilconfig: 3.1.2 - postcss: 8.4.40 + postcss: 8.4.41 csso@5.0.5: dependencies: @@ -8894,11 +9141,11 @@ snapshots: dependencies: '@leichtgewicht/ip-codec': 2.0.5 - docusaurus-plugin-redoc@2.1.1(@docusaurus/utils@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4))(core-js@3.37.1)(enzyme@3.11.0)(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): + docusaurus-plugin-redoc@2.1.1(@docusaurus/utils@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4))(core-js@3.38.0)(enzyme@3.11.0)(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): dependencies: - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) '@redocly/openapi-core': 1.16.0 - redoc: 2.1.5(core-js@3.37.1)(enzyme@3.11.0)(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + redoc: 2.1.5(core-js@3.38.0)(enzyme@3.11.0)(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) transitivePeerDependencies: - core-js - encoding @@ -8910,14 +9157,14 @@ snapshots: - styled-components - supports-color - docusaurus-theme-redoc@2.1.1(@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(core-js@3.37.1)(enzyme@3.11.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(webpack@5.93.0): + docusaurus-theme-redoc@2.1.1(@docusaurus/theme-common@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(core-js@3.38.0)(enzyme@3.11.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(webpack@5.93.0): dependencies: - '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@redocly/openapi-core': 1.16.0 clsx: 1.2.1 lodash: 4.17.21 mobx: 6.13.1 - redoc: 2.1.5(core-js@3.37.1)(enzyme@3.11.0)(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + redoc: 2.1.5(core-js@3.38.0)(enzyme@3.11.0)(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) styled-components: 6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1) webpack: 5.93.0 transitivePeerDependencies: @@ -8986,6 +9233,8 @@ snapshots: electron-to-chromium@1.5.3: {} + electron-to-chromium@1.5.8: {} + emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} @@ -8994,10 +9243,15 @@ snapshots: emojis-list@3.0.0: {} - emoticon@4.0.1: {} + emoticon@4.1.0: {} encodeurl@1.0.2: {} + encoding-sniffer@0.2.0: + dependencies: + iconv-lite: 0.6.3 + whatwg-encoding: 3.1.1 + enhanced-resolve@5.17.1: dependencies: graceful-fs: 4.2.11 @@ -9015,7 +9269,7 @@ snapshots: enzyme@3.11.0: dependencies: array.prototype.flat: 1.3.2 - cheerio: 1.0.0-rc.12 + cheerio: 1.0.0 enzyme-shallow-equal: 1.0.7 function.prototype.name: 1.1.6 has: 1.0.4 @@ -9209,7 +9463,7 @@ snapshots: estree-util-visit@2.0.0: dependencies: '@types/estree-jsx': 1.0.5 - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 estree-walker@3.0.3: dependencies: @@ -9223,7 +9477,7 @@ snapshots: eval@0.1.8: dependencies: - '@types/node': 20.14.13 + '@types/node': 20.14.15 require-like: 0.1.2 eventemitter3@4.0.7: {} @@ -9528,7 +9782,7 @@ snapshots: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.3.1 + ignore: 5.3.2 merge2: 1.4.1 slash: 3.0.0 @@ -9536,7 +9790,7 @@ snapshots: dependencies: dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.3.1 + ignore: 5.3.2 merge2: 1.4.1 slash: 4.0.0 @@ -9556,7 +9810,7 @@ snapshots: lowercase-keys: 3.0.0 p-cancelable: 4.0.1 responselike: 3.0.0 - type-fest: 4.23.0 + type-fest: 4.24.0 graceful-fs@4.2.10: {} @@ -9604,7 +9858,7 @@ snapshots: hast-util-from-parse5@8.0.1: dependencies: '@types/hast': 3.0.4 - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 devlop: 1.1.0 hastscript: 8.0.0 property-information: 6.5.0 @@ -9619,7 +9873,7 @@ snapshots: hast-util-raw@9.0.4: dependencies: '@types/hast': 3.0.4 - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 '@ungap/structured-clone': 1.2.0 hast-util-from-parse5: 8.0.1 hast-util-to-parse5: 8.0.0 @@ -9657,7 +9911,7 @@ snapshots: dependencies: '@types/estree': 1.0.5 '@types/hast': 3.0.4 - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 comma-separated-tokens: 2.0.3 devlop: 1.1.0 estree-util-is-identifier-name: 3.0.0 @@ -9738,7 +9992,7 @@ snapshots: he: 1.2.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.31.3 + terser: 5.31.6 html-minifier-terser@7.2.0: dependencies: @@ -9748,7 +10002,7 @@ snapshots: entities: 4.5.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.31.3 + terser: 5.31.6 html-tags@3.3.1: {} @@ -9778,6 +10032,13 @@ snapshots: domutils: 3.1.0 entities: 4.5.0 + htmlparser2@9.1.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.1.0 + entities: 4.5.0 + http-cache-semantics@4.1.1: {} http-deceiver@1.2.7: {} @@ -9808,7 +10069,7 @@ snapshots: http-proxy-middleware@2.0.6(@types/express@4.17.21)(debug@4.3.6): dependencies: - '@types/http-proxy': 1.17.14 + '@types/http-proxy': 1.17.15 http-proxy: 1.18.1(debug@4.3.6) is-glob: 4.0.3 is-plain-obj: 3.0.0 @@ -9850,11 +10111,11 @@ snapshots: dependencies: safer-buffer: 2.1.2 - icss-utils@5.1.0(postcss@8.4.40): + icss-utils@5.1.0(postcss@8.4.41): dependencies: - postcss: 8.4.40 + postcss: 8.4.41 - ignore@5.3.1: {} + ignore@5.3.2: {} image-size@1.1.1: dependencies: @@ -9875,7 +10136,7 @@ snapshots: indent-string@4.0.0: {} - infima@0.2.0-alpha.43: {} + infima@0.2.0-alpha.44: {} inflight@1.0.6: dependencies: @@ -10075,7 +10336,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.14.13 + '@types/node': 20.14.15 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -10083,13 +10344,13 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.14.13 + '@types/node': 20.14.15 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@29.7.0: dependencies: - '@types/node': 20.14.13 + '@types/node': 20.14.15 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -10185,7 +10446,7 @@ snapshots: dependencies: package-json: 8.1.1 - launch-editor@2.8.0: + launch-editor@2.8.1: dependencies: picocolors: 1.0.1 shell-quote: 1.8.1 @@ -10266,7 +10527,7 @@ snapshots: mdast-util-directive@3.0.0: dependencies: '@types/mdast': 4.0.4 - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 devlop: 1.1.0 mdast-util-from-markdown: 2.0.1 mdast-util-to-markdown: 2.1.0 @@ -10286,7 +10547,7 @@ snapshots: mdast-util-from-markdown@2.0.1: dependencies: '@types/mdast': 4.0.4 - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 decode-named-character-reference: 1.0.2 devlop: 1.1.0 mdast-util-to-string: 4.0.0 @@ -10384,7 +10645,7 @@ snapshots: '@types/estree-jsx': 1.0.5 '@types/hast': 3.0.4 '@types/mdast': 4.0.4 - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 ccount: 2.0.1 devlop: 1.1.0 mdast-util-from-markdown: 2.0.1 @@ -10438,7 +10699,7 @@ snapshots: mdast-util-to-markdown@2.1.0: dependencies: '@types/mdast': 4.0.4 - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 longest-streak: 3.1.0 mdast-util-phrasing: 4.1.0 mdast-util-to-string: 4.0.0 @@ -10703,7 +10964,7 @@ snapshots: dependencies: '@types/acorn': 4.0.6 '@types/estree': 1.0.5 - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 devlop: 1.1.0 estree-util-visit: 2.0.0 micromark-util-symbol: 2.0.0 @@ -11045,7 +11306,7 @@ snapshots: parse-entities@4.0.1: dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.11 character-entities: 2.0.2 character-entities-legacy: 3.0.0 character-reference-invalid: 2.0.1 @@ -11068,6 +11329,10 @@ snapshots: domhandler: 5.0.3 parse5: 7.1.2 + parse5-parser-stream@7.1.2: + dependencies: + parse5: 7.1.2 + parse5@7.1.2: dependencies: entities: 4.5.0 @@ -11135,215 +11400,215 @@ snapshots: possible-typed-array-names@1.0.0: {} - postcss-calc@9.0.1(postcss@8.4.40): + postcss-calc@9.0.1(postcss@8.4.41): dependencies: - postcss: 8.4.40 - postcss-selector-parser: 6.1.1 + postcss: 8.4.41 + postcss-selector-parser: 6.1.2 postcss-value-parser: 4.2.0 - postcss-colormin@6.1.0(postcss@8.4.40): + postcss-colormin@6.1.0(postcss@8.4.41): dependencies: - browserslist: 4.23.2 + browserslist: 4.23.3 caniuse-api: 3.0.0 colord: 2.9.3 - postcss: 8.4.40 + postcss: 8.4.41 postcss-value-parser: 4.2.0 - postcss-convert-values@6.1.0(postcss@8.4.40): + postcss-convert-values@6.1.0(postcss@8.4.41): dependencies: - browserslist: 4.23.2 - postcss: 8.4.40 + browserslist: 4.23.3 + postcss: 8.4.41 postcss-value-parser: 4.2.0 - postcss-discard-comments@6.0.2(postcss@8.4.40): + postcss-discard-comments@6.0.2(postcss@8.4.41): dependencies: - postcss: 8.4.40 + postcss: 8.4.41 - postcss-discard-duplicates@6.0.3(postcss@8.4.40): + postcss-discard-duplicates@6.0.3(postcss@8.4.41): dependencies: - postcss: 8.4.40 + postcss: 8.4.41 - postcss-discard-empty@6.0.3(postcss@8.4.40): + postcss-discard-empty@6.0.3(postcss@8.4.41): dependencies: - postcss: 8.4.40 + postcss: 8.4.41 - postcss-discard-overridden@6.0.2(postcss@8.4.40): + postcss-discard-overridden@6.0.2(postcss@8.4.41): dependencies: - postcss: 8.4.40 + postcss: 8.4.41 - postcss-discard-unused@6.0.5(postcss@8.4.40): + postcss-discard-unused@6.0.5(postcss@8.4.41): dependencies: - postcss: 8.4.40 - postcss-selector-parser: 6.1.1 + postcss: 8.4.41 + postcss-selector-parser: 6.1.2 - postcss-loader@7.3.4(postcss@8.4.40)(typescript@5.5.4)(webpack@5.93.0): + postcss-loader@7.3.4(postcss@8.4.41)(typescript@5.5.4)(webpack@5.93.0): dependencies: cosmiconfig: 8.3.6(typescript@5.5.4) jiti: 1.21.6 - postcss: 8.4.40 + postcss: 8.4.41 semver: 7.6.3 webpack: 5.93.0 transitivePeerDependencies: - typescript - postcss-merge-idents@6.0.3(postcss@8.4.40): + postcss-merge-idents@6.0.3(postcss@8.4.41): dependencies: - cssnano-utils: 4.0.2(postcss@8.4.40) - postcss: 8.4.40 + cssnano-utils: 4.0.2(postcss@8.4.41) + postcss: 8.4.41 postcss-value-parser: 4.2.0 - postcss-merge-longhand@6.0.5(postcss@8.4.40): + postcss-merge-longhand@6.0.5(postcss@8.4.41): dependencies: - postcss: 8.4.40 + postcss: 8.4.41 postcss-value-parser: 4.2.0 - stylehacks: 6.1.1(postcss@8.4.40) + stylehacks: 6.1.1(postcss@8.4.41) - postcss-merge-rules@6.1.1(postcss@8.4.40): + postcss-merge-rules@6.1.1(postcss@8.4.41): dependencies: - browserslist: 4.23.2 + browserslist: 4.23.3 caniuse-api: 3.0.0 - cssnano-utils: 4.0.2(postcss@8.4.40) - postcss: 8.4.40 - postcss-selector-parser: 6.1.1 + cssnano-utils: 4.0.2(postcss@8.4.41) + postcss: 8.4.41 + postcss-selector-parser: 6.1.2 - postcss-minify-font-values@6.1.0(postcss@8.4.40): + postcss-minify-font-values@6.1.0(postcss@8.4.41): dependencies: - postcss: 8.4.40 + postcss: 8.4.41 postcss-value-parser: 4.2.0 - postcss-minify-gradients@6.0.3(postcss@8.4.40): + postcss-minify-gradients@6.0.3(postcss@8.4.41): dependencies: colord: 2.9.3 - cssnano-utils: 4.0.2(postcss@8.4.40) - postcss: 8.4.40 + cssnano-utils: 4.0.2(postcss@8.4.41) + postcss: 8.4.41 postcss-value-parser: 4.2.0 - postcss-minify-params@6.1.0(postcss@8.4.40): + postcss-minify-params@6.1.0(postcss@8.4.41): dependencies: - browserslist: 4.23.2 - cssnano-utils: 4.0.2(postcss@8.4.40) - postcss: 8.4.40 + browserslist: 4.23.3 + cssnano-utils: 4.0.2(postcss@8.4.41) + postcss: 8.4.41 postcss-value-parser: 4.2.0 - postcss-minify-selectors@6.0.4(postcss@8.4.40): + postcss-minify-selectors@6.0.4(postcss@8.4.41): dependencies: - postcss: 8.4.40 - postcss-selector-parser: 6.1.1 + postcss: 8.4.41 + postcss-selector-parser: 6.1.2 - postcss-modules-extract-imports@3.1.0(postcss@8.4.40): + postcss-modules-extract-imports@3.1.0(postcss@8.4.41): dependencies: - postcss: 8.4.40 + postcss: 8.4.41 - postcss-modules-local-by-default@4.0.5(postcss@8.4.40): + postcss-modules-local-by-default@4.0.5(postcss@8.4.41): dependencies: - icss-utils: 5.1.0(postcss@8.4.40) - postcss: 8.4.40 - postcss-selector-parser: 6.1.1 + icss-utils: 5.1.0(postcss@8.4.41) + postcss: 8.4.41 + postcss-selector-parser: 6.1.2 postcss-value-parser: 4.2.0 - postcss-modules-scope@3.2.0(postcss@8.4.40): + postcss-modules-scope@3.2.0(postcss@8.4.41): dependencies: - postcss: 8.4.40 - postcss-selector-parser: 6.1.1 + postcss: 8.4.41 + postcss-selector-parser: 6.1.2 - postcss-modules-values@4.0.0(postcss@8.4.40): + postcss-modules-values@4.0.0(postcss@8.4.41): dependencies: - icss-utils: 5.1.0(postcss@8.4.40) - postcss: 8.4.40 + icss-utils: 5.1.0(postcss@8.4.41) + postcss: 8.4.41 - postcss-normalize-charset@6.0.2(postcss@8.4.40): + postcss-normalize-charset@6.0.2(postcss@8.4.41): dependencies: - postcss: 8.4.40 + postcss: 8.4.41 - postcss-normalize-display-values@6.0.2(postcss@8.4.40): + postcss-normalize-display-values@6.0.2(postcss@8.4.41): dependencies: - postcss: 8.4.40 + postcss: 8.4.41 postcss-value-parser: 4.2.0 - postcss-normalize-positions@6.0.2(postcss@8.4.40): + postcss-normalize-positions@6.0.2(postcss@8.4.41): dependencies: - postcss: 8.4.40 + postcss: 8.4.41 postcss-value-parser: 4.2.0 - postcss-normalize-repeat-style@6.0.2(postcss@8.4.40): + postcss-normalize-repeat-style@6.0.2(postcss@8.4.41): dependencies: - postcss: 8.4.40 + postcss: 8.4.41 postcss-value-parser: 4.2.0 - postcss-normalize-string@6.0.2(postcss@8.4.40): + postcss-normalize-string@6.0.2(postcss@8.4.41): dependencies: - postcss: 8.4.40 + postcss: 8.4.41 postcss-value-parser: 4.2.0 - postcss-normalize-timing-functions@6.0.2(postcss@8.4.40): + postcss-normalize-timing-functions@6.0.2(postcss@8.4.41): dependencies: - postcss: 8.4.40 + postcss: 8.4.41 postcss-value-parser: 4.2.0 - postcss-normalize-unicode@6.1.0(postcss@8.4.40): + postcss-normalize-unicode@6.1.0(postcss@8.4.41): dependencies: - browserslist: 4.23.2 - postcss: 8.4.40 + browserslist: 4.23.3 + postcss: 8.4.41 postcss-value-parser: 4.2.0 - postcss-normalize-url@6.0.2(postcss@8.4.40): + postcss-normalize-url@6.0.2(postcss@8.4.41): dependencies: - postcss: 8.4.40 + postcss: 8.4.41 postcss-value-parser: 4.2.0 - postcss-normalize-whitespace@6.0.2(postcss@8.4.40): + postcss-normalize-whitespace@6.0.2(postcss@8.4.41): dependencies: - postcss: 8.4.40 + postcss: 8.4.41 postcss-value-parser: 4.2.0 - postcss-ordered-values@6.0.2(postcss@8.4.40): + postcss-ordered-values@6.0.2(postcss@8.4.41): dependencies: - cssnano-utils: 4.0.2(postcss@8.4.40) - postcss: 8.4.40 + cssnano-utils: 4.0.2(postcss@8.4.41) + postcss: 8.4.41 postcss-value-parser: 4.2.0 - postcss-reduce-idents@6.0.3(postcss@8.4.40): + postcss-reduce-idents@6.0.3(postcss@8.4.41): dependencies: - postcss: 8.4.40 + postcss: 8.4.41 postcss-value-parser: 4.2.0 - postcss-reduce-initial@6.1.0(postcss@8.4.40): + postcss-reduce-initial@6.1.0(postcss@8.4.41): dependencies: - browserslist: 4.23.2 + browserslist: 4.23.3 caniuse-api: 3.0.0 - postcss: 8.4.40 + postcss: 8.4.41 - postcss-reduce-transforms@6.0.2(postcss@8.4.40): + postcss-reduce-transforms@6.0.2(postcss@8.4.41): dependencies: - postcss: 8.4.40 + postcss: 8.4.41 postcss-value-parser: 4.2.0 - postcss-selector-parser@6.1.1: + postcss-selector-parser@6.1.2: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss-sort-media-queries@5.2.0(postcss@8.4.40): + postcss-sort-media-queries@5.2.0(postcss@8.4.41): dependencies: - postcss: 8.4.40 + postcss: 8.4.41 sort-css-media-queries: 2.2.0 - postcss-svgo@6.0.3(postcss@8.4.40): + postcss-svgo@6.0.3(postcss@8.4.41): dependencies: - postcss: 8.4.40 + postcss: 8.4.41 postcss-value-parser: 4.2.0 svgo: 3.3.2 - postcss-unique-selectors@6.0.4(postcss@8.4.40): + postcss-unique-selectors@6.0.4(postcss@8.4.41): dependencies: - postcss: 8.4.40 - postcss-selector-parser: 6.1.1 + postcss: 8.4.41 + postcss-selector-parser: 6.1.2 postcss-value-parser@4.2.0: {} - postcss-zindex@6.0.2(postcss@8.4.40): + postcss-zindex@6.0.2(postcss@8.4.41): dependencies: - postcss: 8.4.40 + postcss: 8.4.41 postcss@8.4.38: dependencies: @@ -11351,7 +11616,7 @@ snapshots: picocolors: 1.0.1 source-map-js: 1.2.0 - postcss@8.4.40: + postcss@8.4.41: dependencies: nanoid: 3.3.7 picocolors: 1.0.1 @@ -11457,7 +11722,7 @@ snapshots: dependencies: '@babel/code-frame': 7.24.7 address: 1.2.2 - browserslist: 4.23.2 + browserslist: 4.23.3 chalk: 4.1.2 cross-spawn: 7.0.3 detect-port-alt: 1.1.6 @@ -11604,12 +11869,12 @@ snapshots: dependencies: minimatch: 3.1.2 - redoc@2.1.5(core-js@3.37.1)(enzyme@3.11.0)(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): + redoc@2.1.5(core-js@3.38.0)(enzyme@3.11.0)(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): dependencies: '@cfaester/enzyme-adapter-react-18': 0.8.0(enzyme@3.11.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@redocly/openapi-core': 1.16.0 classnames: 2.5.1 - core-js: 3.37.1 + core-js: 3.38.0 decko: 1.2.0 dompurify: 3.1.6 eventemitter3: 5.0.1 @@ -11639,12 +11904,12 @@ snapshots: - react-native - supports-color - redocusaurus@2.1.1(@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/utils@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4))(core-js@3.37.1)(enzyme@3.11.0)(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(webpack@5.93.0): + redocusaurus@2.1.1(@docusaurus/theme-common@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/utils@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4))(core-js@3.38.0)(enzyme@3.11.0)(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(webpack@5.93.0): dependencies: - '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - docusaurus-plugin-redoc: 2.1.1(@docusaurus/utils@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4))(core-js@3.37.1)(enzyme@3.11.0)(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - docusaurus-theme-redoc: 2.1.1(@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(core-js@3.37.1)(enzyme@3.11.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(webpack@5.93.0) + '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + docusaurus-plugin-redoc: 2.1.1(@docusaurus/utils@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4))(core-js@3.38.0)(enzyme@3.11.0)(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + docusaurus-theme-redoc: 2.1.1(@docusaurus/theme-common@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(core-js@3.38.0)(enzyme@3.11.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(webpack@5.93.0) transitivePeerDependencies: - core-js - encoding @@ -11689,7 +11954,7 @@ snapshots: registry-auth-token@5.0.2: dependencies: - '@pnpm/npm-conf': 2.2.2 + '@pnpm/npm-conf': 2.3.1 registry-url@6.0.1: dependencies: @@ -11719,7 +11984,7 @@ snapshots: remark-emoji@4.0.1: dependencies: '@types/mdast': 4.0.4 - emoticon: 4.0.1 + emoticon: 4.1.0 mdast-util-find-and-replace: 3.0.1 node-emoji: 2.1.3 unified: 11.0.5 @@ -11833,7 +12098,7 @@ snapshots: dependencies: escalade: 3.1.2 picocolors: 1.0.1 - postcss: 8.4.40 + postcss: 8.4.41 strip-json-comments: 3.1.1 run-parallel@1.2.0: @@ -12219,11 +12484,11 @@ snapshots: stylis: 4.3.2 tslib: 2.6.2 - stylehacks@6.1.1(postcss@8.4.40): + stylehacks@6.1.1(postcss@8.4.41): dependencies: - browserslist: 4.23.2 - postcss: 8.4.40 - postcss-selector-parser: 6.1.1 + browserslist: 4.23.3 + postcss: 8.4.41 + postcss-selector-parser: 6.1.2 stylis@4.3.2: {} @@ -12281,10 +12546,10 @@ snapshots: jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 - terser: 5.31.3 + terser: 5.31.6 webpack: 5.93.0 - terser@5.31.3: + terser@5.31.6: dependencies: '@jridgewell/source-map': 0.3.6 acorn: 8.12.1 @@ -12336,7 +12601,7 @@ snapshots: type-fest@2.19.0: {} - type-fest@4.23.0: {} + type-fest@4.24.0: {} type-is@1.6.18: dependencies: @@ -12390,6 +12655,8 @@ snapshots: undici-types@5.26.5: {} + undici@6.19.7: {} + unicode-canonical-property-names-ecmascript@2.0.0: {} unicode-emoji-modifier-base@1.0.0: {} @@ -12405,7 +12672,7 @@ snapshots: unified@11.0.5: dependencies: - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 bail: 2.0.2 devlop: 1.1.0 extend: 3.0.2 @@ -12419,33 +12686,33 @@ snapshots: unist-util-is@6.0.0: dependencies: - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 unist-util-position-from-estree@2.0.0: dependencies: - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 unist-util-position@5.0.0: dependencies: - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 unist-util-remove-position@5.0.0: dependencies: - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 unist-util-visit: 5.0.0 unist-util-stringify-position@4.0.0: dependencies: - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 unist-util-visit-parents@6.0.1: dependencies: - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 unist-util-is: 6.0.0 unist-util-visit@5.0.0: dependencies: - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.1 @@ -12461,6 +12728,12 @@ snapshots: escalade: 3.1.2 picocolors: 1.0.1 + update-browserslist-db@1.1.0(browserslist@4.23.3): + dependencies: + browserslist: 4.23.3 + escalade: 3.1.2 + picocolors: 1.0.1 + update-notifier@6.0.2: dependencies: boxen: 7.1.1 @@ -12518,17 +12791,17 @@ snapshots: vfile-location@5.0.3: dependencies: - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 vfile: 6.0.2 vfile-message@4.0.2: dependencies: - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 unist-util-stringify-position: 4.0.0 vfile@6.0.2: dependencies: - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 unist-util-stringify-position: 4.0.0 vfile-message: 4.0.2 @@ -12536,7 +12809,7 @@ snapshots: dependencies: xml-name-validator: 5.0.0 - watchpack@2.4.1: + watchpack@2.4.2: dependencies: glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 @@ -12599,7 +12872,7 @@ snapshots: html-entities: 2.5.2 http-proxy-middleware: 2.0.6(@types/express@4.17.21)(debug@4.3.6) ipaddr.js: 2.2.0 - launch-editor: 2.8.0 + launch-editor: 2.8.1 open: 8.4.2 p-retry: 4.6.2 rimraf: 3.0.2 @@ -12640,7 +12913,7 @@ snapshots: '@webassemblyjs/wasm-parser': 1.12.1 acorn: 8.12.1 acorn-import-attributes: 1.9.5(acorn@8.12.1) - browserslist: 4.23.2 + browserslist: 4.23.3 chrome-trace-event: 1.0.4 enhanced-resolve: 5.17.1 es-module-lexer: 1.5.4 @@ -12655,7 +12928,7 @@ snapshots: schema-utils: 3.3.0 tapable: 2.2.1 terser-webpack-plugin: 5.3.10(webpack@5.93.0) - watchpack: 2.4.1 + watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: - '@swc/core' From c4e1607889b358ae79f0240ae2c00293329e2773 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 15 Aug 2024 17:33:04 +0200 Subject: [PATCH 101/547] Update dependency marked to v14 (#4036) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- docs/plugins/woodpecker-plugins/package.json | 2 +- docs/pnpm-lock.yaml | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/plugins/woodpecker-plugins/package.json b/docs/plugins/woodpecker-plugins/package.json index 993422e88..6e71e12ff 100644 --- a/docs/plugins/woodpecker-plugins/package.json +++ b/docs/plugins/woodpecker-plugins/package.json @@ -18,7 +18,7 @@ "axios": "^1.7.2", "concurrently": "^8.2.2", "isomorphic-dompurify": "^2.11.0", - "marked": "^13.0.0", + "marked": "^14.0.0", "tslib": "^2.6.2", "typescript": "^5.4.5" }, diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml index 9dd4b9958..7ebe00841 100644 --- a/docs/pnpm-lock.yaml +++ b/docs/pnpm-lock.yaml @@ -119,8 +119,8 @@ importers: specifier: ^2.11.0 version: 2.14.0 marked: - specifier: ^13.0.0 - version: 13.0.3 + specifier: ^14.0.0 + version: 14.0.0 tslib: specifier: ^2.6.2 version: 2.6.3 @@ -3668,8 +3668,8 @@ packages: markdown-table@3.0.3: resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} - marked@13.0.3: - resolution: {integrity: sha512-rqRix3/TWzE9rIoFGIn8JmsVfhiuC8VIQ8IdX5TfzmeBucdY05/0UlzKaw0eVtpcN/OdVFpBk7CjKGo9iHJ/zA==} + marked@14.0.0: + resolution: {integrity: sha512-uIj4+faQ+MgHgwUW1l2PsPglZLOLOT1uErt06dAPtx2kjteLAkbsd/0FiYg/MGS+i7ZKLb7w2WClxHkzOOuryQ==} engines: {node: '>= 18'} hasBin: true @@ -5846,7 +5846,7 @@ snapshots: debug: 4.3.6 gensync: 1.0.0-beta.2 json5: 2.2.3 - semver: 6.3.1 + semver: 7.6.3 transitivePeerDependencies: - supports-color @@ -10520,7 +10520,7 @@ snapshots: markdown-table@3.0.3: {} - marked@13.0.3: {} + marked@14.0.0: {} marked@4.3.0: {} From 8251ec198b90f9441b453aa508c03973f02e61c3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 15 Aug 2024 17:50:55 +0200 Subject: [PATCH 102/547] Update dependency simple-icons to v13 (#4037) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- web/package.json | 2 +- web/pnpm-lock.yaml | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/web/package.json b/web/package.json index 9cecaf5be..3ef116380 100644 --- a/web/package.json +++ b/web/package.json @@ -31,7 +31,7 @@ "pinia": "^2.1.7", "prismjs": "^1.29.0", "semver": "^7.6.2", - "simple-icons": "^12.3.0", + "simple-icons": "^13.0.0", "vue": "^3.4.27", "vue-i18n": "^9.13.1", "vue-router": "^4.3.2" diff --git a/web/pnpm-lock.yaml b/web/pnpm-lock.yaml index 2508fd661..3569a74aa 100644 --- a/web/pnpm-lock.yaml +++ b/web/pnpm-lock.yaml @@ -51,8 +51,8 @@ importers: specifier: ^7.6.2 version: 7.6.3 simple-icons: - specifier: ^12.3.0 - version: 12.4.0 + specifier: ^13.0.0 + version: 13.5.0 vue: specifier: ^3.4.27 version: 3.4.34(typescript@5.5.3) @@ -2363,8 +2363,8 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - simple-icons@12.4.0: - resolution: {integrity: sha512-2uL8PHFDyBLQGhZsAvYcaHqm5KjNzIepPshTLZky9Dc6HgPFI83SAVC8of3KYtr+7O8zJggrGYTxyUu/9hyYgA==} + simple-icons@13.5.0: + resolution: {integrity: sha512-6VrM4xSty8EesmQbjI++Lk8FkV+gl3Ve+DnTQVc7ovZryKpc9JZSuZA8NNc7lC3Mqbh0GLlX3WXdITZlDu7bSQ==} engines: {node: '>=0.12.18'} sisteransi@1.0.5: @@ -2853,7 +2853,7 @@ snapshots: '@antfu/install-pkg': 0.3.3 '@clack/prompts': 0.7.0 '@stylistic/eslint-plugin': 2.6.0-beta.1(eslint@9.8.0)(typescript@5.5.3) - '@typescript-eslint/eslint-plugin': 8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3) + '@typescript-eslint/eslint-plugin': 8.0.0-alpha.40(@typescript-eslint/parser@7.18.0(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3) '@typescript-eslint/parser': 8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3) eslint: 9.8.0 eslint-config-flat-gitignore: 0.1.8 @@ -3455,10 +3455,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3)': + '@typescript-eslint/eslint-plugin@8.0.0-alpha.40(@typescript-eslint/parser@7.18.0(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3)': dependencies: '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3) + '@typescript-eslint/parser': 7.18.0(eslint@9.8.0)(typescript@5.5.3) '@typescript-eslint/scope-manager': 8.0.0-alpha.40 '@typescript-eslint/type-utils': 8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3) '@typescript-eslint/utils': 8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3) @@ -4338,14 +4338,14 @@ snapshots: eslint: 9.8.0 eslint-rule-composer: 0.3.0 optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3) + '@typescript-eslint/eslint-plugin': 8.0.0-alpha.40(@typescript-eslint/parser@7.18.0(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3) eslint-plugin-vitest@0.5.4(@typescript-eslint/eslint-plugin@8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3)(vitest@2.0.4(@types/node@20.14.13)(jsdom@24.1.1)(stylus@0.57.0)): dependencies: '@typescript-eslint/utils': 7.18.0(eslint@9.8.0)(typescript@5.5.3) eslint: 9.8.0 optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3) + '@typescript-eslint/eslint-plugin': 8.0.0-alpha.40(@typescript-eslint/parser@7.18.0(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3) vitest: 2.0.4(@types/node@20.14.13)(jsdom@24.1.1)(stylus@0.57.0) transitivePeerDependencies: - supports-color @@ -5232,7 +5232,7 @@ snapshots: signal-exit@4.1.0: {} - simple-icons@12.4.0: {} + simple-icons@13.5.0: {} sisteransi@1.0.5: {} From aafd217cceb6af6b8497def4a4ae87e4f9e388b9 Mon Sep 17 00:00:00 2001 From: qwerty287 <80460567+qwerty287@users.noreply.github.com> Date: Thu, 15 Aug 2024 18:58:51 +0200 Subject: [PATCH 103/547] Remove old pipeline options (#4016) --- docs/docs/91-migrations.md | 12 +- pipeline/frontend/yaml/compiler/compiler.go | 1 - .../frontend/yaml/compiler/compiler_test.go | 84 +++++++------- pipeline/frontend/yaml/compiler/convert.go | 11 +- pipeline/frontend/yaml/compiler/dag.go | 20 +--- pipeline/frontend/yaml/compiler/dag_test.go | 3 - .../frontend/yaml/constraint/constraint.go | 30 +++-- pipeline/frontend/yaml/linter/linter.go | 102 +---------------- pipeline/frontend/yaml/linter/linter_test.go | 2 +- .../linter/schema/.woodpecker/test-step.yaml | 18 +-- .../linter/schema/.woodpecker/test-when.yaml | 9 -- .../frontend/yaml/linter/schema/schema.json | 104 +----------------- pipeline/frontend/yaml/parse_test.go | 5 +- pipeline/frontend/yaml/types/base/map.go | 51 --------- pipeline/frontend/yaml/types/base/map_test.go | 58 ---------- pipeline/frontend/yaml/types/container.go | 9 +- .../frontend/yaml/types/container_test.go | 34 ++---- pipeline/frontend/yaml/types/secret.go | 48 -------- pipeline/frontend/yaml/types/secret_test.go | 73 ------------ 19 files changed, 100 insertions(+), 574 deletions(-) delete mode 100644 pipeline/frontend/yaml/types/base/map.go delete mode 100644 pipeline/frontend/yaml/types/base/map_test.go delete mode 100644 pipeline/frontend/yaml/types/secret.go delete mode 100644 pipeline/frontend/yaml/types/secret_test.go diff --git a/docs/docs/91-migrations.md b/docs/docs/91-migrations.md index 88d4c426d..db82b83b8 100644 --- a/docs/docs/91-migrations.md +++ b/docs/docs/91-migrations.md @@ -6,15 +6,15 @@ Some versions need some changes to the server configuration or the pipeline conf - Removed `WOODPECKER_DEV_OAUTH_HOST` and `WOODPECKER_DEV_GITEA_OAUTH_URL` use `WOODPECKER_EXPERT_FORGE_OAUTH_HOST` - Compatibility mode of deprecated `pipeline:`, `platform:` and `branches:` pipeline config options are now removed and pipeline will now fail if still in use. -- Deprecated `steps.[name].group` in favor of `steps.[name].depends_on` (see [workflow syntax](./20-usage/20-workflow-syntax.md#depends_on) to learn how to set dependencies) +- Removed `steps.[name].group` in favor of `steps.[name].depends_on` (see [workflow syntax](./20-usage/20-workflow-syntax.md#depends_on) to learn how to set dependencies) - Removed `WOODPECKER_ROOT_PATH` and `WOODPECKER_ROOT_URL` config variables. Use `WOODPECKER_HOST` with a path instead - Pipelines without a config file will now be skipped instead of failing - Removed implicitly defined `regcred` image pull secret name. Set it explicitly via `WOODPECKER_BACKEND_K8S_PULL_SECRET_NAMES` -- Deprecated `includes` and `excludes` support from **event** filter -- Deprecated uppercasing all secret env vars, instead, the value of the `secrets` property is used. [Read more](./20-usage/40-secrets.md#use-secrets-in-commands) -- Deprecated alternative names for secrets, use `environment` with `from_secret` -- Deprecated slice definition for env vars -- Deprecated `environment` filter, use `when.evaluate` +- Removed `includes` and `excludes` support from **event** filter +- Removed uppercasing all secret env vars, instead, the value of the `secrets` property is used. [Read more](./20-usage/40-secrets.md#use-secrets-in-commands) +- Removed alternative names for secrets, use `environment` with `from_secret` +- Removed slice definition for env vars +- Removed `environment` filter, use `when.evaluate` - Removed `WOODPECKER_WEBHOOK_HOST` in favor of `WOODPECKER_EXPERT_WEBHOOK_HOST` - Migrated to rfc9421 for webhook signatures - Renamed `start_time`, `end_time`, `created_at`, `started_at`, `finished_at` and `reviewed_at` JSON fields to `started`, `finished`, `created`, `started`, `finished`, `reviewed` diff --git a/pipeline/frontend/yaml/compiler/compiler.go b/pipeline/frontend/yaml/compiler/compiler.go index 9525a3a12..9b9c2d7d4 100644 --- a/pipeline/frontend/yaml/compiler/compiler.go +++ b/pipeline/frontend/yaml/compiler/compiler.go @@ -275,7 +275,6 @@ func (c *Compiler) Compile(conf *yaml_types.Workflow) (*backend_types.Config, er step: step, position: pos, name: container.Name, - group: container.Group, dependsOn: container.DependsOn, }) } diff --git a/pipeline/frontend/yaml/compiler/compiler_test.go b/pipeline/frontend/yaml/compiler/compiler_test.go index d391b5506..66bb1a19b 100644 --- a/pipeline/frontend/yaml/compiler/compiler_test.go +++ b/pipeline/frontend/yaml/compiler/compiler_test.go @@ -150,63 +150,65 @@ func TestCompilerCompile(t *testing.T) { }, }, { - name: "workflow with three steps and one group", + name: "workflow with three steps", fronConf: &yaml_types.Workflow{Steps: yaml_types.ContainerList{ContainerList: []*yaml_types.Container{{ Name: "echo env", Image: "bash", Commands: []string{"env"}, }, { Name: "parallel echo 1", - Group: "parallel", Image: "bash", Commands: []string{"echo 1"}, }, { Name: "parallel echo 2", - Group: "parallel", Image: "bash", Commands: []string{"echo 2"}, }}}}, backConf: &backend_types.Config{ Networks: defaultNetworks, Volumes: defaultVolumes, - Stages: []*backend_types.Stage{defaultCloneStage, { - Steps: []*backend_types.Step{{ - Name: "echo env", - Type: backend_types.StepTypeCommands, - Image: "bash", - Commands: []string{"env"}, - OnSuccess: true, - Failure: "fail", - Volumes: []string{defaultVolumes[0].Name + ":/test"}, - WorkingDir: "/test/src/github.com/octocat/hello-world", - Networks: []backend_types.Conn{{Name: "test_default", Aliases: []string{"echo env"}}}, - ExtraHosts: []backend_types.HostAlias{}, - }}, - }, { - Steps: []*backend_types.Step{{ - Name: "parallel echo 1", - Type: backend_types.StepTypeCommands, - Image: "bash", - Commands: []string{"echo 1"}, - OnSuccess: true, - Failure: "fail", - Volumes: []string{defaultVolumes[0].Name + ":/test"}, - WorkingDir: "/test/src/github.com/octocat/hello-world", - Networks: []backend_types.Conn{{Name: "test_default", Aliases: []string{"parallel echo 1"}}}, - ExtraHosts: []backend_types.HostAlias{}, + Stages: []*backend_types.Stage{ + defaultCloneStage, { + Steps: []*backend_types.Step{{ + Name: "echo env", + Type: backend_types.StepTypeCommands, + Image: "bash", + Commands: []string{"env"}, + OnSuccess: true, + Failure: "fail", + Volumes: []string{defaultVolumes[0].Name + ":/test"}, + WorkingDir: "/test/src/github.com/octocat/hello-world", + Networks: []backend_types.Conn{{Name: "test_default", Aliases: []string{"echo env"}}}, + ExtraHosts: []backend_types.HostAlias{}, + }}, }, { - Name: "parallel echo 2", - Type: backend_types.StepTypeCommands, - Image: "bash", - Commands: []string{"echo 2"}, - OnSuccess: true, - Failure: "fail", - Volumes: []string{defaultVolumes[0].Name + ":/test"}, - WorkingDir: "/test/src/github.com/octocat/hello-world", - Networks: []backend_types.Conn{{Name: "test_default", Aliases: []string{"parallel echo 2"}}}, - ExtraHosts: []backend_types.HostAlias{}, - }}, - }}, + Steps: []*backend_types.Step{{ + Name: "parallel echo 1", + Type: backend_types.StepTypeCommands, + Image: "bash", + Commands: []string{"echo 1"}, + OnSuccess: true, + Failure: "fail", + Volumes: []string{defaultVolumes[0].Name + ":/test"}, + WorkingDir: "/test/src/github.com/octocat/hello-world", + Networks: []backend_types.Conn{{Name: "test_default", Aliases: []string{"parallel echo 1"}}}, + ExtraHosts: []backend_types.HostAlias{}, + }}, + }, { + Steps: []*backend_types.Step{{ + Name: "parallel echo 2", + Type: backend_types.StepTypeCommands, + Image: "bash", + Commands: []string{"echo 2"}, + OnSuccess: true, + Failure: "fail", + Volumes: []string{defaultVolumes[0].Name + ":/test"}, + WorkingDir: "/test/src/github.com/octocat/hello-world", + Networks: []backend_types.Conn{{Name: "test_default", Aliases: []string{"parallel echo 2"}}}, + ExtraHosts: []backend_types.HostAlias{}, + }}, + }, + }, }, }, { @@ -274,7 +276,7 @@ func TestCompilerCompile(t *testing.T) { Name: "step", Image: "bash", Commands: []string{"env"}, - Secrets: yaml_types.Secrets{Secrets: []*yaml_types.Secret{{Source: "missing", Target: "missing"}}}, + Secrets: []string{"missing"}, }}}}, backConf: nil, expectedErr: "secret \"missing\" not found", diff --git a/pipeline/frontend/yaml/compiler/convert.go b/pipeline/frontend/yaml/compiler/convert.go index df4c3ec8d..d01175368 100644 --- a/pipeline/frontend/yaml/compiler/convert.go +++ b/pipeline/frontend/yaml/compiler/convert.go @@ -125,20 +125,17 @@ func (c *Compiler) createProcess(container *yaml_types.Container, stepType backe return nil, err } - for _, requested := range container.Secrets.Secrets { - secretValue, err := getSecretValue(requested.Source) + for _, requested := range container.Secrets { + secretValue, err := getSecretValue(requested) if err != nil { return nil, err } - toUpperTarget := strings.ToUpper(requested.Target) - if !environmentAllowed(toUpperTarget, stepType) { + if !environmentAllowed(requested, stepType) { continue } - environment[requested.Target] = secretValue - // TODO: deprecated, remove in 3.x - environment[toUpperTarget] = secretValue + environment[requested] = secretValue } if utils.MatchImage(container.Image, c.escalated...) && container.IsPlugin() { diff --git a/pipeline/frontend/yaml/compiler/dag.go b/pipeline/frontend/yaml/compiler/dag.go index 461807259..deb673e4c 100644 --- a/pipeline/frontend/yaml/compiler/dag.go +++ b/pipeline/frontend/yaml/compiler/dag.go @@ -24,7 +24,6 @@ type dagCompilerStep struct { step *backend_types.Step position int name string - group string dependsOn []string } @@ -51,25 +50,16 @@ func (c dagCompiler) compile() ([]*backend_types.Stage, error) { if c.isDAG() { return c.compileByDependsOn() } - return c.compileByGroup() + return c.compileSequence() } -func (c dagCompiler) compileByGroup() ([]*backend_types.Stage, error) { +func (c dagCompiler) compileSequence() ([]*backend_types.Stage, error) { stages := make([]*backend_types.Stage, 0, len(c.steps)) - var currentStage *backend_types.Stage - var currentGroup string for _, s := range c.steps { - // create a new stage if current step is in a new group compared to last one - if currentStage == nil || currentGroup != s.group || s.group == "" { - currentGroup = s.group - - currentStage = new(backend_types.Stage) - stages = append(stages, currentStage) - } - - // add step to current stage - currentStage.Steps = append(currentStage.Steps, s.step) + stages = append(stages, &backend_types.Stage{ + Steps: []*backend_types.Step{s.step}, + }) } return stages, nil diff --git a/pipeline/frontend/yaml/compiler/dag_test.go b/pipeline/frontend/yaml/compiler/dag_test.go index 51dd3b5a6..620b67776 100644 --- a/pipeline/frontend/yaml/compiler/dag_test.go +++ b/pipeline/frontend/yaml/compiler/dag_test.go @@ -85,7 +85,6 @@ func TestConvertDAGToStages(t *testing.T) { "echo env": { position: 0, name: "echo env", - group: "", step: &backend_types.Step{ UUID: "01HJDPEW6R7J0JBE3F1T7Q0TYX", Type: "commands", @@ -96,7 +95,6 @@ func TestConvertDAGToStages(t *testing.T) { "echo 1": { position: 1, name: "echo 1", - group: "", dependsOn: []string{"echo env", "echo 2"}, step: &backend_types.Step{ UUID: "01HJDPF770QGRZER8RF79XVS4M", @@ -108,7 +106,6 @@ func TestConvertDAGToStages(t *testing.T) { "echo 2": { position: 2, name: "echo 2", - group: "", step: &backend_types.Step{ UUID: "01HJDPFF5RMEYZW0YTGR1Y1ZR0", Type: "commands", diff --git a/pipeline/frontend/yaml/constraint/constraint.go b/pipeline/frontend/yaml/constraint/constraint.go index 205f21fd3..28c29f2ab 100644 --- a/pipeline/frontend/yaml/constraint/constraint.go +++ b/pipeline/frontend/yaml/constraint/constraint.go @@ -18,6 +18,7 @@ import ( "fmt" "maps" "path" + "slices" "strings" "github.com/bmatcuk/doublestar/v4" @@ -37,20 +38,18 @@ type ( } Constraint struct { - Ref List - Repo List - Instance List - Platform List - Environment List - Branch List - Cron List - Status List - Matrix Map - Local yamlBaseTypes.BoolTrue - Path Path - Evaluate string `yaml:"evaluate,omitempty"` - // TODO: change to StringOrSlice in 3.x - Event List + Ref List + Repo List + Instance List + Platform List + Branch List + Cron List + Status List + Matrix Map + Local yamlBaseTypes.BoolTrue + Path Path + Evaluate string `yaml:"evaluate,omitempty"` + Event yamlBaseTypes.StringOrSlice } // List defines a runtime constraint for exclude & include string slices. @@ -164,8 +163,7 @@ func (c *Constraint) Match(m metadata.Metadata, global bool, env map[string]stri } match = match && c.Platform.Match(m.Sys.Platform) && - c.Environment.Match(m.Curr.DeployTo) && - c.Event.Match(m.Curr.Event) && + (len(c.Event) == 0 || slices.Contains(c.Event, m.Curr.Event)) && c.Repo.Match(path.Join(m.Repo.Owner, m.Repo.Name)) && c.Ref.Match(m.Curr.Commit.Ref) && c.Instance.Match(m.Sys.Host) diff --git a/pipeline/frontend/yaml/linter/linter.go b/pipeline/frontend/yaml/linter/linter.go index b64d7bf4c..6b4a51fc7 100644 --- a/pipeline/frontend/yaml/linter/linter.go +++ b/pipeline/frontend/yaml/linter/linter.go @@ -145,7 +145,7 @@ func (l *Linter) lintSettings(config *WorkflowConfig, c *types.Container, field if len(c.Environment) != 0 { return newLinterError("Should not configure both environment and settings", config.File, fmt.Sprintf("%s.%s", field, c.Name), true) } - if len(c.Secrets.Secrets) != 0 { + if len(c.Secrets) != 0 { return newLinterError("Should not configure both secrets and settings", config.File, fmt.Sprintf("%s.%s", field, c.Name), true) } return nil @@ -218,102 +218,6 @@ func (l *Linter) lintDeprecations(config *WorkflowConfig) (err error) { return err } - for _, step := range parsed.Steps.ContainerList { - if step.Group != "" { - err = multierr.Append(err, &errorTypes.PipelineError{ - Type: errorTypes.PipelineErrorTypeDeprecation, - Message: "Please use depends_on instead of deprecated 'group' setting", - Data: errors.DeprecationErrorData{ - File: config.File, - Field: "steps." + step.Name + ".group", - Docs: "https://woodpecker-ci.org/docs/next/usage/workflow-syntax#depends_on", - }, - IsWarning: true, - }) - } - } - - for i, c := range parsed.When.Constraints { - if len(c.Event.Exclude) != 0 { - err = multierr.Append(err, &errorTypes.PipelineError{ - Type: errorTypes.PipelineErrorTypeDeprecation, - Message: "Please only use allow lists for events", - Data: errors.DeprecationErrorData{ - File: config.File, - Field: fmt.Sprintf("when[%d].event", i), - Docs: "https://woodpecker-ci.org/docs/usage/workflow-syntax#event-1", - }, - IsWarning: true, - }) - } - } - - for _, step := range parsed.Steps.ContainerList { - for i, c := range step.When.Constraints { - if len(c.Event.Exclude) != 0 { - err = multierr.Append(err, &errorTypes.PipelineError{ - Type: errorTypes.PipelineErrorTypeDeprecation, - Message: "Please only use allow lists for events", - Data: errors.DeprecationErrorData{ - File: config.File, - Field: fmt.Sprintf("steps.%s.when[%d].event", step.Name, i), - Docs: "https://woodpecker-ci.org/docs/usage/workflow-syntax#event", - }, - IsWarning: true, - }) - } - } - } - - for _, step := range parsed.Steps.ContainerList { - for i, c := range step.Secrets.Secrets { - if c.Source != c.Target { - err = multierr.Append(err, &errorTypes.PipelineError{ - Type: errorTypes.PipelineErrorTypeDeprecation, - Message: "Secrets alternative names are deprecated, use environment with from_secret", - Data: errors.DeprecationErrorData{ - File: config.File, - Field: fmt.Sprintf("steps.%s.secrets[%d]", step.Name, i), - Docs: "https://woodpecker-ci.org/docs/usage/secrets#use-secrets-in-settings-and-environment", - }, - IsWarning: true, - }) - } - } - } - - for i, c := range parsed.When.Constraints { - if !c.Environment.IsEmpty() { - err = multierr.Append(err, &errorTypes.PipelineError{ - Type: errorTypes.PipelineErrorTypeDeprecation, - Message: "environment filters are deprecated, use evaluate with CI_PIPELINE_DEPLOY_TARGET", - Data: errors.DeprecationErrorData{ - File: config.File, - Field: fmt.Sprintf("when[%d].environment", i), - Docs: "https://woodpecker-ci.org/docs/usage/workflow-syntax#evaluate", - }, - IsWarning: true, - }) - } - } - - for _, step := range parsed.Steps.ContainerList { - for i, c := range step.When.Constraints { - if !c.Environment.IsEmpty() { - err = multierr.Append(err, &errorTypes.PipelineError{ - Type: errorTypes.PipelineErrorTypeDeprecation, - Message: "environment filters are deprecated, use evaluate with CI_PIPELINE_DEPLOY_TARGET", - Data: errors.DeprecationErrorData{ - File: config.File, - Field: fmt.Sprintf("steps.%s.when[%d].environment", step.Name, i), - Docs: "https://woodpecker-ci.org/docs/usage/workflow-syntax#evaluate", - }, - IsWarning: true, - }) - } - } - } - return err } @@ -326,7 +230,7 @@ func (l *Linter) lintBadHabits(config *WorkflowConfig) (err error) { rootEventFilters := len(parsed.When.Constraints) > 0 for _, c := range parsed.When.Constraints { - if len(c.Event.Include) == 0 { + if len(c.Event) == 0 { rootEventFilters = false break } @@ -340,7 +244,7 @@ func (l *Linter) lintBadHabits(config *WorkflowConfig) (err error) { } else { stepEventIndex := -1 for i, c := range step.When.Constraints { - if len(c.Event.Include) == 0 { + if len(c.Event) == 0 { stepEventIndex = i break } diff --git a/pipeline/frontend/yaml/linter/linter_test.go b/pipeline/frontend/yaml/linter/linter_test.go index 4c9000d24..19bc5ae43 100644 --- a/pipeline/frontend/yaml/linter/linter_test.go +++ b/pipeline/frontend/yaml/linter/linter_test.go @@ -162,7 +162,7 @@ func TestLintErrors(t *testing.T) { want: "Cannot configure both entrypoint and settings", }, { - from: "steps: { build: { image: golang, settings: { test: 'true' }, environment: [ 'TEST=true' ] } }", + from: "steps: { build: { image: golang, settings: { test: 'true' }, environment: { 'TEST': 'true' } } }", want: "Should not configure both environment and settings", }, { diff --git a/pipeline/frontend/yaml/linter/schema/.woodpecker/test-step.yaml b/pipeline/frontend/yaml/linter/schema/.woodpecker/test-step.yaml index 9f60fcf44..da6ada4f2 100644 --- a/pipeline/frontend/yaml/linter/schema/.woodpecker/test-step.yaml +++ b/pipeline/frontend/yaml/linter/schema/.woodpecker/test-step.yaml @@ -38,15 +38,6 @@ steps: commands: - go test - environment-array: - image: golang - environment: - - CGO=0 - - GOOS=linux - - GOARCH=amd64 - commands: - - go test - secrets: image: docker commands: @@ -54,14 +45,7 @@ steps: - echo $DOCKER_PASSWORD secrets: - docker_username - - source: docker_prod_password - target: docker_password - - group: - group: test - image: golang - commands: - - go test + - docker_prod_password detached: image: redis diff --git a/pipeline/frontend/yaml/linter/schema/.woodpecker/test-when.yaml b/pipeline/frontend/yaml/linter/schema/.woodpecker/test-when.yaml index 1e163e854..a8235b65e 100644 --- a/pipeline/frontend/yaml/linter/schema/.woodpecker/test-when.yaml +++ b/pipeline/frontend/yaml/linter/schema/.woodpecker/test-when.yaml @@ -37,14 +37,6 @@ steps: - deployment - release - when-event-exclude-pull_request_closed: - image: alpine - commands: - - echo "test" - when: - event: - exclude: pull_request_closed - when-ref: image: alpine commands: @@ -78,7 +70,6 @@ steps: commands: - echo "test" when: - environment: production event: deployment when-matrix: diff --git a/pipeline/frontend/yaml/linter/schema/schema.json b/pipeline/frontend/yaml/linter/schema/schema.json index ffe9fac74..026dda685 100644 --- a/pipeline/frontend/yaml/linter/schema/schema.json +++ b/pipeline/frontend/yaml/linter/schema/schema.json @@ -163,18 +163,7 @@ "event": { "description": "Read more: https://woodpecker-ci.org/docs/usage/workflow-syntax#event", "default": [], - "oneOf": [ - { - "type": "array", - "minLength": 1, - "items": { - "$ref": "#/definitions/event_enum" - } - }, - { - "$ref": "#/definitions/event_enum" - } - ] + "$ref": "#/definitions/event_constraint_list" }, "ref": { "description": "Read more: https://woodpecker-ci.org/docs/usage/workflow-syntax#ref", @@ -188,10 +177,6 @@ "description": "Execute a step only on a specific platform. Read more: https://woodpecker-ci.org/docs/usage/workflow-syntax#platform", "$ref": "#/definitions/constraint_list" }, - "environment": { - "description": "Execute a step only for a specific environment. Read more: https://woodpecker-ci.org/docs/usage/workflow-syntax#environment", - "$ref": "#/definitions/constraint_list" - }, "instance": { "description": "Read more: https://woodpecker-ci.org/docs/usage/workflow-syntax#instance", "$ref": "#/definitions/constraint_list" @@ -291,10 +276,6 @@ "volumes": { "$ref": "#/definitions/step_volumes" }, - "group": { - "description": "deprecated, use depends_on", - "type": "string" - }, "depends_on": { "description": "Execute a step after another step has finished.", "oneOf": [ @@ -377,10 +358,6 @@ "volumes": { "$ref": "#/definitions/step_volumes" }, - "group": { - "description": "deprecated, use depends_on", - "type": "string" - }, "depends_on": { "description": "Execute a step after another step has finished.", "oneOf": [ @@ -457,10 +434,6 @@ "volumes": { "$ref": "#/definitions/step_volumes" }, - "group": { - "description": "deprecated, use depends_on", - "type": "string" - }, "depends_on": { "description": "Execute a step after another step has finished.", "oneOf": [ @@ -551,10 +524,6 @@ "description": "Execute a step only on a specific platform. Read more: https://woodpecker-ci.org/docs/usage/workflow-syntax#platform", "$ref": "#/definitions/constraint_list" }, - "environment": { - "description": "Execute a step only for a specific environment. Read more: https://woodpecker-ci.org/docs/usage/workflow-syntax#environment", - "$ref": "#/definitions/constraint_list" - }, "matrix": { "description": "Read more: https://woodpecker-ci.org/docs/usage/matrix-workflows", "type": "object", @@ -624,40 +593,6 @@ "items": { "$ref": "#/definitions/event_enum" } - }, - { - "type": "object", - "additionalProperties": false, - "properties": { - "include": { - "oneOf": [ - { - "$ref": "#/definitions/event_enum" - }, - { - "type": "array", - "minLength": 1, - "items": { - "$ref": "#/definitions/event_enum" - } - } - ] - }, - "exclude": { - "oneOf": [ - { - "$ref": "#/definitions/event_enum" - }, - { - "type": "array", - "minLength": 1, - "items": { - "$ref": "#/definitions/event_enum" - } - } - ] - } - } } ] }, @@ -739,43 +674,16 @@ }, "step_environment": { "description": "Pass environment variables to a pipeline step. Read more: https://woodpecker-ci.org/docs/usage/environment", - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - }, - "minLength": 1 - }, - { - "type": "object", - "additionalProperties": { - "type": ["boolean", "string", "number", "array", "object"] - } - } - ] + "type": "object", + "additionalProperties": { + "type": ["boolean", "string", "number", "array", "object"] + } }, "step_secrets": { "description": "Pass secrets to a pipeline step at runtime. Read more: https://woodpecker-ci.org/docs/usage/secrets", "type": "array", "items": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "object", - "required": ["source", "target"], - "properties": { - "source": { - "type": "string" - }, - "target": { - "type": "string" - } - } - } - ] + "type": "string" }, "minLength": 1 }, diff --git a/pipeline/frontend/yaml/parse_test.go b/pipeline/frontend/yaml/parse_test.go index fdd91f767..3dec23cd1 100644 --- a/pipeline/frontend/yaml/parse_test.go +++ b/pipeline/frontend/yaml/parse_test.go @@ -15,6 +15,7 @@ package yaml import ( + "slices" "testing" "github.com/franela/goblin" @@ -35,7 +36,7 @@ func TestParse(t *testing.T) { g.Fail(err) } - g.Assert(out.When.Constraints[0].Event.Match("tester")).Equal(true) + g.Assert(slices.Contains(out.When.Constraints[0].Event, "tester")).Equal(true) g.Assert(out.Workspace.Base).Equal("/go") g.Assert(out.Workspace.Path).Equal("src/github.com/octocat/hello-world") @@ -85,7 +86,7 @@ func TestParse(t *testing.T) { g.Assert(len(out.Steps.ContainerList[0].When.Constraints)).Equal(0) g.Assert(out.Steps.ContainerList[1].Name).Equal("notify_success") g.Assert(out.Steps.ContainerList[1].Image).Equal("plugins/slack") - g.Assert(out.Steps.ContainerList[1].When.Constraints[0].Event.Include).Equal([]string{"success"}) + g.Assert(out.Steps.ContainerList[1].When.Constraints[0].Event).Equal(yaml_base_types.StringOrSlice{"success"}) }) matchConfig, err := ParseString(sampleYaml) diff --git a/pipeline/frontend/yaml/types/base/map.go b/pipeline/frontend/yaml/types/base/map.go deleted file mode 100644 index 2cdd35b8b..000000000 --- a/pipeline/frontend/yaml/types/base/map.go +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2023 Woodpecker Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package base - -import ( - "errors" - "fmt" - "strings" -) - -// SliceOrMap represents a map of strings, string slice are converted into a map. -type SliceOrMap map[string]any - -// UnmarshalYAML implements the Unmarshaler interface. -func (s *SliceOrMap) UnmarshalYAML(unmarshal func(any) error) error { - var sliceType []any - if err := unmarshal(&sliceType); err == nil { - parts := map[string]any{} - for _, s := range sliceType { - if str, ok := s.(string); ok { - str := strings.TrimSpace(str) - key, val, _ := strings.Cut(str, "=") - parts[key] = val - } else { - return fmt.Errorf("cannot unmarshal '%v' of type %T into a string value", s, s) - } - } - *s = parts - return nil - } - - var mapType map[string]any - if err := unmarshal(&mapType); err == nil { - *s = mapType - return nil - } - - return errors.New("failed to unmarshal SliceOrMap") -} diff --git a/pipeline/frontend/yaml/types/base/map_test.go b/pipeline/frontend/yaml/types/base/map_test.go deleted file mode 100644 index 750fd1714..000000000 --- a/pipeline/frontend/yaml/types/base/map_test.go +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2024 Woodpecker Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package base - -import ( - "testing" - - "github.com/stretchr/testify/assert" - "gopkg.in/yaml.v3" -) - -type StructSliceOrMap struct { - Foos SliceOrMap `yaml:"foos,omitempty"` - Bars []string `yaml:"bars"` -} - -func TestSliceOrMapYaml(t *testing.T) { - str := `{foos: [bar=baz, far=faz]}` - - s := StructSliceOrMap{} - assert.NoError(t, yaml.Unmarshal([]byte(str), &s)) - - assert.Equal(t, SliceOrMap{"bar": "baz", "far": "faz"}, s.Foos) - - d, err := yaml.Marshal(&s) - assert.NoError(t, err) - - s2 := StructSliceOrMap{} - assert.NoError(t, yaml.Unmarshal(d, &s2)) - - assert.Equal(t, SliceOrMap{"bar": "baz", "far": "faz"}, s2.Foos) -} - -func TestStr2SliceOrMapPtrMap(t *testing.T) { - s := map[string]*StructSliceOrMap{"udav": { - Foos: SliceOrMap{"io.rancher.os.bar": "baz", "io.rancher.os.far": "true"}, - Bars: []string{}, - }} - d, err := yaml.Marshal(&s) - assert.NoError(t, err) - - s2 := map[string]*StructSliceOrMap{} - assert.NoError(t, yaml.Unmarshal(d, &s2)) - - assert.Equal(t, s, s2) -} diff --git a/pipeline/frontend/yaml/types/container.go b/pipeline/frontend/yaml/types/container.go index edfacd5c2..3cb683381 100644 --- a/pipeline/frontend/yaml/types/container.go +++ b/pipeline/frontend/yaml/types/container.go @@ -39,7 +39,6 @@ type ( Detached bool `yaml:"detach,omitempty"` Directory string `yaml:"directory,omitempty"` Failure string `yaml:"failure,omitempty"` - Group string `yaml:"group,omitempty"` Image string `yaml:"image,omitempty"` Name string `yaml:"name,omitempty"` Pull bool `yaml:"pull,omitempty"` @@ -49,10 +48,8 @@ type ( Ports []string `yaml:"ports,omitempty"` DependsOn base.StringOrSlice `yaml:"depends_on,omitempty"` - // TODO: make []string in 3.x - Secrets Secrets `yaml:"secrets,omitempty"` - // TODO: make map[string]any in 3.x - Environment base.SliceOrMap `yaml:"environment,omitempty"` + Secrets []string `yaml:"secrets,omitempty"` + Environment map[string]any `yaml:"environment,omitempty"` // Docker and Kubernetes Specific Privileged bool `yaml:"privileged,omitempty"` @@ -125,7 +122,7 @@ func (c *Container) IsPlugin() bool { return len(c.Commands) == 0 && len(c.Entrypoint) == 0 && len(c.Environment) == 0 && - len(c.Secrets.Secrets) == 0 + len(c.Secrets) == 0 } func (c *Container) IsTrustedCloneImage() bool { diff --git a/pipeline/frontend/yaml/types/container_test.go b/pipeline/frontend/yaml/types/container_test.go index 3573fbc13..10de961c7 100644 --- a/pipeline/frontend/yaml/types/container_test.go +++ b/pipeline/frontend/yaml/types/container_test.go @@ -41,8 +41,8 @@ dns: 8.8.8.8 dns_search: example.com entrypoint: [/bin/sh, -c] environment: - - RACK_ENV=development - - SHOW=true + RACK_ENV: development + SHOW: true extra_hosts: - somehost:162.242.195.82 - otherhost:50.31.209.229 @@ -88,7 +88,7 @@ func TestUnmarshalContainer(t *testing.T) { DNS: base.StringOrSlice{"8.8.8.8"}, DNSSearch: base.StringOrSlice{"example.com"}, Entrypoint: []string{"/bin/sh", "-c"}, - Environment: base.SliceOrMap{"RACK_ENV": "development", "SHOW": "true"}, + Environment: map[string]any{"RACK_ENV": "development", "SHOW": true}, ExtraHosts: []string{"somehost:162.242.195.82", "otherhost:50.31.209.229", "ipv6:2001:db8::10"}, Image: "golang:latest", MemLimit: base.MemStringOrInt(1024), @@ -114,9 +114,7 @@ func TestUnmarshalContainer(t *testing.T) { }, }, { - Event: constraint.List{ - Include: []string{"cron"}, - }, + Event: base.StringOrSlice{"cron"}, Cron: constraint.List{ Include: []string{"job1"}, }, @@ -166,7 +164,6 @@ func TestUnmarshalContainers(t *testing.T) { }, { from: `publish-agent: - group: bundle image: print/env settings: repo: woodpeckerci/woodpecker-agent @@ -179,16 +176,9 @@ func TestUnmarshalContainers(t *testing.T) { event: push`, want: []*Container{ { - Name: "publish-agent", - Image: "print/env", - Group: "bundle", - Secrets: Secrets{Secrets: []*Secret{{ - Source: "docker_username", - Target: "docker_username", - }, { - Source: "docker_password", - Target: "docker_password", - }}}, + Name: "publish-agent", + Image: "print/env", + Secrets: []string{"docker_username", "docker_password"}, Settings: map[string]any{ "repo": "woodpeckerci/woodpecker-agent", "dockerfile": "docker/Dockerfile.agent", @@ -198,7 +188,7 @@ func TestUnmarshalContainers(t *testing.T) { When: constraint.When{ Constraints: []constraint.Constraint{ { - Event: constraint.List{Include: []string{"push"}}, + Event: base.StringOrSlice{"push"}, Branch: constraint.List{Include: []string{"${CI_REPO_DEFAULT_BRANCH}"}}, }, }, @@ -208,7 +198,6 @@ func TestUnmarshalContainers(t *testing.T) { }, { from: `publish-cli: - group: docker image: print/env settings: repo: woodpeckerci/woodpecker-cli @@ -221,7 +210,6 @@ func TestUnmarshalContainers(t *testing.T) { { Name: "publish-cli", Image: "print/env", - Group: "docker", Settings: map[string]any{ "repo": "woodpeckerci/woodpecker-cli", "dockerfile": "docker/Dockerfile.cli", @@ -230,7 +218,7 @@ func TestUnmarshalContainers(t *testing.T) { When: constraint.When{ Constraints: []constraint.Constraint{ { - Event: constraint.List{Include: []string{"push"}}, + Event: base.StringOrSlice{"push"}, Branch: constraint.List{Include: []string{"${CI_REPO_DEFAULT_BRANCH}"}}, }, }, @@ -252,11 +240,11 @@ func TestUnmarshalContainers(t *testing.T) { When: constraint.When{ Constraints: []constraint.Constraint{ { - Event: constraint.List{Include: []string{"push"}}, + Event: base.StringOrSlice{"push"}, Branch: constraint.List{Include: []string{"${CI_REPO_DEFAULT_BRANCH}"}}, }, { - Event: constraint.List{Include: []string{"pull_request"}}, + Event: base.StringOrSlice{"pull_request"}, }, }, }, diff --git a/pipeline/frontend/yaml/types/secret.go b/pipeline/frontend/yaml/types/secret.go deleted file mode 100644 index 9958b41aa..000000000 --- a/pipeline/frontend/yaml/types/secret.go +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2023 Woodpecker Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package types - -import "gopkg.in/yaml.v3" - -type ( - // Secrets defines a collection of secrets. - Secrets struct { - Secrets []*Secret - } - - // Secret defines a container secret. - Secret struct { - Source string `yaml:"source"` - Target string `yaml:"target"` - } -) - -// UnmarshalYAML implements the Unmarshaler interface. -func (s *Secrets) UnmarshalYAML(value *yaml.Node) error { - y, _ := yaml.Marshal(value) - - var secrets []string - err := yaml.Unmarshal(y, &secrets) - if err == nil { - for _, str := range secrets { - s.Secrets = append(s.Secrets, &Secret{ - Source: str, - Target: str, - }) - } - return nil - } - return yaml.Unmarshal(y, &s.Secrets) -} diff --git a/pipeline/frontend/yaml/types/secret_test.go b/pipeline/frontend/yaml/types/secret_test.go deleted file mode 100644 index fcfc6d212..000000000 --- a/pipeline/frontend/yaml/types/secret_test.go +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright 2023 Woodpecker Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package types - -import ( - "testing" - - "github.com/stretchr/testify/assert" - "gopkg.in/yaml.v3" -) - -func TestUnmarshalSecrets(t *testing.T) { - testdata := []struct { - from string - want []*Secret - }{ - { - from: "[ mysql_username, mysql_password]", - want: []*Secret{ - { - Source: "mysql_username", - Target: "mysql_username", - }, - { - Source: "mysql_password", - Target: "mysql_password", - }, - }, - }, - { - from: "[ { source: mysql_prod_username, target: mysql_username } ]", - want: []*Secret{ - { - Source: "mysql_prod_username", - Target: "mysql_username", - }, - }, - }, - { - from: "[ { source: mysql_prod_username, target: mysql_username }, { source: redis_username, target: redis_username } ]", - want: []*Secret{ - { - Source: "mysql_prod_username", - Target: "mysql_username", - }, - { - Source: "redis_username", - Target: "redis_username", - }, - }, - }, - } - - for _, test := range testdata { - in := []byte(test.from) - got := Secrets{} - err := yaml.Unmarshal(in, &got) - assert.NoError(t, err) - assert.EqualValues(t, test.want, got.Secrets, "problem parsing secrets %q", test.from) - } -} From 8ae8b8647eb4be01889c0033883d8dc826d28973 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 15 Aug 2024 19:26:10 +0200 Subject: [PATCH 104/547] Update web npm deps non-major (#4034) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: qwerty287 --- web/package.json | 2 +- web/pnpm-lock.yaml | 1264 ++++++++++++++-------------- web/src/router.ts | 6 +- web/src/views/org/OrgWrapper.vue | 4 +- web/src/views/repo/RepoWrapper.vue | 2 +- 5 files changed, 647 insertions(+), 631 deletions(-) diff --git a/web/package.json b/web/package.json index 3ef116380..f97239773 100644 --- a/web/package.json +++ b/web/package.json @@ -57,7 +57,7 @@ "prettier": "^3.3.0", "replace-in-file": "^8.0.0", "tinycolor2": "^1.6.0", - "typescript": "5.5.3", + "typescript": "5.5.4", "typescript-eslint": "^7.12.0", "vite": "^5.2.12", "vite-plugin-prismjs": "^0.0.11", diff --git a/web/pnpm-lock.yaml b/web/pnpm-lock.yaml index 3569a74aa..032986d9c 100644 --- a/web/pnpm-lock.yaml +++ b/web/pnpm-lock.yaml @@ -13,16 +13,16 @@ importers: dependencies: '@intlify/unplugin-vue-i18n': specifier: ^4.0.0 - version: 4.0.0(rollup@4.19.1)(vue-i18n@9.13.1(vue@3.4.34(typescript@5.5.3))) + version: 4.0.0(rollup@4.20.0)(vue-i18n@9.13.1(vue@3.4.38(typescript@5.5.4))) '@kyvg/vue3-notification': specifier: ^3.2.1 - version: 3.2.1(vue@3.4.34(typescript@5.5.3)) + version: 3.2.1(vue@3.4.38(typescript@5.5.4)) '@mdi/js': specifier: ^7.4.47 version: 7.4.47 '@vueuse/core': specifier: ^10.10.0 - version: 10.11.0(vue@3.4.34(typescript@5.5.3)) + version: 10.11.1(vue@3.4.38(typescript@5.5.4)) ansi_up: specifier: ^6.0.2 version: 6.0.2 @@ -43,7 +43,7 @@ importers: version: 2.1.3 pinia: specifier: ^2.1.7 - version: 2.2.0(typescript@5.5.3)(vue@3.4.34(typescript@5.5.3)) + version: 2.2.1(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) prismjs: specifier: ^1.29.0 version: 1.29.0 @@ -55,26 +55,26 @@ importers: version: 13.5.0 vue: specifier: ^3.4.27 - version: 3.4.34(typescript@5.5.3) + version: 3.4.38(typescript@5.5.4) vue-i18n: specifier: ^9.13.1 - version: 9.13.1(vue@3.4.34(typescript@5.5.3)) + version: 9.13.1(vue@3.4.38(typescript@5.5.4)) vue-router: specifier: ^4.3.2 - version: 4.4.0(vue@3.4.34(typescript@5.5.3)) + version: 4.4.3(vue@3.4.38(typescript@5.5.4)) devDependencies: '@antfu/eslint-config': specifier: ^2.20.0 - version: 2.24.0(@vue/compiler-sfc@3.4.34)(eslint@9.8.0)(typescript@5.5.3)(vitest@2.0.4(@types/node@20.14.13)(jsdom@24.1.1)(stylus@0.57.0)) + version: 2.25.1(@typescript-eslint/utils@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(@vue/compiler-sfc@3.4.38)(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)(vitest@2.0.5(@types/node@20.14.15)(jsdom@24.1.1)(stylus@0.57.0)) '@eslint/js': specifier: ^9.4.0 - version: 9.8.0 + version: 9.9.0 '@ianvs/prettier-plugin-sort-imports': specifier: ^4.2.1 - version: 4.3.1(@vue/compiler-sfc@3.4.34)(prettier@3.3.3) + version: 4.3.1(@vue/compiler-sfc@3.4.38)(prettier@3.3.3) '@intlify/eslint-plugin-vue-i18n': specifier: 3.0.0 - version: 3.0.0(eslint@9.8.0) + version: 3.0.0(eslint@9.9.0(jiti@1.21.6)) '@types/eslint__js': specifier: ^8.42.3 version: 8.42.3 @@ -83,7 +83,7 @@ importers: version: 4.17.7 '@types/node': specifier: ^20.14.2 - version: 20.14.13 + version: 20.14.15 '@types/prismjs': specifier: ^1.26.4 version: 1.26.4 @@ -95,22 +95,22 @@ importers: version: 1.4.6 '@vitejs/plugin-vue': specifier: ^5.0.5 - version: 5.1.1(vite@5.3.5(@types/node@20.14.13)(stylus@0.57.0))(vue@3.4.34(typescript@5.5.3)) + version: 5.1.2(vite@5.4.1(@types/node@20.14.15)(stylus@0.57.0))(vue@3.4.38(typescript@5.5.4)) '@vue/compiler-sfc': specifier: ^3.4.27 - version: 3.4.34 + version: 3.4.38 '@vue/test-utils': specifier: ^2.4.6 version: 2.4.6 eslint: specifier: ^9.4.0 - version: 9.8.0 + version: 9.9.0(jiti@1.21.6) eslint-plugin-promise: specifier: ^6.2.0 - version: 6.6.0(eslint@9.8.0) + version: 6.6.0(eslint@9.9.0(jiti@1.21.6)) eslint-plugin-vue-scoped-css: specifier: ^2.8.0 - version: 2.8.1(eslint@9.8.0)(vue-eslint-parser@9.4.3(eslint@9.8.0)) + version: 2.8.1(eslint@9.9.0(jiti@1.21.6))(vue-eslint-parser@9.4.3(eslint@9.9.0(jiti@1.21.6))) jsdom: specifier: ^24.1.0 version: 24.1.1 @@ -124,29 +124,29 @@ importers: specifier: ^1.6.0 version: 1.6.0 typescript: - specifier: 5.5.3 - version: 5.5.3 + specifier: 5.5.4 + version: 5.5.4 typescript-eslint: specifier: ^7.12.0 - version: 7.18.0(eslint@9.8.0)(typescript@5.5.3) + version: 7.18.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) vite: specifier: ^5.2.12 - version: 5.3.5(@types/node@20.14.13)(stylus@0.57.0) + version: 5.4.1(@types/node@20.14.15)(stylus@0.57.0) vite-plugin-prismjs: specifier: ^0.0.11 version: 0.0.11(prismjs@1.29.0) vite-plugin-windicss: specifier: ^1.9.3 - version: 1.9.3(vite@5.3.5(@types/node@20.14.13)(stylus@0.57.0)) + version: 1.9.3(vite@5.4.1(@types/node@20.14.15)(stylus@0.57.0)) vite-svg-loader: specifier: ^5.1.0 - version: 5.1.0(vue@3.4.34(typescript@5.5.3)) + version: 5.1.0(vue@3.4.38(typescript@5.5.4)) vitest: specifier: ^2.0.0 - version: 2.0.4(@types/node@20.14.13)(jsdom@24.1.1)(stylus@0.57.0) + version: 2.0.5(@types/node@20.14.15)(jsdom@24.1.1)(stylus@0.57.0) vue-tsc: specifier: ^2.0.19 - version: 2.0.29(typescript@5.5.3) + version: 2.0.29(typescript@5.5.4) windicss: specifier: ^3.5.6 version: 3.5.6 @@ -157,8 +157,8 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@antfu/eslint-config@2.24.0': - resolution: {integrity: sha512-F5wG5lP+f16aeQMVn1l5Wetd8973NsyaWirc9s3YCoe7LTBMpkxnduzTT/wP4L5OlLNLDTRQbH9GUMedTixcsA==} + '@antfu/eslint-config@2.25.1': + resolution: {integrity: sha512-aWnq8kNL4MM3RjXJtMvCGhzzXiukbNn4oXT3RFVgQ2KkBmryrlCos8HW7zfF27gggSqrMX8p75wHk8zM/Mo9+Q==} hasBin: true peerDependencies: '@eslint-react/eslint-plugin': ^1.5.8 @@ -203,8 +203,8 @@ packages: svelte-eslint-parser: optional: true - '@antfu/install-pkg@0.3.3': - resolution: {integrity: sha512-nHHsk3NXQ6xkCfiRRC8Nfrg8pU5kkr3P3Y9s9dKqiuRmBD0Yap7fymNDjGFKeWhZQHqqbCS5CfeMy9wtExM24w==} + '@antfu/install-pkg@0.3.5': + resolution: {integrity: sha512-HwIACY0IzrM7FGafMbWZOqEDBSfCwPcylu+GacaRcxJm4Yvvuh3Dy2vZwqdJAzXponc6aLO9FaH4l75pq8/ZSA==} '@antfu/utils@0.7.10': resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==} @@ -268,6 +268,11 @@ packages: engines: {node: '>=6.0.0'} hasBin: true + '@babel/parser@7.25.3': + resolution: {integrity: sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==} + engines: {node: '>=6.0.0'} + hasBin: true + '@babel/runtime@7.25.0': resolution: {integrity: sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==} engines: {node: '>=6.9.0'} @@ -296,8 +301,8 @@ packages: resolution: {integrity: sha512-I238eDtOolvCuvtxrnqtlBaw0BwdQuYqK7eA6XIonicMdOOOb75mqdIzkGDUbS04+1Di007rgm9snFRNeVrOog==} engines: {node: '>=16'} - '@es-joy/jsdoccomment@0.46.0': - resolution: {integrity: sha512-C3Axuq1xd/9VqFZpW4YAzOx5O9q/LP46uIQy/iNDpHG3fmPa6TBtvfglMCs3RBiBxAIi0Go97r8+jvTt55XMyQ==} + '@es-joy/jsdoccomment@0.48.0': + resolution: {integrity: sha512-G6QUWIcC+KvSwXNsJyDTHvqUdNoAVJPPgkc3+Uk4WBKqZvoXhlvazOgm9aL0HwihJLQf0l+tOE2UFzXBqCqgDw==} engines: {node: '>=16'} '@esbuild/aix-ppc64@0.21.5': @@ -456,8 +461,8 @@ packages: resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.8.0': - resolution: {integrity: sha512-MfluB7EUfxXtv3i/++oh89uzAr4PDI4nn201hsp+qaXqsjAWzinlZEHEfPgAX4doIlKvPG/i0A9dpKxOLII8yA==} + '@eslint/js@9.9.0': + resolution: {integrity: sha512-hhetes6ZHP3BlXLxmd8K2SNgkhNSi+UcecbnwWKwpP7kyi/uC75DJ1lOOBO3xrC4jyojtGE3YxKZPHfk4yrgug==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.4': @@ -592,83 +597,83 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.19.1': - resolution: {integrity: sha512-XzqSg714++M+FXhHfXpS1tDnNZNpgxxuGZWlRG/jSj+VEPmZ0yg6jV4E0AL3uyBKxO8mO3xtOsP5mQ+XLfrlww==} + '@rollup/rollup-android-arm-eabi@4.20.0': + resolution: {integrity: sha512-TSpWzflCc4VGAUJZlPpgAJE1+V60MePDQnBd7PPkpuEmOy8i87aL6tinFGKBFKuEDikYpig72QzdT3QPYIi+oA==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.19.1': - resolution: {integrity: sha512-thFUbkHteM20BGShD6P08aungq4irbIZKUNbG70LN8RkO7YztcGPiKTTGZS7Kw+x5h8hOXs0i4OaHwFxlpQN6A==} + '@rollup/rollup-android-arm64@4.20.0': + resolution: {integrity: sha512-u00Ro/nok7oGzVuh/FMYfNoGqxU5CPWz1mxV85S2w9LxHR8OoMQBuSk+3BKVIDYgkpeOET5yXkx90OYFc+ytpQ==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.19.1': - resolution: {integrity: sha512-8o6eqeFZzVLia2hKPUZk4jdE3zW7LCcZr+MD18tXkgBBid3lssGVAYuox8x6YHoEPDdDa9ixTaStcmx88lio5Q==} + '@rollup/rollup-darwin-arm64@4.20.0': + resolution: {integrity: sha512-uFVfvzvsdGtlSLuL0ZlvPJvl6ZmrH4CBwLGEFPe7hUmf7htGAN+aXo43R/V6LATyxlKVC/m6UsLb7jbG+LG39Q==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.19.1': - resolution: {integrity: sha512-4T42heKsnbjkn7ovYiAdDVRRWZLU9Kmhdt6HafZxFcUdpjlBlxj4wDrt1yFWLk7G4+E+8p2C9tcmSu0KA6auGA==} + '@rollup/rollup-darwin-x64@4.20.0': + resolution: {integrity: sha512-xbrMDdlev53vNXexEa6l0LffojxhqDTBeL+VUxuuIXys4x6xyvbKq5XqTXBCEUA8ty8iEJblHvFaWRJTk/icAQ==} cpu: [x64] os: [darwin] - '@rollup/rollup-linux-arm-gnueabihf@4.19.1': - resolution: {integrity: sha512-MXg1xp+e5GhZ3Vit1gGEyoC+dyQUBy2JgVQ+3hUrD9wZMkUw/ywgkpK7oZgnB6kPpGrxJ41clkPPnsknuD6M2Q==} + '@rollup/rollup-linux-arm-gnueabihf@4.20.0': + resolution: {integrity: sha512-jMYvxZwGmoHFBTbr12Xc6wOdc2xA5tF5F2q6t7Rcfab68TT0n+r7dgawD4qhPEvasDsVpQi+MgDzj2faOLsZjA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.19.1': - resolution: {integrity: sha512-DZNLwIY4ftPSRVkJEaxYkq7u2zel7aah57HESuNkUnz+3bZHxwkCUkrfS2IWC1sxK6F2QNIR0Qr/YXw7nkF3Pw==} + '@rollup/rollup-linux-arm-musleabihf@4.20.0': + resolution: {integrity: sha512-1asSTl4HKuIHIB1GcdFHNNZhxAYEdqML/MW4QmPS4G0ivbEcBr1JKlFLKsIRqjSwOBkdItn3/ZDlyvZ/N6KPlw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.19.1': - resolution: {integrity: sha512-C7evongnjyxdngSDRRSQv5GvyfISizgtk9RM+z2biV5kY6S/NF/wta7K+DanmktC5DkuaJQgoKGf7KUDmA7RUw==} + '@rollup/rollup-linux-arm64-gnu@4.20.0': + resolution: {integrity: sha512-COBb8Bkx56KldOYJfMf6wKeYJrtJ9vEgBRAOkfw6Ens0tnmzPqvlpjZiLgkhg6cA3DGzCmLmmd319pmHvKWWlQ==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.19.1': - resolution: {integrity: sha512-89tFWqxfxLLHkAthAcrTs9etAoBFRduNfWdl2xUs/yLV+7XDrJ5yuXMHptNqf1Zw0UCA3cAutkAiAokYCkaPtw==} + '@rollup/rollup-linux-arm64-musl@4.20.0': + resolution: {integrity: sha512-+it+mBSyMslVQa8wSPvBx53fYuZK/oLTu5RJoXogjk6x7Q7sz1GNRsXWjn6SwyJm8E/oMjNVwPhmNdIjwP135Q==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.19.1': - resolution: {integrity: sha512-PromGeV50sq+YfaisG8W3fd+Cl6mnOOiNv2qKKqKCpiiEke2KiKVyDqG/Mb9GWKbYMHj5a01fq/qlUR28PFhCQ==} + '@rollup/rollup-linux-powerpc64le-gnu@4.20.0': + resolution: {integrity: sha512-yAMvqhPfGKsAxHN8I4+jE0CpLWD8cv4z7CK7BMmhjDuz606Q2tFKkWRY8bHR9JQXYcoLfopo5TTqzxgPUjUMfw==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.19.1': - resolution: {integrity: sha512-/1BmHYh+iz0cNCP0oHCuF8CSiNj0JOGf0jRlSo3L/FAyZyG2rGBuKpkZVH9YF+x58r1jgWxvm1aRg3DHrLDt6A==} + '@rollup/rollup-linux-riscv64-gnu@4.20.0': + resolution: {integrity: sha512-qmuxFpfmi/2SUkAw95TtNq/w/I7Gpjurx609OOOV7U4vhvUhBcftcmXwl3rqAek+ADBwSjIC4IVNLiszoj3dPA==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.19.1': - resolution: {integrity: sha512-0cYP5rGkQWRZKy9/HtsWVStLXzCF3cCBTRI+qRL8Z+wkYlqN7zrSYm6FuY5Kd5ysS5aH0q5lVgb/WbG4jqXN1Q==} + '@rollup/rollup-linux-s390x-gnu@4.20.0': + resolution: {integrity: sha512-I0BtGXddHSHjV1mqTNkgUZLnS3WtsqebAXv11D5BZE/gfw5KoyXSAXVqyJximQXNvNzUo4GKlCK/dIwXlz+jlg==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.19.1': - resolution: {integrity: sha512-XUXeI9eM8rMP8aGvii/aOOiMvTs7xlCosq9xCjcqI9+5hBxtjDpD+7Abm1ZhVIFE1J2h2VIg0t2DX/gjespC2Q==} + '@rollup/rollup-linux-x64-gnu@4.20.0': + resolution: {integrity: sha512-y+eoL2I3iphUg9tN9GB6ku1FA8kOfmF4oUEWhztDJ4KXJy1agk/9+pejOuZkNFhRwHAOxMsBPLbXPd6mJiCwew==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.19.1': - resolution: {integrity: sha512-V7cBw/cKXMfEVhpSvVZhC+iGifD6U1zJ4tbibjjN+Xi3blSXaj/rJynAkCFFQfoG6VZrAiP7uGVzL440Q6Me2Q==} + '@rollup/rollup-linux-x64-musl@4.20.0': + resolution: {integrity: sha512-hM3nhW40kBNYUkZb/r9k2FKK+/MnKglX7UYd4ZUy5DJs8/sMsIbqWK2piZtVGE3kcXVNj3B2IrUYROJMMCikNg==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.19.1': - resolution: {integrity: sha512-88brja2vldW/76jWATlBqHEoGjJLRnP0WOEKAUbMcXaAZnemNhlAHSyj4jIwMoP2T750LE9lblvD4e2jXleZsA==} + '@rollup/rollup-win32-arm64-msvc@4.20.0': + resolution: {integrity: sha512-psegMvP+Ik/Bg7QRJbv8w8PAytPA7Uo8fpFjXyCRHWm6Nt42L+JtoqH8eDQ5hRP7/XW2UiIriy1Z46jf0Oa1kA==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.19.1': - resolution: {integrity: sha512-LdxxcqRVSXi6k6JUrTah1rHuaupoeuiv38du8Mt4r4IPer3kwlTo+RuvfE8KzZ/tL6BhaPlzJ3835i6CxrFIRQ==} + '@rollup/rollup-win32-ia32-msvc@4.20.0': + resolution: {integrity: sha512-GabekH3w4lgAJpVxkk7hUzUf2hICSQO0a/BLFA11/RMxQT92MabKAqyubzDZmMOC/hcJNlc+rrypzNzYl4Dx7A==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.19.1': - resolution: {integrity: sha512-2bIrL28PcK3YCqD9anGxDxamxdiJAxA+l7fWIwM5o8UqNy1t3d1NdAweO2XhA0KTDJ5aH1FsuiT5+7VhtHliXg==} + '@rollup/rollup-win32-x64-msvc@4.20.0': + resolution: {integrity: sha512-aJ1EJSuTdGnM6qbVC4B5DSmozPTqIag9fSzXRNNo+humQLG89XpPgdt16Ia56ORD7s+H8Pmyx44uczDQ0yDzpg==} cpu: [x64] os: [win32] @@ -676,31 +681,31 @@ packages: resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} engines: {node: '>=10'} - '@stylistic/eslint-plugin-js@2.6.0-beta.1': - resolution: {integrity: sha512-XfCUkArkh8nbMZRczJGwW92jvrvKcHsz7jjA166f+37SQJ0dcBBvoJFTS84GuvQlyE9ZUdoIPvG+9daRz25lBg==} + '@stylistic/eslint-plugin-js@2.6.2': + resolution: {integrity: sha512-wCr/kVctAPayMU3pcOI1MKR7MoKIh6VKZU89lPklAqtJoxT+Em6RueiiARbpznUYG5eg3LymiU+aMD+aIZXdqA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.40.0' - '@stylistic/eslint-plugin-jsx@2.6.0-beta.1': - resolution: {integrity: sha512-w13pjsE10gAjfSra00+xfgHbvx/fQQW7IjZAKmon246UYRw01+8KKYukRLSJ9wINe7fUKka//LAbqSbm8VKxmg==} + '@stylistic/eslint-plugin-jsx@2.6.2': + resolution: {integrity: sha512-dSXK/fSPA938J1fBi10QmhzLKtZ/2TuyVNHQMk8jUhWfKJDleAogaSqcWNAbN8fwcoe9UWmt/3StiIf2oYC1aQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.40.0' - '@stylistic/eslint-plugin-plus@2.6.0-beta.1': - resolution: {integrity: sha512-Hm7pq1KB8s5LeuatMvIVQvsHANnd9sNkkXY7naGcasz2W/f9at9IhozmN+/Oq5O2nRtrzb5rovQ/FclGiaO49w==} + '@stylistic/eslint-plugin-plus@2.6.2': + resolution: {integrity: sha512-cANcPASfRvq3VTbbQCrSIXq+2AI0IW68PNYaZoXXS0ENlp7HDB8dmrsJnOgWCcoEvdCB8z/eWcG/eq/v5Qcl+Q==} peerDependencies: eslint: '*' - '@stylistic/eslint-plugin-ts@2.6.0-beta.1': - resolution: {integrity: sha512-pgRqZiC9NpvO7zPbs713WW8dhns61i7syhDKxSpgMecbvcS7I/uTFFEihmIbzBgWbebhuFLEFS6FC9Lh/j5tlQ==} + '@stylistic/eslint-plugin-ts@2.6.2': + resolution: {integrity: sha512-6OEN3VtUNxjgOvWPavnC10MByr1H4zsgwNND3rQXr5lDFv93MLUnTsH+/SH15OkuqdyJgrQILI6b9lYecb1vIg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.40.0' - '@stylistic/eslint-plugin@2.6.0-beta.1': - resolution: {integrity: sha512-ff+7KkbtAzYzJvNH3MEtn+ImWMtoFkYowIakeFexMzDdurQHGu5wQ2D7YGc0jsM1/qnF2cxJ/ucVYQgeRZYH8g==} + '@stylistic/eslint-plugin@2.6.2': + resolution: {integrity: sha512-Ic5oFNM/25iuagob6LiIBkSI/A2y45TsyKtDtODXHRZDy52WfPfeexI6r+OH5+aWN9QGob2Bw+4JRM9/4areWw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.40.0' @@ -730,8 +735,8 @@ packages: '@types/mdast@3.0.15': resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} - '@types/node@20.14.13': - resolution: {integrity: sha512-+bHoGiZb8UiQ0+WEtmph2IWQCjIqg8MDZMAV+ppRRhUZnquF5mQkP/9vpSwJClEiSM/C7fZZExPzfU0vJTyp8w==} + '@types/node@20.14.15': + resolution: {integrity: sha512-Fz1xDMCF/B00/tYSVMlmK7hVeLh7jE5f3B7X1/hmV0MJBwE27KlS7EvD/Yp+z1lm8mVhwV5w+n8jOZG8AfTlKw==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -745,8 +750,8 @@ packages: '@types/tinycolor2@1.4.6': resolution: {integrity: sha512-iEN8J0BoMnsWBqjVbWH/c0G0Hh7O21lpR2/+PrvAVgWdzL7eexIFm4JN/Wn10PTcmNdtS6U67r499mlWMXOxNw==} - '@types/unist@2.0.10': - resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} + '@types/unist@2.0.11': + resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} '@types/web-bluetooth@0.0.20': resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} @@ -762,8 +767,8 @@ packages: typescript: optional: true - '@typescript-eslint/eslint-plugin@8.0.0-alpha.40': - resolution: {integrity: sha512-yku4NjpP0UujYq8d1GWXYELpKYwuoESSgvXPd9uAiO24OszGxQhPsGWTe4fmZV05J47qILfaGANO9SCa9fEU0w==} + '@typescript-eslint/eslint-plugin@8.1.0': + resolution: {integrity: sha512-LlNBaHFCEBPHyD4pZXb35mzjGkuGKXU5eeCA1SxvHfiRES0E82dOounfVpL4DCqYvJEKab0bZIA0gCRpdLKkCw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 @@ -783,8 +788,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@8.0.0-alpha.40': - resolution: {integrity: sha512-cjIgiaxmGtjlA6rRSs0Gsh0mWR08kPv1W+HsrZcuFwWxoGavBZPKtNctXND0NVf6MgSKyIcd4AHqBwE0htp5uw==} + '@typescript-eslint/parser@8.1.0': + resolution: {integrity: sha512-U7iTAtGgJk6DPX9wIWPPOlt1gO57097G06gIcl0N0EEnNw8RGD62c+2/DiP/zL7KrkqnnqF7gtFGR7YgzPllTA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -797,12 +802,8 @@ packages: resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/scope-manager@8.0.0-alpha.40': - resolution: {integrity: sha512-KQL502sCGZW+dYvxIzF6rEozbgppN0mBkYV6kT8ciY5OtFIRlLDTP7NdVAMMDk7q35T7Ad8negaQ9AGpZ8+Y5w==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/scope-manager@8.0.0-alpha.58': - resolution: {integrity: sha512-bGgJXn8B3Pf3mzEOUQTPxEqhux54MOJSqw4HcgBReuP7dudz/hsN4TH9GqHbMXkFv8N4Ed1iqVRfgGeC8b1mGw==} + '@typescript-eslint/scope-manager@8.1.0': + resolution: {integrity: sha512-DsuOZQji687sQUjm4N6c9xABJa7fjvfIdjqpSIIVOgaENf2jFXiM9hIBZOL3hb6DHK9Nvd2d7zZnoMLf9e0OtQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/type-utils@7.18.0': @@ -815,8 +816,8 @@ packages: typescript: optional: true - '@typescript-eslint/type-utils@8.0.0-alpha.40': - resolution: {integrity: sha512-/Aynkgxy3x22i6Zxy73MR/r0y1OELOMC9Atn7MO97NsjBOrQQYJHi/UEklZ423aB8SCkYH34lO6EAzXX/lIN3g==} + '@typescript-eslint/type-utils@8.1.0': + resolution: {integrity: sha512-oLYvTxljVvsMnldfl6jIKxTaU7ok7km0KDrwOt1RHYu6nxlhN3TIx8k5Q52L6wR33nOwDgM7VwW1fT1qMNfFIA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -828,12 +829,8 @@ packages: resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/types@8.0.0-alpha.40': - resolution: {integrity: sha512-44mUq4VZVydxNlOM8Xtp/BXDkyfuvvjgPIBf7vRQDutrLDeNS0pJ9pcSloSbop5MwKLfJjBU+PbwnJPQM+DWNg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/types@8.0.0-alpha.58': - resolution: {integrity: sha512-6+jM4y31a6pwKeV3MVQuVXPZl6d3I1ySMvP5WjZdZ+n57uovMvasZ3ZJstXngoRpa7JtkjVZ7NrMhQ1J8dxKCQ==} + '@typescript-eslint/types@8.1.0': + resolution: {integrity: sha512-q2/Bxa0gMOu/2/AKALI0tCKbG2zppccnRIRCW6BaaTlRVaPKft4oVYPp7WOPpcnsgbr0qROAVCVKCvIQ0tbWog==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/typescript-estree@7.18.0': @@ -845,17 +842,8 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@8.0.0-alpha.40': - resolution: {integrity: sha512-bz1rX5GXvGdx686FghDxPqGwgntlseZCQSRrVGDDOZlLSoWJnbfkzxXGOWch9c3ttcGkdFy/DiCyKKga3hrq0g==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/typescript-estree@8.0.0-alpha.58': - resolution: {integrity: sha512-hm4nsoJnQcA7axMopUJrH7CD0MJhAMtE2zQt65uMFCy+U2YDdKPwE0g6qEAUBoKn6UBLQJWthJgUmwDbWrnwZg==} + '@typescript-eslint/typescript-estree@8.1.0': + resolution: {integrity: sha512-NTHhmufocEkMiAord/g++gWKb0Fr34e9AExBRdqgWdVBaKoei2dIyYKD9Q0jBnvfbEA5zaf8plUFMUH6kQ0vGg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -869,14 +857,8 @@ packages: peerDependencies: eslint: ^8.56.0 - '@typescript-eslint/utils@8.0.0-alpha.40': - resolution: {integrity: sha512-ijxO1Hs3YWveuWK+Vbt25D05Q41UeK08JwEJbWTzV38LmkdCBktQd7X1sTw4W9Qku692HWuHgesZf6OhC8t3aA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - - '@typescript-eslint/utils@8.0.0-alpha.58': - resolution: {integrity: sha512-lZuGnpK23jr3huebgY4/qqrOKsWJ8dX0Q1Fo4oVYcyAy+sK6p+6nObK4VEPJG098gUmrriiavRiDKIhPDFm4Ig==} + '@typescript-eslint/utils@8.1.0': + resolution: {integrity: sha512-ypRueFNKTIFwqPeJBfeIpxZ895PQhNyH4YID6js0UoBImWYoSjBsahUn9KMiJXh94uOjVBgHD9AmkyPsPnFwJA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -885,38 +867,49 @@ packages: resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/visitor-keys@8.0.0-alpha.40': - resolution: {integrity: sha512-y1stojSPb5D3M8VlGGpaiBU5XxGLe+sPuW0YbLe09Lxvo4AwKGvhAr5lhqJZo4z6qHNz385+6+BS63+qIQdYLw==} + '@typescript-eslint/visitor-keys@8.1.0': + resolution: {integrity: sha512-ba0lNI19awqZ5ZNKh6wCModMwoZs457StTebQ0q1NP58zSi2F6MOZRXwfKZy+jB78JNJ/WH8GSh2IQNzXX8Nag==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/visitor-keys@8.0.0-alpha.58': - resolution: {integrity: sha512-V//E9PRY2216kh9fN/ihRvTtjpobAXEtmrsr3utlVUwHa2iklcofq1J12yl3KOjx9QBRfBrtfQnYaeruF7L0Fw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@vitejs/plugin-vue@5.1.1': - resolution: {integrity: sha512-sDckXxlHpMsjRQbAH9WanangrfrblsOd3pNifePs+FOHjJg1jfWq5L/P0PsBRndEt3nmdUnmvieP8ULDeX5AvA==} + '@vitejs/plugin-vue@5.1.2': + resolution: {integrity: sha512-nY9IwH12qeiJqumTCLJLE7IiNx7HZ39cbHaysEUd+Myvbz9KAqd2yq+U01Kab1R/H1BmiyM2ShTYlNH32Fzo3A==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^5.0.0 vue: ^3.2.25 - '@vitest/expect@2.0.4': - resolution: {integrity: sha512-39jr5EguIoanChvBqe34I8m1hJFI4+jxvdOpD7gslZrVQBKhh8H9eD7J/LJX4zakrw23W+dITQTDqdt43xVcJw==} + '@vitest/eslint-plugin@1.0.3': + resolution: {integrity: sha512-7hTONh+lqN+TEimHy2aWVdHVqYohcxLGD4yYBwSVvhyiti/j9CqBNMQvOa6xLoVcEtaWAoCCDbYgvxwNqA4lsA==} + peerDependencies: + '@typescript-eslint/utils': '>= 8.0' + eslint: '>= 8.57.0' + typescript: '>= 5.0.0' + vitest: '*' + peerDependenciesMeta: + '@typescript-eslint/utils': + optional: true + typescript: + optional: true + vitest: + optional: true - '@vitest/pretty-format@2.0.4': - resolution: {integrity: sha512-RYZl31STbNGqf4l2eQM1nvKPXE0NhC6Eq0suTTePc4mtMQ1Fn8qZmjV4emZdEdG2NOWGKSCrHZjmTqDCDoeFBw==} + '@vitest/expect@2.0.5': + resolution: {integrity: sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==} - '@vitest/runner@2.0.4': - resolution: {integrity: sha512-Gk+9Su/2H2zNfNdeJR124gZckd5st4YoSuhF1Rebi37qTXKnqYyFCd9KP4vl2cQHbtuVKjfEKrNJxHHCW8thbQ==} + '@vitest/pretty-format@2.0.5': + resolution: {integrity: sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==} - '@vitest/snapshot@2.0.4': - resolution: {integrity: sha512-or6Mzoz/pD7xTvuJMFYEtso1vJo1S5u6zBTinfl+7smGUhqybn6VjzCDMhmTyVOFWwkCMuNjmNNxnyXPgKDoPw==} + '@vitest/runner@2.0.5': + resolution: {integrity: sha512-TfRfZa6Bkk9ky4tW0z20WKXFEwwvWhRY+84CnSEtq4+3ZvDlJyY32oNTJtM7AW9ihW90tX/1Q78cb6FjoAs+ig==} - '@vitest/spy@2.0.4': - resolution: {integrity: sha512-uTXU56TNoYrTohb+6CseP8IqNwlNdtPwEO0AWl+5j7NelS6x0xZZtP0bDWaLvOfUbaYwhhWp1guzXUxkC7mW7Q==} + '@vitest/snapshot@2.0.5': + resolution: {integrity: sha512-SgCPUeDFLaM0mIUHfaArq8fD2WbaXG/zVXjRupthYfYGzc8ztbFbu6dUNOblBG7XLMR1kEhS/DNnfCZ2IhdDew==} - '@vitest/utils@2.0.4': - resolution: {integrity: sha512-Zc75QuuoJhOBnlo99ZVUkJIuq4Oj0zAkrQ2VzCqNCx6wAwViHEh5Fnp4fiJTE9rA+sAoXRf00Z9xGgfEzV6fzQ==} + '@vitest/spy@2.0.5': + resolution: {integrity: sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==} + + '@vitest/utils@2.0.5': + resolution: {integrity: sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==} '@volar/language-core@2.4.0-alpha.18': resolution: {integrity: sha512-JAYeJvYQQROmVRtSBIczaPjP3DX4QW1fOqW1Ebs0d3Y3EwSNRglz03dSv0Dm61dzd0Yx3WgTW3hndDnTQqgmyg==} @@ -927,17 +920,17 @@ packages: '@volar/typescript@2.4.0-alpha.18': resolution: {integrity: sha512-sXh5Y8sqGUkgxpMWUGvRXggxYHAVxg0Pa1C42lQZuPDrW6vHJPR0VCK8Sr7WJsAW530HuNQT/ZIskmXtxjybMQ==} - '@vue/compiler-core@3.4.34': - resolution: {integrity: sha512-Z0izUf32+wAnQewjHu+pQf1yw00EGOmevl1kE+ljjjMe7oEfpQ+BI3/JNK7yMB4IrUsqLDmPecUrpj3mCP+yJQ==} + '@vue/compiler-core@3.4.38': + resolution: {integrity: sha512-8IQOTCWnLFqfHzOGm9+P8OPSEDukgg3Huc92qSG49if/xI2SAwLHQO2qaPQbjCWPBcQoO1WYfXfTACUrWV3c5A==} - '@vue/compiler-dom@3.4.34': - resolution: {integrity: sha512-3PUOTS1h5cskdOJMExCu2TInXuM0j60DRPpSCJDqOCupCfUZCJoyQmKtRmA8EgDNZ5kcEE7vketamRZfrEuVDw==} + '@vue/compiler-dom@3.4.38': + resolution: {integrity: sha512-Osc/c7ABsHXTsETLgykcOwIxFktHfGSUDkb05V61rocEfsFDcjDLH/IHJSNJP+/Sv9KeN2Lx1V6McZzlSb9EhQ==} - '@vue/compiler-sfc@3.4.34': - resolution: {integrity: sha512-x6lm0UrM03jjDXTPZgD9Ad8bIVD1ifWNit2EaWQIZB5CULr46+FbLQ5RpK7AXtDHGjx9rmvC7QRCTjsiGkAwRw==} + '@vue/compiler-sfc@3.4.38': + resolution: {integrity: sha512-s5QfZ+9PzPh3T5H4hsQDJtI8x7zdJaew/dCGgqZ2630XdzaZ3AD8xGZfBqpT8oaD/p2eedd+pL8tD5vvt5ZYJQ==} - '@vue/compiler-ssr@3.4.34': - resolution: {integrity: sha512-8TDBcLaTrFm5rnF+Qm4BlliaopJgqJ28Nsrc80qazynm5aJO+Emu7y0RWw34L8dNnTRdcVBpWzJxhGYzsoVu4g==} + '@vue/compiler-ssr@3.4.38': + resolution: {integrity: sha512-YXznKFQ8dxYpAz9zLuVvfcXhc31FSPFDcqr0kyujbOwNhlmaNvL2QfIy+RZeJgSn5Fk54CWoEUeW+NVBAogGaw==} '@vue/compiler-vue2@2.7.16': resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} @@ -953,34 +946,34 @@ packages: typescript: optional: true - '@vue/reactivity@3.4.34': - resolution: {integrity: sha512-ua+Lo+wBRlBEX9TtgPOShE2JwIO7p6BTZ7t1KZVPoaBRfqbC7N3c8Mpzicx173fXxx5VXeU6ykiHo7WgLzJQDA==} + '@vue/reactivity@3.4.38': + resolution: {integrity: sha512-4vl4wMMVniLsSYYeldAKzbk72+D3hUnkw9z8lDeJacTxAkXeDAP1uE9xr2+aKIN0ipOL8EG2GPouVTH6yF7Gnw==} - '@vue/runtime-core@3.4.34': - resolution: {integrity: sha512-PXhkiRPwcPGJ1BnyBZFI96GfInCVskd0HPNIAZn7i3YOmLbtbTZpB7/kDTwC1W7IqdGPkTVC63IS7J2nZs4Ebg==} + '@vue/runtime-core@3.4.38': + resolution: {integrity: sha512-21z3wA99EABtuf+O3IhdxP0iHgkBs1vuoCAsCKLVJPEjpVqvblwBnTj42vzHRlWDCyxu9ptDm7sI2ZMcWrQqlA==} - '@vue/runtime-dom@3.4.34': - resolution: {integrity: sha512-dXqIe+RqFAK2Euak4UsvbIupalrhc67OuQKpD7HJ3W2fv8jlqvI7szfBCsAEcE8o/wyNpkloxB6J8viuF/E3gw==} + '@vue/runtime-dom@3.4.38': + resolution: {integrity: sha512-afZzmUreU7vKwKsV17H1NDThEEmdYI+GCAK/KY1U957Ig2NATPVjCROv61R19fjZNzMmiU03n79OMnXyJVN0UA==} - '@vue/server-renderer@3.4.34': - resolution: {integrity: sha512-GeyEUfMVRZMD/mZcNONEqg7MiU10QQ1DB3O/Qr6+8uXpbwdlmVgQ5Qs1/ZUAFX1X2UUtqMoGrDRbxdWfOJFT7Q==} + '@vue/server-renderer@3.4.38': + resolution: {integrity: sha512-NggOTr82FbPEkkUvBm4fTGcwUY8UuTsnWC/L2YZBmvaQ4C4Jl/Ao4HHTB+l7WnFCt5M/dN3l0XLuyjzswGYVCA==} peerDependencies: - vue: 3.4.34 + vue: 3.4.38 - '@vue/shared@3.4.34': - resolution: {integrity: sha512-x5LmiRLpRsd9KTjAB8MPKf0CDPMcuItjP0gbNqFCIgL1I8iYp4zglhj9w9FPCdIbHG2M91RVeIbArFfFTz9I3A==} + '@vue/shared@3.4.38': + resolution: {integrity: sha512-q0xCiLkuWWQLzVrecPb0RMsNWyxICOjPrcrwxTUEHb1fsnvni4dcuyG7RT/Ie7VPTvnjzIaWzRMUBsrqNj/hhw==} '@vue/test-utils@2.4.6': resolution: {integrity: sha512-FMxEjOpYNYiFe0GkaHsnJPXFHxQ6m4t8vI/ElPGpMWxZKpmRvQ33OIrvRXemy6yha03RxhOlQuy+gZMC3CQSow==} - '@vueuse/core@10.11.0': - resolution: {integrity: sha512-x3sD4Mkm7PJ+pcq3HX8PLPBadXCAlSDR/waK87dz0gQE+qJnaaFhc/dZVfJz+IUYzTMVGum2QlR7ImiJQN4s6g==} + '@vueuse/core@10.11.1': + resolution: {integrity: sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==} - '@vueuse/metadata@10.11.0': - resolution: {integrity: sha512-kQX7l6l8dVWNqlqyN3ePW3KmjCQO3ZMgXuBMddIu83CmucrsBfXlH+JoviYyRBws/yLTQO8g3Pbw+bdIoVm4oQ==} + '@vueuse/metadata@10.11.1': + resolution: {integrity: sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==} - '@vueuse/shared@10.11.0': - resolution: {integrity: sha512-fyNoIXEq3PfX1L3NkNhtVQUSRtqYwJtJg+Bp9rIzculIZWHTkKSysujrOk2J+NrRulLTQH9+3gGSfYLWSEWU1A==} + '@vueuse/shared@10.11.1': + resolution: {integrity: sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==} '@windicss/config@1.9.3': resolution: {integrity: sha512-u8GUjsfC9r5X1AGYhzb1lX3zZj8wqk6SH1DYex8XUGmZ1M2UpvnUPOFi63XFViduspQ6l2xTX84QtG+lUzhEoQ==} @@ -1089,6 +1082,11 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + browserslist@4.23.3: + resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + builtin-modules@3.3.0: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} @@ -1107,6 +1105,9 @@ packages: caniuse-lite@1.0.30001644: resolution: {integrity: sha512-YGvlOZB4QhZuiis+ETS0VXR+MExbFf4fZYYeMTEE0aTQd/RdIjkTyZjLrbYVKnHzppDvnOhritRVv+i7Go6mHw==} + caniuse-lite@1.0.30001651: + resolution: {integrity: sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==} + chai@5.1.1: resolution: {integrity: sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==} engines: {node: '>=12'} @@ -1200,8 +1201,8 @@ packages: convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - core-js-compat@3.37.1: - resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==} + core-js-compat@3.38.0: + resolution: {integrity: sha512-75LAicdLa4OJVwFxFbQR3NdnZjNgX6ILpVcVzcC4T2smerB5lELMrJQQQoWV6TiuC/vlaFqgU2tKQx9w5s0e0A==} cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} @@ -1318,6 +1319,9 @@ packages: electron-to-chromium@1.5.3: resolution: {integrity: sha512-QNdYSS5i8D9axWp/6XIezRObRHqaav/ur9z1VzCDUCH1XIFOr9WQk5xmgunhsTpjjgDy3oLxO/WMOVZlpUQrlA==} + electron-to-chromium@1.5.8: + resolution: {integrity: sha512-4Nx0gP2tPNBLTrFxBMHpkQbtn2hidPVr/+/FTtcCiBYTucqc70zRyVZiOLj17Ui3wTO7SQ1/N+hkHYzJjBzt6A==} + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -1383,8 +1387,8 @@ packages: peerDependencies: eslint: '*' - eslint-plugin-antfu@2.3.4: - resolution: {integrity: sha512-5RIjJpBK1tuNHuLyFyZ90/iW9s439dP1u2cxA4dH70djx9sKq1CqI+O6Q95aVjgFNTDtQzSC9uYdAD5uEEKciQ==} + eslint-plugin-antfu@2.3.5: + resolution: {integrity: sha512-q3S9q7O176sd5VyPKksN1WGtB0l8W1jeWs61xWAmbM5JdZN8q9e0Vmm+tY/YOygHfn1eK9uE4/MGyZBebdtgLA==} peerDependencies: eslint: '*' @@ -1411,8 +1415,8 @@ packages: peerDependencies: eslint: ^8.56.0 || ^9.0.0-0 - eslint-plugin-jsdoc@48.9.3: - resolution: {integrity: sha512-9RUsTlW6ZlMgy+dd9uDreU9lZAh4Hxw2ZAV5T0hPtrWgbw0OnvuT3elF6ihnpAY+NCrJx8BUUmcBnKftc/F0qw==} + eslint-plugin-jsdoc@50.2.2: + resolution: {integrity: sha512-i0ZMWA199DG7sjxlzXn5AeYZxpRfMJjDPUl7lL9eJJX8TPRoIaxJU4ys/joP5faM5AXE1eqW/dslCj3uj4Nqpg==} engines: {node: '>=18'} peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 @@ -1429,24 +1433,24 @@ packages: peerDependencies: eslint: '>=8' - eslint-plugin-n@17.10.1: - resolution: {integrity: sha512-hm/q37W6efDptJXdwirsm6A257iY6ZNtpoSG0wEzFzjJ3AhL7OhEIhdSR2e4OdYfHO5EDeqlCfFrjf9q208IPw==} + eslint-plugin-n@17.10.2: + resolution: {integrity: sha512-e+s4eAf5NtJaxPhTNu3qMO0Iz40WANS93w9LQgYcvuljgvDmWi/a3rh+OrNyMHeng6aOWGJO0rCg5lH4zi8yTw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.23.0' - eslint-plugin-no-only-tests@3.1.0: - resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==} + eslint-plugin-no-only-tests@3.3.0: + resolution: {integrity: sha512-brcKcxGnISN2CcVhXJ/kEQlNa0MEfGRtwKtWA16SkqXHKitaKIMrfemJKLKX1YqDU5C/5JY3PvZXd5jEW04e0Q==} engines: {node: '>=5.0.0'} - eslint-plugin-perfectionist@3.0.0: - resolution: {integrity: sha512-B+leJTo1YjxiNIm8Yv0rCHp4eWh9RaJHO6T1ifxd26wg8NCbEiWSdqZVeYLWPCI+zS1dlf89WpOkUzG7cE4vtQ==} + eslint-plugin-perfectionist@3.2.0: + resolution: {integrity: sha512-cX1aztMbSfRWPKJH8CD+gadrbkS+RNH1OGWuNGws8J6rHzYYhawxWTU/yzMYjq2IRJCpBCfhgfa7BHRXQYxLHA==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: astro-eslint-parser: ^1.0.2 eslint: '>=8.0.0' svelte: '>=3.0.0' - svelte-eslint-parser: ^0.40.0 + svelte-eslint-parser: ^0.41.0 vue-eslint-parser: '>=9.0.0' peerDependenciesMeta: astro-eslint-parser: @@ -1482,29 +1486,15 @@ packages: peerDependencies: eslint: '>=8.56.0' - eslint-plugin-unused-imports@4.0.1: - resolution: {integrity: sha512-rax76s05z64uQgG9YXsWFmXrgjkaK79AvfeAWiSxhPP6RVGxeRaj4+2u+wxxu/mDy2pmJoOy1QTOEALMia2xGQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint-plugin-unused-imports@4.1.3: + resolution: {integrity: sha512-lqrNZIZjFMUr7P06eoKtQLwyVRibvG7N+LtfKtObYGizAAGrcqLkc3tDx+iAik2z7q0j/XI3ihjupIqxhFabFA==} peerDependencies: - '@typescript-eslint/eslint-plugin': ^8.0.0-0 - eslint: ^9.0.0 + '@typescript-eslint/eslint-plugin': ^8.0.0-0 || ^7.0.0 || ^6.0.0 || ^5.0.0 + eslint: ^9.0.0 || ^8.0.0 peerDependenciesMeta: '@typescript-eslint/eslint-plugin': optional: true - eslint-plugin-vitest@0.5.4: - resolution: {integrity: sha512-um+odCkccAHU53WdKAw39MY61+1x990uXjSPguUCq3VcEHdqJrOb8OTMrbYlY6f9jAKx7x98kLVlIe3RJeJqoQ==} - engines: {node: ^18.0.0 || >= 20.0.0} - peerDependencies: - '@typescript-eslint/eslint-plugin': '*' - eslint: ^8.57.0 || ^9.0.0 - vitest: '*' - peerDependenciesMeta: - '@typescript-eslint/eslint-plugin': - optional: true - vitest: - optional: true - eslint-plugin-vue-scoped-css@2.8.1: resolution: {integrity: sha512-V6B+zZE60ykYvHTDzdhJ3xa4C83ntmGXqFsylc8l1jdVR9PSgod2+bGFNL7OwRKgZj82ij/o904xa04z1bfCRA==} engines: {node: ^12.22 || ^14.17 || >=16} @@ -1530,10 +1520,6 @@ packages: '@vue/compiler-sfc': ^3.3.0 eslint: ^8.50.0 || ^9.0.0 - eslint-rule-composer@0.3.0: - resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==} - engines: {node: '>=4.0.0'} - eslint-scope@7.2.2: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1550,10 +1536,15 @@ packages: resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.8.0: - resolution: {integrity: sha512-K8qnZ/QJzT2dLKdZJVX6W4XOwBzutMYmt0lqUS+JdXgd+HTYFlonFgkJ8s44d/zMPPCnOOk0kMWCApCPhiOy9A==} + eslint@9.9.0: + resolution: {integrity: sha512-JfiKJrbx0506OEerjK2Y1QlldtBxkAlLxT5OEcRF8uaQ86noDe2k31Vw9rnSWv+MXZHj7OOUV/dA0AhdLFcyvA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true espree@10.1.0: resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==} @@ -1713,6 +1704,10 @@ packages: resolution: {integrity: sha512-VZAJ4cewHTExBWDHR6yptdIBlx9YSSZuwojj9Nt5mBRXQzrKakDsVKQ1J63sklLvzAJm0X5+RpO4i3Y2hcOnFw==} engines: {node: '>=18'} + globals@15.9.0: + resolution: {integrity: sha512-SmSKyLLKFbSr6rptvP8izbyxJL4ILwqO9Jg23UA0sDlGlu58V59D1//I3vlc0KJphVdUR7vMjHIplYnzBxorQA==} + engines: {node: '>=18'} + globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} @@ -1766,6 +1761,10 @@ packages: resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} @@ -1878,6 +1877,10 @@ packages: resolution: {integrity: sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==} engines: {node: '>=12.0.0'} + jsdoc-type-pratt-parser@4.1.0: + resolution: {integrity: sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==} + engines: {node: '>=12.0.0'} + jsdom@24.1.1: resolution: {integrity: sha512-5O1wWV99Jhq4DV7rCLIoZ/UIhyQeDR7wHVyZAHAshbrvZsLs+Xzz7gtwnlJTJDjleiTKh54F4dXrX70vJQTyJQ==} engines: {node: '>=18'} @@ -2185,8 +2188,8 @@ packages: resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} engines: {node: '>=12'} - pinia@2.2.0: - resolution: {integrity: sha512-iPrIh26GMqfpUlMOGyxuDowGmYousTecbTHFwT0xZ1zJvh23oQ+Cj99ZoPQA1TnUPhU6AuRPv6/drkTCJ0VHQA==} + pinia@2.2.1: + resolution: {integrity: sha512-ltEU3xwiz5ojVMizdP93AHi84Rtfz0+yKd8ud75hr9LVyWX2alxp7vLbY1kFm7MXFmHHr/9B08Xf8Jj6IHTEiQ==} peerDependencies: '@vue/composition-api': ^1.4.0 typescript: '>=4.4.4' @@ -2220,6 +2223,10 @@ packages: resolution: {integrity: sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==} engines: {node: '>=4'} + postcss-selector-parser@6.1.2: + resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} + engines: {node: '>=4'} + postcss-styl@0.12.3: resolution: {integrity: sha512-8I7Cd8sxiEITIp32xBK4K/Aj1ukX6vuWnx8oY/oAH35NfQI4OZaY5nd68Yx8HeN5S49uhQ6DL0rNk0ZBu/TaLg==} engines: {node: ^8.10.0 || ^10.13.0 || ^11.10.1 || >=12.13.0} @@ -2228,6 +2235,10 @@ packages: resolution: {integrity: sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==} engines: {node: ^10 || ^12 || >=14} + postcss@8.4.41: + resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==} + engines: {node: ^10 || ^12 || >=14} + prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -2315,8 +2326,8 @@ packages: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rollup@4.19.1: - resolution: {integrity: sha512-K5vziVlg7hTpYfFBI+91zHBEMo6jafYXpkMlqZjg7/zhIG9iHqazBf4xz9AVdjS9BruRn280ROqLI7G3OFRIlw==} + rollup@4.20.0: + resolution: {integrity: sha512-6rbWBChcnSGzIlXeIdNIZTopKYad8ZG8ajhl78lGRLsI2rX8IkaotQhVas2Ma+GPxJav19wrSzvRvuiv0YKzWw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -2492,8 +2503,8 @@ packages: text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - tinybench@2.8.0: - resolution: {integrity: sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==} + tinybench@2.9.0: + resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} tinycolor2@1.6.0: resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==} @@ -2569,8 +2580,8 @@ packages: typescript: optional: true - typescript@5.5.3: - resolution: {integrity: sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==} + typescript@5.5.4: + resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} engines: {node: '>=14.17'} hasBin: true @@ -2613,8 +2624,8 @@ packages: validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - vite-node@2.0.4: - resolution: {integrity: sha512-ZpJVkxcakYtig5iakNeL7N3trufe3M6vGuzYAr4GsbCTwobDeyPJpE4cjDhhPluv8OvQCFzu2LWp6GkoKRITXA==} + vite-node@2.0.5: + resolution: {integrity: sha512-LdsW4pxj0Ot69FAoXZ1yTnA9bjGohr2yNBU7QKRxpz8ITSkhuDl6h3zS/tvgz4qrNjeRnvrWeXQ8ZF7Um4W00Q==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -2632,8 +2643,8 @@ packages: peerDependencies: vue: '>=3.2.13' - vite@5.3.5: - resolution: {integrity: sha512-MdjglKR6AQXQb9JGiS7Rc2wC6uMjcm7Go/NHNO63EwiJXfuk9PgqiP/n5IDJCziMkfw9n4Ubp7lttNwz+8ZVKA==} + vite@5.4.1: + resolution: {integrity: sha512-1oE6yuNXssjrZdblI9AfBbHCC41nnyoVoEZxQnID6yvQZAFBzxxkqoFLtHUMkYunL8hwOLEjgTuxpkRxvba3kA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -2641,6 +2652,7 @@ packages: less: '*' lightningcss: ^1.21.0 sass: '*' + sass-embedded: '*' stylus: '*' sugarss: '*' terser: ^5.4.0 @@ -2653,6 +2665,8 @@ packages: optional: true sass: optional: true + sass-embedded: + optional: true stylus: optional: true sugarss: @@ -2660,15 +2674,15 @@ packages: terser: optional: true - vitest@2.0.4: - resolution: {integrity: sha512-luNLDpfsnxw5QSW4bISPe6tkxVvv5wn2BBs/PuDRkhXZ319doZyLOBr1sjfB5yCEpTiU7xCAdViM8TNVGPwoog==} + vitest@2.0.5: + resolution: {integrity: sha512-8GUxONfauuIdeSl5f9GTgVEpg5BTOlplET4WEDaeY2QBiN8wSm68vxN/tb5z405OwppfoCavnwXafiaYBC/xOA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 2.0.4 - '@vitest/ui': 2.0.4 + '@vitest/browser': 2.0.5 + '@vitest/ui': 2.0.5 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -2714,8 +2728,8 @@ packages: peerDependencies: vue: ^3.0.0 - vue-router@4.4.0: - resolution: {integrity: sha512-HB+t2p611aIZraV2aPSRNXf0Z/oLZFrlygJm+sZbdJaW6lcFqEDQwnzUBXn+DApw+/QzDU/I9TeWx9izEjTmsA==} + vue-router@4.4.3: + resolution: {integrity: sha512-sv6wmNKx2j3aqJQDMxLFzs/u/mjA9Z5LCgy6BE0f7yFWMjrPLnS/sPNn8ARY/FXw6byV18EFutn5lTO6+UsV5A==} peerDependencies: vue: ^3.2.0 @@ -2725,8 +2739,8 @@ packages: peerDependencies: typescript: '>=5.0.0' - vue@3.4.34: - resolution: {integrity: sha512-VZze05HWlA3ItreQ/ka7Sx7PoD0/3St8FEiSlSTVgb6l4hL+RjtP2/8g5WQBzZgyf8WG2f+g1bXzC7zggLhAJA==} + vue@3.4.38: + resolution: {integrity: sha512-f0ZgN+mZ5KFgVv9wz0f4OgVKukoXtS3nwET4c2vLBGQR50aI8G0cqbFtLlX9Yiyg3LFGBitruPHt2PxwTduJEw==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -2848,52 +2862,53 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - '@antfu/eslint-config@2.24.0(@vue/compiler-sfc@3.4.34)(eslint@9.8.0)(typescript@5.5.3)(vitest@2.0.4(@types/node@20.14.13)(jsdom@24.1.1)(stylus@0.57.0))': + '@antfu/eslint-config@2.25.1(@typescript-eslint/utils@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(@vue/compiler-sfc@3.4.38)(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)(vitest@2.0.5(@types/node@20.14.15)(jsdom@24.1.1)(stylus@0.57.0))': dependencies: - '@antfu/install-pkg': 0.3.3 + '@antfu/install-pkg': 0.3.5 '@clack/prompts': 0.7.0 - '@stylistic/eslint-plugin': 2.6.0-beta.1(eslint@9.8.0)(typescript@5.5.3) - '@typescript-eslint/eslint-plugin': 8.0.0-alpha.40(@typescript-eslint/parser@7.18.0(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3) - '@typescript-eslint/parser': 8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3) - eslint: 9.8.0 + '@stylistic/eslint-plugin': 2.6.2(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + '@typescript-eslint/eslint-plugin': 8.1.0(@typescript-eslint/parser@7.18.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + '@typescript-eslint/parser': 8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + '@vitest/eslint-plugin': 1.0.3(@typescript-eslint/utils@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)(vitest@2.0.5(@types/node@20.14.15)(jsdom@24.1.1)(stylus@0.57.0)) + eslint: 9.9.0(jiti@1.21.6) eslint-config-flat-gitignore: 0.1.8 eslint-flat-config-utils: 0.3.0 - eslint-merge-processors: 0.1.0(eslint@9.8.0) - eslint-plugin-antfu: 2.3.4(eslint@9.8.0) - eslint-plugin-command: 0.2.3(eslint@9.8.0) - eslint-plugin-eslint-comments: 3.2.0(eslint@9.8.0) - eslint-plugin-import-x: 3.1.0(eslint@9.8.0)(typescript@5.5.3) - eslint-plugin-jsdoc: 48.9.3(eslint@9.8.0) - eslint-plugin-jsonc: 2.16.0(eslint@9.8.0) - eslint-plugin-markdown: 5.1.0(eslint@9.8.0) - eslint-plugin-n: 17.10.1(eslint@9.8.0) - eslint-plugin-no-only-tests: 3.1.0 - eslint-plugin-perfectionist: 3.0.0(eslint@9.8.0)(typescript@5.5.3)(vue-eslint-parser@9.4.3(eslint@9.8.0)) - eslint-plugin-regexp: 2.6.0(eslint@9.8.0) - eslint-plugin-toml: 0.11.1(eslint@9.8.0) - eslint-plugin-unicorn: 55.0.0(eslint@9.8.0) - eslint-plugin-unused-imports: 4.0.1(@typescript-eslint/eslint-plugin@8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0) - eslint-plugin-vitest: 0.5.4(@typescript-eslint/eslint-plugin@8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3)(vitest@2.0.4(@types/node@20.14.13)(jsdom@24.1.1)(stylus@0.57.0)) - eslint-plugin-vue: 9.27.0(eslint@9.8.0) - eslint-plugin-yml: 1.14.0(eslint@9.8.0) - eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.4.34)(eslint@9.8.0) - globals: 15.8.0 + eslint-merge-processors: 0.1.0(eslint@9.9.0(jiti@1.21.6)) + eslint-plugin-antfu: 2.3.5(eslint@9.9.0(jiti@1.21.6)) + eslint-plugin-command: 0.2.3(eslint@9.9.0(jiti@1.21.6)) + eslint-plugin-eslint-comments: 3.2.0(eslint@9.9.0(jiti@1.21.6)) + eslint-plugin-import-x: 3.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + eslint-plugin-jsdoc: 50.2.2(eslint@9.9.0(jiti@1.21.6)) + eslint-plugin-jsonc: 2.16.0(eslint@9.9.0(jiti@1.21.6)) + eslint-plugin-markdown: 5.1.0(eslint@9.9.0(jiti@1.21.6)) + eslint-plugin-n: 17.10.2(eslint@9.9.0(jiti@1.21.6)) + eslint-plugin-no-only-tests: 3.3.0 + eslint-plugin-perfectionist: 3.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)(vue-eslint-parser@9.4.3(eslint@9.9.0(jiti@1.21.6))) + eslint-plugin-regexp: 2.6.0(eslint@9.9.0(jiti@1.21.6)) + eslint-plugin-toml: 0.11.1(eslint@9.9.0(jiti@1.21.6)) + eslint-plugin-unicorn: 55.0.0(eslint@9.9.0(jiti@1.21.6)) + eslint-plugin-unused-imports: 4.1.3(@typescript-eslint/eslint-plugin@8.1.0(@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6)) + eslint-plugin-vue: 9.27.0(eslint@9.9.0(jiti@1.21.6)) + eslint-plugin-yml: 1.14.0(eslint@9.9.0(jiti@1.21.6)) + eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.4.38)(eslint@9.9.0(jiti@1.21.6)) + globals: 15.9.0 jsonc-eslint-parser: 2.4.0 local-pkg: 0.5.0 parse-gitignore: 2.0.0 picocolors: 1.0.1 toml-eslint-parser: 0.10.0 - vue-eslint-parser: 9.4.3(eslint@9.8.0) + vue-eslint-parser: 9.4.3(eslint@9.9.0(jiti@1.21.6)) yaml-eslint-parser: 1.2.3 yargs: 17.7.2 transitivePeerDependencies: + - '@typescript-eslint/utils' - '@vue/compiler-sfc' - supports-color - svelte - typescript - vitest - '@antfu/install-pkg@0.3.3': + '@antfu/install-pkg@0.3.5': dependencies: '@jsdevtools/ez-spawn': 3.0.4 @@ -2987,6 +3002,10 @@ snapshots: dependencies: '@babel/types': 7.25.2 + '@babel/parser@7.25.3': + dependencies: + '@babel/types': 7.25.2 + '@babel/runtime@7.25.0': dependencies: regenerator-runtime: 0.14.1 @@ -3035,11 +3054,11 @@ snapshots: esquery: 1.6.0 jsdoc-type-pratt-parser: 4.0.0 - '@es-joy/jsdoccomment@0.46.0': + '@es-joy/jsdoccomment@0.48.0': dependencies: comment-parser: 1.4.1 esquery: 1.6.0 - jsdoc-type-pratt-parser: 4.0.0 + jsdoc-type-pratt-parser: 4.1.0 '@esbuild/aix-ppc64@0.21.5': optional: true @@ -3110,9 +3129,9 @@ snapshots: '@esbuild/win32-x64@0.21.5': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@9.8.0)': + '@eslint-community/eslint-utils@4.4.0(eslint@9.9.0(jiti@1.21.6))': dependencies: - eslint: 9.8.0 + eslint: 9.9.0(jiti@1.21.6) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.11.0': {} @@ -3131,7 +3150,7 @@ snapshots: debug: 4.3.6 espree: 10.1.0 globals: 14.0.0 - ignore: 5.3.1 + ignore: 5.3.2 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -3139,7 +3158,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.8.0': {} + '@eslint/js@9.9.0': {} '@eslint/object-schema@2.1.4': {} @@ -3147,7 +3166,7 @@ snapshots: '@humanwhocodes/retry@0.3.0': {} - '@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.4.34)(prettier@3.3.3)': + '@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.4.38)(prettier@3.3.3)': dependencies: '@babel/core': 7.25.2 '@babel/generator': 7.25.0 @@ -3157,11 +3176,11 @@ snapshots: prettier: 3.3.3 semver: 7.6.3 optionalDependencies: - '@vue/compiler-sfc': 3.4.34 + '@vue/compiler-sfc': 3.4.38 transitivePeerDependencies: - supports-color - '@intlify/bundle-utils@8.0.0(vue-i18n@9.13.1(vue@3.4.34(typescript@5.5.3)))': + '@intlify/bundle-utils@8.0.0(vue-i18n@9.13.1(vue@3.4.38(typescript@5.5.4)))': dependencies: '@intlify/message-compiler': 9.13.1 '@intlify/shared': 9.13.1 @@ -3173,21 +3192,21 @@ snapshots: source-map-js: 1.2.0 yaml-eslint-parser: 1.2.3 optionalDependencies: - vue-i18n: 9.13.1(vue@3.4.34(typescript@5.5.3)) + vue-i18n: 9.13.1(vue@3.4.38(typescript@5.5.4)) '@intlify/core-base@9.13.1': dependencies: '@intlify/message-compiler': 9.13.1 '@intlify/shared': 9.13.1 - '@intlify/eslint-plugin-vue-i18n@3.0.0(eslint@9.8.0)': + '@intlify/eslint-plugin-vue-i18n@3.0.0(eslint@9.9.0(jiti@1.21.6))': dependencies: '@eslint/eslintrc': 3.1.0 '@intlify/core-base': 9.13.1 '@intlify/message-compiler': 9.13.1 debug: 4.3.6 - eslint: 9.8.0 - eslint-compat-utils: 0.5.1(eslint@9.8.0) + eslint: 9.9.0(jiti@1.21.6) + eslint-compat-utils: 0.5.1(eslint@9.9.0(jiti@1.21.6)) glob: 10.4.5 globals: 15.8.0 ignore: 5.3.1 @@ -3200,7 +3219,7 @@ snapshots: parse5: 7.1.2 semver: 7.6.3 synckit: 0.9.1 - vue-eslint-parser: 9.4.3(eslint@9.8.0) + vue-eslint-parser: 9.4.3(eslint@9.9.0(jiti@1.21.6)) yaml-eslint-parser: 1.2.3 transitivePeerDependencies: - supports-color @@ -3212,12 +3231,12 @@ snapshots: '@intlify/shared@9.13.1': {} - '@intlify/unplugin-vue-i18n@4.0.0(rollup@4.19.1)(vue-i18n@9.13.1(vue@3.4.34(typescript@5.5.3)))': + '@intlify/unplugin-vue-i18n@4.0.0(rollup@4.20.0)(vue-i18n@9.13.1(vue@3.4.38(typescript@5.5.4)))': dependencies: - '@intlify/bundle-utils': 8.0.0(vue-i18n@9.13.1(vue@3.4.34(typescript@5.5.3))) + '@intlify/bundle-utils': 8.0.0(vue-i18n@9.13.1(vue@3.4.38(typescript@5.5.4))) '@intlify/shared': 9.13.1 - '@rollup/pluginutils': 5.1.0(rollup@4.19.1) - '@vue/compiler-sfc': 3.4.34 + '@rollup/pluginutils': 5.1.0(rollup@4.20.0) + '@vue/compiler-sfc': 3.4.38 debug: 4.3.6 fast-glob: 3.3.2 js-yaml: 4.1.0 @@ -3227,7 +3246,7 @@ snapshots: source-map-js: 1.2.0 unplugin: 1.12.0 optionalDependencies: - vue-i18n: 9.13.1(vue@3.4.34(typescript@5.5.3)) + vue-i18n: 9.13.1(vue@3.4.38(typescript@5.5.4)) transitivePeerDependencies: - rollup - supports-color @@ -3265,9 +3284,9 @@ snapshots: string-argv: 0.3.2 type-detect: 4.1.0 - '@kyvg/vue3-notification@3.2.1(vue@3.4.34(typescript@5.5.3))': + '@kyvg/vue3-notification@3.2.1(vue@3.4.38(typescript@5.5.4))': dependencies: - vue: 3.4.34(typescript@5.5.3) + vue: 3.4.38(typescript@5.5.4) '@mdi/js@7.4.47': {} @@ -3290,107 +3309,107 @@ snapshots: '@pkgr/core@0.1.1': {} - '@rollup/pluginutils@5.1.0(rollup@4.19.1)': + '@rollup/pluginutils@5.1.0(rollup@4.20.0)': dependencies: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 optionalDependencies: - rollup: 4.19.1 + rollup: 4.20.0 - '@rollup/rollup-android-arm-eabi@4.19.1': + '@rollup/rollup-android-arm-eabi@4.20.0': optional: true - '@rollup/rollup-android-arm64@4.19.1': + '@rollup/rollup-android-arm64@4.20.0': optional: true - '@rollup/rollup-darwin-arm64@4.19.1': + '@rollup/rollup-darwin-arm64@4.20.0': optional: true - '@rollup/rollup-darwin-x64@4.19.1': + '@rollup/rollup-darwin-x64@4.20.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.19.1': + '@rollup/rollup-linux-arm-gnueabihf@4.20.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.19.1': + '@rollup/rollup-linux-arm-musleabihf@4.20.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.19.1': + '@rollup/rollup-linux-arm64-gnu@4.20.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.19.1': + '@rollup/rollup-linux-arm64-musl@4.20.0': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.19.1': + '@rollup/rollup-linux-powerpc64le-gnu@4.20.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.19.1': + '@rollup/rollup-linux-riscv64-gnu@4.20.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.19.1': + '@rollup/rollup-linux-s390x-gnu@4.20.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.19.1': + '@rollup/rollup-linux-x64-gnu@4.20.0': optional: true - '@rollup/rollup-linux-x64-musl@4.19.1': + '@rollup/rollup-linux-x64-musl@4.20.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.19.1': + '@rollup/rollup-win32-arm64-msvc@4.20.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.19.1': + '@rollup/rollup-win32-ia32-msvc@4.20.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.19.1': + '@rollup/rollup-win32-x64-msvc@4.20.0': optional: true '@sindresorhus/is@4.6.0': {} - '@stylistic/eslint-plugin-js@2.6.0-beta.1(eslint@9.8.0)': + '@stylistic/eslint-plugin-js@2.6.2(eslint@9.9.0(jiti@1.21.6))': dependencies: '@types/eslint': 9.6.0 acorn: 8.12.1 - eslint: 9.8.0 + eslint: 9.9.0(jiti@1.21.6) eslint-visitor-keys: 4.0.0 espree: 10.1.0 - '@stylistic/eslint-plugin-jsx@2.6.0-beta.1(eslint@9.8.0)': + '@stylistic/eslint-plugin-jsx@2.6.2(eslint@9.9.0(jiti@1.21.6))': dependencies: - '@stylistic/eslint-plugin-js': 2.6.0-beta.1(eslint@9.8.0) + '@stylistic/eslint-plugin-js': 2.6.2(eslint@9.9.0(jiti@1.21.6)) '@types/eslint': 9.6.0 - eslint: 9.8.0 + eslint: 9.9.0(jiti@1.21.6) estraverse: 5.3.0 picomatch: 4.0.2 - '@stylistic/eslint-plugin-plus@2.6.0-beta.1(eslint@9.8.0)(typescript@5.5.3)': + '@stylistic/eslint-plugin-plus@2.6.2(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': dependencies: '@types/eslint': 9.6.0 - '@typescript-eslint/utils': 8.0.0-alpha.58(eslint@9.8.0)(typescript@5.5.3) - eslint: 9.8.0 + '@typescript-eslint/utils': 8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + eslint: 9.9.0(jiti@1.21.6) transitivePeerDependencies: - supports-color - typescript - '@stylistic/eslint-plugin-ts@2.6.0-beta.1(eslint@9.8.0)(typescript@5.5.3)': + '@stylistic/eslint-plugin-ts@2.6.2(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': dependencies: - '@stylistic/eslint-plugin-js': 2.6.0-beta.1(eslint@9.8.0) + '@stylistic/eslint-plugin-js': 2.6.2(eslint@9.9.0(jiti@1.21.6)) '@types/eslint': 9.6.0 - '@typescript-eslint/utils': 8.0.0-alpha.58(eslint@9.8.0)(typescript@5.5.3) - eslint: 9.8.0 + '@typescript-eslint/utils': 8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + eslint: 9.9.0(jiti@1.21.6) transitivePeerDependencies: - supports-color - typescript - '@stylistic/eslint-plugin@2.6.0-beta.1(eslint@9.8.0)(typescript@5.5.3)': + '@stylistic/eslint-plugin@2.6.2(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': dependencies: - '@stylistic/eslint-plugin-js': 2.6.0-beta.1(eslint@9.8.0) - '@stylistic/eslint-plugin-jsx': 2.6.0-beta.1(eslint@9.8.0) - '@stylistic/eslint-plugin-plus': 2.6.0-beta.1(eslint@9.8.0)(typescript@5.5.3) - '@stylistic/eslint-plugin-ts': 2.6.0-beta.1(eslint@9.8.0)(typescript@5.5.3) + '@stylistic/eslint-plugin-js': 2.6.2(eslint@9.9.0(jiti@1.21.6)) + '@stylistic/eslint-plugin-jsx': 2.6.2(eslint@9.9.0(jiti@1.21.6)) + '@stylistic/eslint-plugin-plus': 2.6.2(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + '@stylistic/eslint-plugin-ts': 2.6.2(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) '@types/eslint': 9.6.0 - eslint: 9.8.0 + eslint: 9.9.0(jiti@1.21.6) transitivePeerDependencies: - supports-color - typescript @@ -3419,9 +3438,9 @@ snapshots: '@types/mdast@3.0.15': dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.11 - '@types/node@20.14.13': + '@types/node@20.14.15': dependencies: undici-types: 5.26.5 @@ -3433,69 +3452,69 @@ snapshots: '@types/tinycolor2@1.4.6': {} - '@types/unist@2.0.10': {} + '@types/unist@2.0.11': {} '@types/web-bluetooth@0.0.20': {} - '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3)': + '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': dependencies: '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 7.18.0(eslint@9.8.0)(typescript@5.5.3) + '@typescript-eslint/parser': 7.18.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/type-utils': 7.18.0(eslint@9.8.0)(typescript@5.5.3) - '@typescript-eslint/utils': 7.18.0(eslint@9.8.0)(typescript@5.5.3) + '@typescript-eslint/type-utils': 7.18.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + '@typescript-eslint/utils': 7.18.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) '@typescript-eslint/visitor-keys': 7.18.0 - eslint: 9.8.0 + eslint: 9.9.0(jiti@1.21.6) graphemer: 1.4.0 - ignore: 5.3.1 + ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 1.3.0(typescript@5.5.3) + ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: - typescript: 5.5.3 + typescript: 5.5.4 transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.0.0-alpha.40(@typescript-eslint/parser@7.18.0(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3)': + '@typescript-eslint/eslint-plugin@8.1.0(@typescript-eslint/parser@7.18.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': dependencies: '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 7.18.0(eslint@9.8.0)(typescript@5.5.3) - '@typescript-eslint/scope-manager': 8.0.0-alpha.40 - '@typescript-eslint/type-utils': 8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3) - '@typescript-eslint/utils': 8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3) - '@typescript-eslint/visitor-keys': 8.0.0-alpha.40 - eslint: 9.8.0 + '@typescript-eslint/parser': 7.18.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + '@typescript-eslint/scope-manager': 8.1.0 + '@typescript-eslint/type-utils': 8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + '@typescript-eslint/utils': 8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + '@typescript-eslint/visitor-keys': 8.1.0 + eslint: 9.9.0(jiti@1.21.6) graphemer: 1.4.0 - ignore: 5.3.1 + ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 1.3.0(typescript@5.5.3) + ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: - typescript: 5.5.3 + typescript: 5.5.4 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.18.0(eslint@9.8.0)(typescript@5.5.3)': + '@typescript-eslint/parser@7.18.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': dependencies: '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.3) + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4) '@typescript-eslint/visitor-keys': 7.18.0 debug: 4.3.6 - eslint: 9.8.0 + eslint: 9.9.0(jiti@1.21.6) optionalDependencies: - typescript: 5.5.3 + typescript: 5.5.4 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3)': + '@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': dependencies: - '@typescript-eslint/scope-manager': 8.0.0-alpha.40 - '@typescript-eslint/types': 8.0.0-alpha.40 - '@typescript-eslint/typescript-estree': 8.0.0-alpha.40(typescript@5.5.3) - '@typescript-eslint/visitor-keys': 8.0.0-alpha.40 + '@typescript-eslint/scope-manager': 8.1.0 + '@typescript-eslint/types': 8.1.0 + '@typescript-eslint/typescript-estree': 8.1.0(typescript@5.5.4) + '@typescript-eslint/visitor-keys': 8.1.0 debug: 4.3.6 - eslint: 9.8.0 + eslint: 9.9.0(jiti@1.21.6) optionalDependencies: - typescript: 5.5.3 + typescript: 5.5.4 transitivePeerDependencies: - supports-color @@ -3504,47 +3523,40 @@ snapshots: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 - '@typescript-eslint/scope-manager@8.0.0-alpha.40': + '@typescript-eslint/scope-manager@8.1.0': dependencies: - '@typescript-eslint/types': 8.0.0-alpha.40 - '@typescript-eslint/visitor-keys': 8.0.0-alpha.40 + '@typescript-eslint/types': 8.1.0 + '@typescript-eslint/visitor-keys': 8.1.0 - '@typescript-eslint/scope-manager@8.0.0-alpha.58': + '@typescript-eslint/type-utils@7.18.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': dependencies: - '@typescript-eslint/types': 8.0.0-alpha.58 - '@typescript-eslint/visitor-keys': 8.0.0-alpha.58 - - '@typescript-eslint/type-utils@7.18.0(eslint@9.8.0)(typescript@5.5.3)': - dependencies: - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.3) - '@typescript-eslint/utils': 7.18.0(eslint@9.8.0)(typescript@5.5.3) + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4) + '@typescript-eslint/utils': 7.18.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) debug: 4.3.6 - eslint: 9.8.0 - ts-api-utils: 1.3.0(typescript@5.5.3) + eslint: 9.9.0(jiti@1.21.6) + ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: - typescript: 5.5.3 + typescript: 5.5.4 transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3)': + '@typescript-eslint/type-utils@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': dependencies: - '@typescript-eslint/typescript-estree': 8.0.0-alpha.40(typescript@5.5.3) - '@typescript-eslint/utils': 8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3) + '@typescript-eslint/typescript-estree': 8.1.0(typescript@5.5.4) + '@typescript-eslint/utils': 8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) debug: 4.3.6 - ts-api-utils: 1.3.0(typescript@5.5.3) + ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: - typescript: 5.5.3 + typescript: 5.5.4 transitivePeerDependencies: - eslint - supports-color '@typescript-eslint/types@7.18.0': {} - '@typescript-eslint/types@8.0.0-alpha.40': {} + '@typescript-eslint/types@8.1.0': {} - '@typescript-eslint/types@8.0.0-alpha.58': {} - - '@typescript-eslint/typescript-estree@7.18.0(typescript@5.5.3)': + '@typescript-eslint/typescript-estree@7.18.0(typescript@5.5.4)': dependencies: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 @@ -3553,71 +3565,45 @@ snapshots: is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.5.3) + ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: - typescript: 5.5.3 + typescript: 5.5.4 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.0.0-alpha.40(typescript@5.5.3)': + '@typescript-eslint/typescript-estree@8.1.0(typescript@5.5.4)': dependencies: - '@typescript-eslint/types': 8.0.0-alpha.40 - '@typescript-eslint/visitor-keys': 8.0.0-alpha.40 + '@typescript-eslint/types': 8.1.0 + '@typescript-eslint/visitor-keys': 8.1.0 debug: 4.3.6 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.5.3) + ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: - typescript: 5.5.3 + typescript: 5.5.4 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.0.0-alpha.58(typescript@5.5.3)': + '@typescript-eslint/utils@7.18.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': dependencies: - '@typescript-eslint/types': 8.0.0-alpha.58 - '@typescript-eslint/visitor-keys': 8.0.0-alpha.58 - debug: 4.3.6 - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.5.3) - optionalDependencies: - typescript: 5.5.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/utils@7.18.0(eslint@9.8.0)(typescript@5.5.3)': - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.3) - eslint: 9.8.0 + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4) + eslint: 9.9.0(jiti@1.21.6) transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3)': + '@typescript-eslint/utils@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) - '@typescript-eslint/scope-manager': 8.0.0-alpha.40 - '@typescript-eslint/types': 8.0.0-alpha.40 - '@typescript-eslint/typescript-estree': 8.0.0-alpha.40(typescript@5.5.3) - eslint: 9.8.0 - transitivePeerDependencies: - - supports-color - - typescript - - '@typescript-eslint/utils@8.0.0-alpha.58(eslint@9.8.0)(typescript@5.5.3)': - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) - '@typescript-eslint/scope-manager': 8.0.0-alpha.58 - '@typescript-eslint/types': 8.0.0-alpha.58 - '@typescript-eslint/typescript-estree': 8.0.0-alpha.58(typescript@5.5.3) - eslint: 9.8.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) + '@typescript-eslint/scope-manager': 8.1.0 + '@typescript-eslint/types': 8.1.0 + '@typescript-eslint/typescript-estree': 8.1.0(typescript@5.5.4) + eslint: 9.9.0(jiti@1.21.6) transitivePeerDependencies: - supports-color - typescript @@ -3627,50 +3613,53 @@ snapshots: '@typescript-eslint/types': 7.18.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@8.0.0-alpha.40': + '@typescript-eslint/visitor-keys@8.1.0': dependencies: - '@typescript-eslint/types': 8.0.0-alpha.40 + '@typescript-eslint/types': 8.1.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@8.0.0-alpha.58': + '@vitejs/plugin-vue@5.1.2(vite@5.4.1(@types/node@20.14.15)(stylus@0.57.0))(vue@3.4.38(typescript@5.5.4))': dependencies: - '@typescript-eslint/types': 8.0.0-alpha.58 - eslint-visitor-keys: 3.4.3 + vite: 5.4.1(@types/node@20.14.15)(stylus@0.57.0) + vue: 3.4.38(typescript@5.5.4) - '@vitejs/plugin-vue@5.1.1(vite@5.3.5(@types/node@20.14.13)(stylus@0.57.0))(vue@3.4.34(typescript@5.5.3))': + '@vitest/eslint-plugin@1.0.3(@typescript-eslint/utils@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)(vitest@2.0.5(@types/node@20.14.15)(jsdom@24.1.1)(stylus@0.57.0))': dependencies: - vite: 5.3.5(@types/node@20.14.13)(stylus@0.57.0) - vue: 3.4.34(typescript@5.5.3) + eslint: 9.9.0(jiti@1.21.6) + optionalDependencies: + '@typescript-eslint/utils': 8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + typescript: 5.5.4 + vitest: 2.0.5(@types/node@20.14.15)(jsdom@24.1.1)(stylus@0.57.0) - '@vitest/expect@2.0.4': + '@vitest/expect@2.0.5': dependencies: - '@vitest/spy': 2.0.4 - '@vitest/utils': 2.0.4 + '@vitest/spy': 2.0.5 + '@vitest/utils': 2.0.5 chai: 5.1.1 tinyrainbow: 1.2.0 - '@vitest/pretty-format@2.0.4': + '@vitest/pretty-format@2.0.5': dependencies: tinyrainbow: 1.2.0 - '@vitest/runner@2.0.4': + '@vitest/runner@2.0.5': dependencies: - '@vitest/utils': 2.0.4 + '@vitest/utils': 2.0.5 pathe: 1.1.2 - '@vitest/snapshot@2.0.4': + '@vitest/snapshot@2.0.5': dependencies: - '@vitest/pretty-format': 2.0.4 + '@vitest/pretty-format': 2.0.5 magic-string: 0.30.11 pathe: 1.1.2 - '@vitest/spy@2.0.4': + '@vitest/spy@2.0.5': dependencies: tinyspy: 3.0.0 - '@vitest/utils@2.0.4': + '@vitest/utils@2.0.5': dependencies: - '@vitest/pretty-format': 2.0.4 + '@vitest/pretty-format': 2.0.5 estree-walker: 3.0.3 loupe: 3.1.1 tinyrainbow: 1.2.0 @@ -3687,35 +3676,35 @@ snapshots: path-browserify: 1.0.1 vscode-uri: 3.0.8 - '@vue/compiler-core@3.4.34': + '@vue/compiler-core@3.4.38': dependencies: - '@babel/parser': 7.25.0 - '@vue/shared': 3.4.34 + '@babel/parser': 7.25.3 + '@vue/shared': 3.4.38 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.0 - '@vue/compiler-dom@3.4.34': + '@vue/compiler-dom@3.4.38': dependencies: - '@vue/compiler-core': 3.4.34 - '@vue/shared': 3.4.34 + '@vue/compiler-core': 3.4.38 + '@vue/shared': 3.4.38 - '@vue/compiler-sfc@3.4.34': + '@vue/compiler-sfc@3.4.38': dependencies: - '@babel/parser': 7.25.0 - '@vue/compiler-core': 3.4.34 - '@vue/compiler-dom': 3.4.34 - '@vue/compiler-ssr': 3.4.34 - '@vue/shared': 3.4.34 + '@babel/parser': 7.25.3 + '@vue/compiler-core': 3.4.38 + '@vue/compiler-dom': 3.4.38 + '@vue/compiler-ssr': 3.4.38 + '@vue/shared': 3.4.38 estree-walker: 2.0.2 magic-string: 0.30.11 - postcss: 8.4.40 + postcss: 8.4.41 source-map-js: 1.2.0 - '@vue/compiler-ssr@3.4.34': + '@vue/compiler-ssr@3.4.38': dependencies: - '@vue/compiler-dom': 3.4.34 - '@vue/shared': 3.4.34 + '@vue/compiler-dom': 3.4.38 + '@vue/shared': 3.4.38 '@vue/compiler-vue2@2.7.16': dependencies: @@ -3724,63 +3713,63 @@ snapshots: '@vue/devtools-api@6.6.3': {} - '@vue/language-core@2.0.29(typescript@5.5.3)': + '@vue/language-core@2.0.29(typescript@5.5.4)': dependencies: '@volar/language-core': 2.4.0-alpha.18 - '@vue/compiler-dom': 3.4.34 + '@vue/compiler-dom': 3.4.38 '@vue/compiler-vue2': 2.7.16 - '@vue/shared': 3.4.34 + '@vue/shared': 3.4.38 computeds: 0.0.1 minimatch: 9.0.5 muggle-string: 0.4.1 path-browserify: 1.0.1 optionalDependencies: - typescript: 5.5.3 + typescript: 5.5.4 - '@vue/reactivity@3.4.34': + '@vue/reactivity@3.4.38': dependencies: - '@vue/shared': 3.4.34 + '@vue/shared': 3.4.38 - '@vue/runtime-core@3.4.34': + '@vue/runtime-core@3.4.38': dependencies: - '@vue/reactivity': 3.4.34 - '@vue/shared': 3.4.34 + '@vue/reactivity': 3.4.38 + '@vue/shared': 3.4.38 - '@vue/runtime-dom@3.4.34': + '@vue/runtime-dom@3.4.38': dependencies: - '@vue/reactivity': 3.4.34 - '@vue/runtime-core': 3.4.34 - '@vue/shared': 3.4.34 + '@vue/reactivity': 3.4.38 + '@vue/runtime-core': 3.4.38 + '@vue/shared': 3.4.38 csstype: 3.1.3 - '@vue/server-renderer@3.4.34(vue@3.4.34(typescript@5.5.3))': + '@vue/server-renderer@3.4.38(vue@3.4.38(typescript@5.5.4))': dependencies: - '@vue/compiler-ssr': 3.4.34 - '@vue/shared': 3.4.34 - vue: 3.4.34(typescript@5.5.3) + '@vue/compiler-ssr': 3.4.38 + '@vue/shared': 3.4.38 + vue: 3.4.38(typescript@5.5.4) - '@vue/shared@3.4.34': {} + '@vue/shared@3.4.38': {} '@vue/test-utils@2.4.6': dependencies: js-beautify: 1.15.1 vue-component-type-helpers: 2.0.29 - '@vueuse/core@10.11.0(vue@3.4.34(typescript@5.5.3))': + '@vueuse/core@10.11.1(vue@3.4.38(typescript@5.5.4))': dependencies: '@types/web-bluetooth': 0.0.20 - '@vueuse/metadata': 10.11.0 - '@vueuse/shared': 10.11.0(vue@3.4.34(typescript@5.5.3)) - vue-demi: 0.14.10(vue@3.4.34(typescript@5.5.3)) + '@vueuse/metadata': 10.11.1 + '@vueuse/shared': 10.11.1(vue@3.4.38(typescript@5.5.4)) + vue-demi: 0.14.10(vue@3.4.38(typescript@5.5.4)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/metadata@10.11.0': {} + '@vueuse/metadata@10.11.1': {} - '@vueuse/shared@10.11.0(vue@3.4.34(typescript@5.5.3))': + '@vueuse/shared@10.11.1(vue@3.4.38(typescript@5.5.4))': dependencies: - vue-demi: 0.14.10(vue@3.4.34(typescript@5.5.3)) + vue-demi: 0.14.10(vue@3.4.38(typescript@5.5.4)) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -3889,6 +3878,13 @@ snapshots: node-releases: 2.0.18 update-browserslist-db: 1.1.0(browserslist@4.23.2) + browserslist@4.23.3: + dependencies: + caniuse-lite: 1.0.30001651 + electron-to-chromium: 1.5.8 + node-releases: 2.0.18 + update-browserslist-db: 1.1.0(browserslist@4.23.3) + builtin-modules@3.3.0: {} cac@6.7.14: {} @@ -3899,6 +3895,8 @@ snapshots: caniuse-lite@1.0.30001644: {} + caniuse-lite@1.0.30001651: {} + chai@5.1.1: dependencies: assertion-error: 2.0.1 @@ -3989,9 +3987,9 @@ snapshots: convert-source-map@2.0.0: {} - core-js-compat@3.37.1: + core-js-compat@3.38.0: dependencies: - browserslist: 4.23.2 + browserslist: 4.23.3 cross-spawn@7.0.3: dependencies: @@ -4101,6 +4099,8 @@ snapshots: electron-to-chromium@1.5.3: {} + electron-to-chromium@1.5.8: {} + emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} @@ -4160,9 +4160,9 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-compat-utils@0.5.1(eslint@9.8.0): + eslint-compat-utils@0.5.1(eslint@9.9.0(jiti@1.21.6)): dependencies: - eslint: 9.8.0 + eslint: 9.9.0(jiti@1.21.6) semver: 7.6.3 eslint-config-flat-gitignore@0.1.8: @@ -4183,39 +4183,39 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-merge-processors@0.1.0(eslint@9.8.0): + eslint-merge-processors@0.1.0(eslint@9.9.0(jiti@1.21.6)): dependencies: - eslint: 9.8.0 + eslint: 9.9.0(jiti@1.21.6) - eslint-plugin-antfu@2.3.4(eslint@9.8.0): + eslint-plugin-antfu@2.3.5(eslint@9.9.0(jiti@1.21.6)): dependencies: '@antfu/utils': 0.7.10 - eslint: 9.8.0 + eslint: 9.9.0(jiti@1.21.6) - eslint-plugin-command@0.2.3(eslint@9.8.0): + eslint-plugin-command@0.2.3(eslint@9.9.0(jiti@1.21.6)): dependencies: '@es-joy/jsdoccomment': 0.43.1 - eslint: 9.8.0 + eslint: 9.9.0(jiti@1.21.6) - eslint-plugin-es-x@7.8.0(eslint@9.8.0): + eslint-plugin-es-x@7.8.0(eslint@9.9.0(jiti@1.21.6)): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) '@eslint-community/regexpp': 4.11.0 - eslint: 9.8.0 - eslint-compat-utils: 0.5.1(eslint@9.8.0) + eslint: 9.9.0(jiti@1.21.6) + eslint-compat-utils: 0.5.1(eslint@9.9.0(jiti@1.21.6)) - eslint-plugin-eslint-comments@3.2.0(eslint@9.8.0): + eslint-plugin-eslint-comments@3.2.0(eslint@9.9.0(jiti@1.21.6)): dependencies: escape-string-regexp: 1.0.5 - eslint: 9.8.0 - ignore: 5.3.1 + eslint: 9.9.0(jiti@1.21.6) + ignore: 5.3.2 - eslint-plugin-import-x@3.1.0(eslint@9.8.0)(typescript@5.5.3): + eslint-plugin-import-x@3.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4): dependencies: - '@typescript-eslint/utils': 7.18.0(eslint@9.8.0)(typescript@5.5.3) + '@typescript-eslint/utils': 7.18.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) debug: 4.3.6 doctrine: 3.0.0 - eslint: 9.8.0 + eslint: 9.9.0(jiti@1.21.6) eslint-import-resolver-node: 0.3.9 get-tsconfig: 4.7.6 is-glob: 4.0.3 @@ -4227,14 +4227,15 @@ snapshots: - supports-color - typescript - eslint-plugin-jsdoc@48.9.3(eslint@9.8.0): + eslint-plugin-jsdoc@50.2.2(eslint@9.9.0(jiti@1.21.6)): dependencies: - '@es-joy/jsdoccomment': 0.46.0 + '@es-joy/jsdoccomment': 0.48.0 are-docs-informative: 0.0.2 comment-parser: 1.4.1 debug: 4.3.6 escape-string-regexp: 4.0.0 - eslint: 9.8.0 + eslint: 9.9.0(jiti@1.21.6) + espree: 10.1.0 esquery: 1.6.0 parse-imports: 2.1.1 semver: 7.6.3 @@ -4243,86 +4244,86 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-jsonc@2.16.0(eslint@9.8.0): + eslint-plugin-jsonc@2.16.0(eslint@9.9.0(jiti@1.21.6)): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) - eslint: 9.8.0 - eslint-compat-utils: 0.5.1(eslint@9.8.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) + eslint: 9.9.0(jiti@1.21.6) + eslint-compat-utils: 0.5.1(eslint@9.9.0(jiti@1.21.6)) espree: 9.6.1 graphemer: 1.4.0 jsonc-eslint-parser: 2.4.0 natural-compare: 1.4.0 synckit: 0.6.2 - eslint-plugin-markdown@5.1.0(eslint@9.8.0): + eslint-plugin-markdown@5.1.0(eslint@9.9.0(jiti@1.21.6)): dependencies: - eslint: 9.8.0 + eslint: 9.9.0(jiti@1.21.6) mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: - supports-color - eslint-plugin-n@17.10.1(eslint@9.8.0): + eslint-plugin-n@17.10.2(eslint@9.9.0(jiti@1.21.6)): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) enhanced-resolve: 5.17.1 - eslint: 9.8.0 - eslint-plugin-es-x: 7.8.0(eslint@9.8.0) + eslint: 9.9.0(jiti@1.21.6) + eslint-plugin-es-x: 7.8.0(eslint@9.9.0(jiti@1.21.6)) get-tsconfig: 4.7.6 - globals: 15.8.0 - ignore: 5.3.1 + globals: 15.9.0 + ignore: 5.3.2 minimatch: 9.0.5 semver: 7.6.3 - eslint-plugin-no-only-tests@3.1.0: {} + eslint-plugin-no-only-tests@3.3.0: {} - eslint-plugin-perfectionist@3.0.0(eslint@9.8.0)(typescript@5.5.3)(vue-eslint-parser@9.4.3(eslint@9.8.0)): + eslint-plugin-perfectionist@3.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)(vue-eslint-parser@9.4.3(eslint@9.9.0(jiti@1.21.6))): dependencies: - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/utils': 7.18.0(eslint@9.8.0)(typescript@5.5.3) - eslint: 9.8.0 + '@typescript-eslint/types': 8.1.0 + '@typescript-eslint/utils': 8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + eslint: 9.9.0(jiti@1.21.6) minimatch: 10.0.1 natural-compare-lite: 1.4.0 optionalDependencies: - vue-eslint-parser: 9.4.3(eslint@9.8.0) + vue-eslint-parser: 9.4.3(eslint@9.9.0(jiti@1.21.6)) transitivePeerDependencies: - supports-color - typescript - eslint-plugin-promise@6.6.0(eslint@9.8.0): + eslint-plugin-promise@6.6.0(eslint@9.9.0(jiti@1.21.6)): dependencies: - eslint: 9.8.0 + eslint: 9.9.0(jiti@1.21.6) - eslint-plugin-regexp@2.6.0(eslint@9.8.0): + eslint-plugin-regexp@2.6.0(eslint@9.9.0(jiti@1.21.6)): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) '@eslint-community/regexpp': 4.11.0 comment-parser: 1.4.1 - eslint: 9.8.0 - jsdoc-type-pratt-parser: 4.0.0 + eslint: 9.9.0(jiti@1.21.6) + jsdoc-type-pratt-parser: 4.1.0 refa: 0.12.1 regexp-ast-analysis: 0.7.1 scslre: 0.3.0 - eslint-plugin-toml@0.11.1(eslint@9.8.0): + eslint-plugin-toml@0.11.1(eslint@9.9.0(jiti@1.21.6)): dependencies: debug: 4.3.6 - eslint: 9.8.0 - eslint-compat-utils: 0.5.1(eslint@9.8.0) + eslint: 9.9.0(jiti@1.21.6) + eslint-compat-utils: 0.5.1(eslint@9.9.0(jiti@1.21.6)) lodash: 4.17.21 toml-eslint-parser: 0.10.0 transitivePeerDependencies: - supports-color - eslint-plugin-unicorn@55.0.0(eslint@9.8.0): + eslint-plugin-unicorn@55.0.0(eslint@9.9.0(jiti@1.21.6)): dependencies: '@babel/helper-validator-identifier': 7.24.7 - '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) ci-info: 4.0.0 clean-regexp: 1.0.0 - core-js-compat: 3.37.1 - eslint: 9.8.0 + core-js-compat: 3.38.0 + eslint: 9.9.0(jiti@1.21.6) esquery: 1.6.0 - globals: 15.8.0 + globals: 15.9.0 indent-string: 4.0.0 is-builtin-module: 3.2.1 jsesc: 3.0.2 @@ -4333,70 +4334,56 @@ snapshots: semver: 7.6.3 strip-indent: 3.0.0 - eslint-plugin-unused-imports@4.0.1(@typescript-eslint/eslint-plugin@8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0): + eslint-plugin-unused-imports@4.1.3(@typescript-eslint/eslint-plugin@8.1.0(@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6)): dependencies: - eslint: 9.8.0 - eslint-rule-composer: 0.3.0 + eslint: 9.9.0(jiti@1.21.6) optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.0.0-alpha.40(@typescript-eslint/parser@7.18.0(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3) + '@typescript-eslint/eslint-plugin': 8.1.0(@typescript-eslint/parser@7.18.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) - eslint-plugin-vitest@0.5.4(@typescript-eslint/eslint-plugin@8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3)(vitest@2.0.4(@types/node@20.14.13)(jsdom@24.1.1)(stylus@0.57.0)): + eslint-plugin-vue-scoped-css@2.8.1(eslint@9.9.0(jiti@1.21.6))(vue-eslint-parser@9.4.3(eslint@9.9.0(jiti@1.21.6))): dependencies: - '@typescript-eslint/utils': 7.18.0(eslint@9.8.0)(typescript@5.5.3) - eslint: 9.8.0 - optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.0.0-alpha.40(@typescript-eslint/parser@7.18.0(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3) - vitest: 2.0.4(@types/node@20.14.13)(jsdom@24.1.1)(stylus@0.57.0) - transitivePeerDependencies: - - supports-color - - typescript - - eslint-plugin-vue-scoped-css@2.8.1(eslint@9.8.0)(vue-eslint-parser@9.4.3(eslint@9.8.0)): - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) - eslint: 9.8.0 - eslint-compat-utils: 0.5.1(eslint@9.8.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) + eslint: 9.9.0(jiti@1.21.6) + eslint-compat-utils: 0.5.1(eslint@9.9.0(jiti@1.21.6)) lodash: 4.17.21 postcss: 8.4.40 postcss-safe-parser: 6.0.0(postcss@8.4.40) postcss-scss: 4.0.9(postcss@8.4.40) postcss-selector-parser: 6.1.1 postcss-styl: 0.12.3 - vue-eslint-parser: 9.4.3(eslint@9.8.0) + vue-eslint-parser: 9.4.3(eslint@9.9.0(jiti@1.21.6)) transitivePeerDependencies: - supports-color - eslint-plugin-vue@9.27.0(eslint@9.8.0): + eslint-plugin-vue@9.27.0(eslint@9.9.0(jiti@1.21.6)): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) - eslint: 9.8.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) + eslint: 9.9.0(jiti@1.21.6) globals: 13.24.0 natural-compare: 1.4.0 nth-check: 2.1.1 - postcss-selector-parser: 6.1.1 + postcss-selector-parser: 6.1.2 semver: 7.6.3 - vue-eslint-parser: 9.4.3(eslint@9.8.0) + vue-eslint-parser: 9.4.3(eslint@9.9.0(jiti@1.21.6)) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color - eslint-plugin-yml@1.14.0(eslint@9.8.0): + eslint-plugin-yml@1.14.0(eslint@9.9.0(jiti@1.21.6)): dependencies: debug: 4.3.6 - eslint: 9.8.0 - eslint-compat-utils: 0.5.1(eslint@9.8.0) + eslint: 9.9.0(jiti@1.21.6) + eslint-compat-utils: 0.5.1(eslint@9.9.0(jiti@1.21.6)) lodash: 4.17.21 natural-compare: 1.4.0 yaml-eslint-parser: 1.2.3 transitivePeerDependencies: - supports-color - eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.4.34)(eslint@9.8.0): + eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.4.38)(eslint@9.9.0(jiti@1.21.6)): dependencies: - '@vue/compiler-sfc': 3.4.34 - eslint: 9.8.0 - - eslint-rule-composer@0.3.0: {} + '@vue/compiler-sfc': 3.4.38 + eslint: 9.9.0(jiti@1.21.6) eslint-scope@7.2.2: dependencies: @@ -4412,13 +4399,13 @@ snapshots: eslint-visitor-keys@4.0.0: {} - eslint@9.8.0: + eslint@9.9.0(jiti@1.21.6): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) '@eslint-community/regexpp': 4.11.0 '@eslint/config-array': 0.17.1 '@eslint/eslintrc': 3.1.0 - '@eslint/js': 9.8.0 + '@eslint/js': 9.9.0 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.3.0 '@nodelib/fs.walk': 1.2.8 @@ -4436,7 +4423,7 @@ snapshots: file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 - ignore: 5.3.1 + ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -4448,6 +4435,8 @@ snapshots: optionator: 0.9.4 strip-ansi: 6.0.1 text-table: 0.2.0 + optionalDependencies: + jiti: 1.21.6 transitivePeerDependencies: - supports-color @@ -4610,12 +4599,14 @@ snapshots: globals@15.8.0: {} + globals@15.9.0: {} + globby@11.1.0: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.3.1 + ignore: 5.3.2 merge2: 1.4.1 slash: 3.0.0 @@ -4661,6 +4652,8 @@ snapshots: ignore@5.3.1: {} + ignore@5.3.2: {} + import-fresh@3.3.0: dependencies: parent-module: 1.0.1 @@ -4754,6 +4747,8 @@ snapshots: jsdoc-type-pratt-parser@4.0.0: {} + jsdoc-type-pratt-parser@4.1.0: {} + jsdom@24.1.1: dependencies: cssstyle: 4.0.1 @@ -5059,13 +5054,13 @@ snapshots: picomatch@4.0.2: {} - pinia@2.2.0(typescript@5.5.3)(vue@3.4.34(typescript@5.5.3)): + pinia@2.2.1(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)): dependencies: '@vue/devtools-api': 6.6.3 - vue: 3.4.34(typescript@5.5.3) - vue-demi: 0.14.10(vue@3.4.34(typescript@5.5.3)) + vue: 3.4.38(typescript@5.5.4) + vue-demi: 0.14.10(vue@3.4.38(typescript@5.5.4)) optionalDependencies: - typescript: 5.5.3 + typescript: 5.5.4 pkg-types@1.1.3: dependencies: @@ -5088,6 +5083,11 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 + postcss-selector-parser@6.1.2: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + postcss-styl@0.12.3: dependencies: debug: 4.3.6 @@ -5104,6 +5104,12 @@ snapshots: picocolors: 1.0.1 source-map-js: 1.2.0 + postcss@8.4.41: + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.1 + source-map-js: 1.2.0 + prelude-ls@1.2.1: {} prettier@3.3.3: {} @@ -5176,26 +5182,26 @@ snapshots: reusify@1.0.4: {} - rollup@4.19.1: + rollup@4.20.0: dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.19.1 - '@rollup/rollup-android-arm64': 4.19.1 - '@rollup/rollup-darwin-arm64': 4.19.1 - '@rollup/rollup-darwin-x64': 4.19.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.19.1 - '@rollup/rollup-linux-arm-musleabihf': 4.19.1 - '@rollup/rollup-linux-arm64-gnu': 4.19.1 - '@rollup/rollup-linux-arm64-musl': 4.19.1 - '@rollup/rollup-linux-powerpc64le-gnu': 4.19.1 - '@rollup/rollup-linux-riscv64-gnu': 4.19.1 - '@rollup/rollup-linux-s390x-gnu': 4.19.1 - '@rollup/rollup-linux-x64-gnu': 4.19.1 - '@rollup/rollup-linux-x64-musl': 4.19.1 - '@rollup/rollup-win32-arm64-msvc': 4.19.1 - '@rollup/rollup-win32-ia32-msvc': 4.19.1 - '@rollup/rollup-win32-x64-msvc': 4.19.1 + '@rollup/rollup-android-arm-eabi': 4.20.0 + '@rollup/rollup-android-arm64': 4.20.0 + '@rollup/rollup-darwin-arm64': 4.20.0 + '@rollup/rollup-darwin-x64': 4.20.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.20.0 + '@rollup/rollup-linux-arm-musleabihf': 4.20.0 + '@rollup/rollup-linux-arm64-gnu': 4.20.0 + '@rollup/rollup-linux-arm64-musl': 4.20.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.20.0 + '@rollup/rollup-linux-riscv64-gnu': 4.20.0 + '@rollup/rollup-linux-s390x-gnu': 4.20.0 + '@rollup/rollup-linux-x64-gnu': 4.20.0 + '@rollup/rollup-linux-x64-musl': 4.20.0 + '@rollup/rollup-win32-arm64-msvc': 4.20.0 + '@rollup/rollup-win32-ia32-msvc': 4.20.0 + '@rollup/rollup-win32-x64-msvc': 4.20.0 fsevents: 2.3.3 rrweb-cssom@0.6.0: {} @@ -5356,7 +5362,7 @@ snapshots: text-table@0.2.0: {} - tinybench@2.8.0: {} + tinybench@2.9.0: {} tinycolor2@1.6.0: {} @@ -5387,9 +5393,9 @@ snapshots: dependencies: punycode: 2.3.1 - ts-api-utils@1.3.0(typescript@5.5.3): + ts-api-utils@1.3.0(typescript@5.5.4): dependencies: - typescript: 5.5.3 + typescript: 5.5.4 tslib@2.6.3: {} @@ -5405,18 +5411,18 @@ snapshots: type-fest@0.8.1: {} - typescript-eslint@7.18.0(eslint@9.8.0)(typescript@5.5.3): + typescript-eslint@7.18.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4): dependencies: - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.8.0)(typescript@5.5.3))(eslint@9.8.0)(typescript@5.5.3) - '@typescript-eslint/parser': 7.18.0(eslint@9.8.0)(typescript@5.5.3) - '@typescript-eslint/utils': 7.18.0(eslint@9.8.0)(typescript@5.5.3) - eslint: 9.8.0 + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + '@typescript-eslint/parser': 7.18.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + '@typescript-eslint/utils': 7.18.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + eslint: 9.9.0(jiti@1.21.6) optionalDependencies: - typescript: 5.5.3 + typescript: 5.5.4 transitivePeerDependencies: - supports-color - typescript@5.5.3: {} + typescript@5.5.4: {} ufo@1.5.4: {} @@ -5426,7 +5432,7 @@ snapshots: unist-util-stringify-position@2.0.3: dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.11 universalify@0.2.0: {} @@ -5443,6 +5449,12 @@ snapshots: escalade: 3.1.2 picocolors: 1.0.1 + update-browserslist-db@1.1.0(browserslist@4.23.3): + dependencies: + browserslist: 4.23.3 + escalade: 3.1.2 + picocolors: 1.0.1 + uri-js@4.4.1: dependencies: punycode: 2.3.1 @@ -5459,18 +5471,19 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - vite-node@2.0.4(@types/node@20.14.13)(stylus@0.57.0): + vite-node@2.0.5(@types/node@20.14.15)(stylus@0.57.0): dependencies: cac: 6.7.14 debug: 4.3.6 pathe: 1.1.2 tinyrainbow: 1.2.0 - vite: 5.3.5(@types/node@20.14.13)(stylus@0.57.0) + vite: 5.4.1(@types/node@20.14.15)(stylus@0.57.0) transitivePeerDependencies: - '@types/node' - less - lightningcss - sass + - sass-embedded - stylus - sugarss - supports-color @@ -5484,59 +5497,60 @@ snapshots: - prismjs - supports-color - vite-plugin-windicss@1.9.3(vite@5.3.5(@types/node@20.14.13)(stylus@0.57.0)): + vite-plugin-windicss@1.9.3(vite@5.4.1(@types/node@20.14.15)(stylus@0.57.0)): dependencies: '@windicss/plugin-utils': 1.9.3 debug: 4.3.6 kolorist: 1.8.0 - vite: 5.3.5(@types/node@20.14.13)(stylus@0.57.0) + vite: 5.4.1(@types/node@20.14.15)(stylus@0.57.0) windicss: 3.5.6 transitivePeerDependencies: - supports-color - vite-svg-loader@5.1.0(vue@3.4.34(typescript@5.5.3)): + vite-svg-loader@5.1.0(vue@3.4.38(typescript@5.5.4)): dependencies: svgo: 3.3.2 - vue: 3.4.34(typescript@5.5.3) + vue: 3.4.38(typescript@5.5.4) - vite@5.3.5(@types/node@20.14.13)(stylus@0.57.0): + vite@5.4.1(@types/node@20.14.15)(stylus@0.57.0): dependencies: esbuild: 0.21.5 - postcss: 8.4.40 - rollup: 4.19.1 + postcss: 8.4.41 + rollup: 4.20.0 optionalDependencies: - '@types/node': 20.14.13 + '@types/node': 20.14.15 fsevents: 2.3.3 stylus: 0.57.0 - vitest@2.0.4(@types/node@20.14.13)(jsdom@24.1.1)(stylus@0.57.0): + vitest@2.0.5(@types/node@20.14.15)(jsdom@24.1.1)(stylus@0.57.0): dependencies: '@ampproject/remapping': 2.3.0 - '@vitest/expect': 2.0.4 - '@vitest/pretty-format': 2.0.4 - '@vitest/runner': 2.0.4 - '@vitest/snapshot': 2.0.4 - '@vitest/spy': 2.0.4 - '@vitest/utils': 2.0.4 + '@vitest/expect': 2.0.5 + '@vitest/pretty-format': 2.0.5 + '@vitest/runner': 2.0.5 + '@vitest/snapshot': 2.0.5 + '@vitest/spy': 2.0.5 + '@vitest/utils': 2.0.5 chai: 5.1.1 debug: 4.3.6 execa: 8.0.1 magic-string: 0.30.11 pathe: 1.1.2 std-env: 3.7.0 - tinybench: 2.8.0 + tinybench: 2.9.0 tinypool: 1.0.0 tinyrainbow: 1.2.0 - vite: 5.3.5(@types/node@20.14.13)(stylus@0.57.0) - vite-node: 2.0.4(@types/node@20.14.13)(stylus@0.57.0) + vite: 5.4.1(@types/node@20.14.15)(stylus@0.57.0) + vite-node: 2.0.5(@types/node@20.14.15)(stylus@0.57.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 20.14.13 + '@types/node': 20.14.15 jsdom: 24.1.1 transitivePeerDependencies: - less - lightningcss - sass + - sass-embedded - stylus - sugarss - supports-color @@ -5546,14 +5560,14 @@ snapshots: vue-component-type-helpers@2.0.29: {} - vue-demi@0.14.10(vue@3.4.34(typescript@5.5.3)): + vue-demi@0.14.10(vue@3.4.38(typescript@5.5.4)): dependencies: - vue: 3.4.34(typescript@5.5.3) + vue: 3.4.38(typescript@5.5.4) - vue-eslint-parser@9.4.3(eslint@9.8.0): + vue-eslint-parser@9.4.3(eslint@9.9.0(jiti@1.21.6)): dependencies: debug: 4.3.6 - eslint: 9.8.0 + eslint: 9.9.0(jiti@1.21.6) eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 @@ -5563,34 +5577,34 @@ snapshots: transitivePeerDependencies: - supports-color - vue-i18n@9.13.1(vue@3.4.34(typescript@5.5.3)): + vue-i18n@9.13.1(vue@3.4.38(typescript@5.5.4)): dependencies: '@intlify/core-base': 9.13.1 '@intlify/shared': 9.13.1 '@vue/devtools-api': 6.6.3 - vue: 3.4.34(typescript@5.5.3) + vue: 3.4.38(typescript@5.5.4) - vue-router@4.4.0(vue@3.4.34(typescript@5.5.3)): + vue-router@4.4.3(vue@3.4.38(typescript@5.5.4)): dependencies: '@vue/devtools-api': 6.6.3 - vue: 3.4.34(typescript@5.5.3) + vue: 3.4.38(typescript@5.5.4) - vue-tsc@2.0.29(typescript@5.5.3): + vue-tsc@2.0.29(typescript@5.5.4): dependencies: '@volar/typescript': 2.4.0-alpha.18 - '@vue/language-core': 2.0.29(typescript@5.5.3) + '@vue/language-core': 2.0.29(typescript@5.5.4) semver: 7.6.3 - typescript: 5.5.3 + typescript: 5.5.4 - vue@3.4.34(typescript@5.5.3): + vue@3.4.38(typescript@5.5.4): dependencies: - '@vue/compiler-dom': 3.4.34 - '@vue/compiler-sfc': 3.4.34 - '@vue/runtime-dom': 3.4.34 - '@vue/server-renderer': 3.4.34(vue@3.4.34(typescript@5.5.3)) - '@vue/shared': 3.4.34 + '@vue/compiler-dom': 3.4.38 + '@vue/compiler-sfc': 3.4.38 + '@vue/runtime-dom': 3.4.38 + '@vue/server-renderer': 3.4.38(vue@3.4.38(typescript@5.5.4)) + '@vue/shared': 3.4.38 optionalDependencies: - typescript: 5.5.3 + typescript: 5.5.4 w3c-xmlserializer@5.0.0: dependencies: diff --git a/web/src/router.ts b/web/src/router.ts index c71c831d9..238fcc0aa 100644 --- a/web/src/router.ts +++ b/web/src/router.ts @@ -113,7 +113,7 @@ const routes: RouteRecordRaw[] = [ }, { path: ':repoOwner/:repoName/:pathMatch(.*)*', - component: async () => import('~/views/repo/RepoDeprecatedRedirect.vue'), + component: (): Component => import('~/views/repo/RepoDeprecatedRedirect.vue'), props: true, }, ], @@ -167,7 +167,7 @@ const routes: RouteRecordRaw[] = [ }, { path: `${rootPath}/cli/auth`, - component: async () => import('~/views/cli/Auth.vue'), + component: (): Component => import('~/views/cli/Auth.vue'), meta: { authentication: 'required' }, }, @@ -178,7 +178,7 @@ const routes: RouteRecordRaw[] = [ }, { path: `${rootPath}/:repoOwner/:repoName/:pathMatch(.*)*`, - component: async () => import('~/views/repo/RepoDeprecatedRedirect.vue'), + component: (): Component => import('~/views/repo/RepoDeprecatedRedirect.vue'), props: true, }, diff --git a/web/src/views/org/OrgWrapper.vue b/web/src/views/org/OrgWrapper.vue index df09d8769..ffbc9b30a 100644 --- a/web/src/views/org/OrgWrapper.vue +++ b/web/src/views/org/OrgWrapper.vue @@ -1,5 +1,5 @@ @@ -21,6 +24,7 @@ import Button from '~/components/atomic/Button.vue'; import Scaffold from '~/components/layout/scaffold/Scaffold.vue'; import Tab from '~/components/layout/scaffold/Tab.vue'; +import UserAgentsTab from '~/components/user/UserAgentsTab.vue'; import UserCLIAndAPITab from '~/components/user/UserCLIAndAPITab.vue'; import UserGeneralTab from '~/components/user/UserGeneralTab.vue'; import UserRegistriesTab from '~/components/user/UserRegistriesTab.vue'; diff --git a/web/src/views/org/OrgSettings.vue b/web/src/views/org/OrgSettings.vue index 0b20795f7..25d2e92e0 100644 --- a/web/src/views/org/OrgSettings.vue +++ b/web/src/views/org/OrgSettings.vue @@ -18,6 +18,10 @@ + + + + @@ -28,6 +32,7 @@ import { useRouter } from 'vue-router'; import Scaffold from '~/components/layout/scaffold/Scaffold.vue'; import Tab from '~/components/layout/scaffold/Tab.vue'; +import OrgAgentsTab from '~/components/org/settings/OrgAgentsTab.vue'; import OrgRegistriesTab from '~/components/org/settings/OrgRegistriesTab.vue'; import OrgSecretsTab from '~/components/org/settings/OrgSecretsTab.vue'; import { inject } from '~/compositions/useInjectProvide'; diff --git a/woodpecker-go/woodpecker/types.go b/woodpecker-go/woodpecker/types.go index 158f5e8a1..006424b61 100644 --- a/woodpecker-go/woodpecker/types.go +++ b/woodpecker-go/woodpecker/types.go @@ -233,6 +233,7 @@ type ( Updated int64 `json:"updated"` Name string `json:"name"` OwnerID int64 `json:"owner_id"` + OrgID int64 `json:"org_id"` Token string `json:"token"` LastContact int64 `json:"last_contact"` LastWork int64 `json:"last_work"` From a5448360b6c002463a6e521cbb19eac4a45f9806 Mon Sep 17 00:00:00 2001 From: Kirill Isakov Date: Mon, 30 Sep 2024 11:58:40 +0000 Subject: [PATCH 187/547] Translated using Weblate (Russian) Currently translated at 100.0% (341 of 341 strings) Translation: Woodpecker CI/UI Translate-URL: http://translate.woodpecker-ci.org/projects/woodpecker-ci/ui/ru/ --- web/src/assets/locales/ru.json | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/web/src/assets/locales/ru.json b/web/src/assets/locales/ru.json index abb0e3706..ff279b447 100644 --- a/web/src/assets/locales/ru.json +++ b/web/src/assets/locales/ru.json @@ -39,7 +39,10 @@ "saved": "Обработчик сохранён", "show": "Показать обработчики", "token": "Токен", - "version": "Версия" + "version": "Версия", + "org": { + "badge": "орг" + } }, "not_allowed": "У вас нет прав доступа к настройкам сервера.", "orgs": { @@ -182,6 +185,9 @@ "settings": "Настройки", "registries": { "desc": "Можно добавить учётные данные реестра для организации, чтобы иметь возможность использовать частные образы во всех конвейерах этой организации." + }, + "agents": { + "desc": "Обработчики, зарегистрированные для этой организации." } } }, @@ -547,6 +553,9 @@ }, "registries": { "desc": "Добавление учётных данных реестра для пользователя даст возможность использовать частные образы во всех конвейерах пользователя." + }, + "agents": { + "desc": "Обработчики, зарегистрированные для репозиториев вашей учётной записи." } } }, From aee9759d1f0516fb757c4fbcdd74bd53ce784097 Mon Sep 17 00:00:00 2001 From: Patrick Schratz Date: Wed, 2 Oct 2024 22:50:52 +0200 Subject: [PATCH 188/547] Add `.lycheeignore` (#4154) --- .lycheeignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 .lycheeignore diff --git a/.lycheeignore b/.lycheeignore new file mode 100644 index 000000000..cc915d267 --- /dev/null +++ b/.lycheeignore @@ -0,0 +1 @@ +https://stackoverflow.com From 8b4d440bbcdc92104b6466f09cc0a7b6b59bc33d Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Thu, 3 Oct 2024 09:53:41 +0100 Subject: [PATCH 189/547] Print agent labels in debug mode (#4155) --- cmd/agent/core/agent.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cmd/agent/core/agent.go b/cmd/agent/core/agent.go index f0c7f0071..582669f1a 100644 --- a/cmd/agent/core/agent.go +++ b/cmd/agent/core/agent.go @@ -239,6 +239,8 @@ func run(ctx context.Context, c *cli.Command, backends []types.Backend) error { return err } + log.Debug().Any("labels", labels).Msgf("agent configured with labels") + filter := rpc.Filter{ Labels: labels, } From 25b4c355d35d036ac73fbf174f04f4f95580d117 Mon Sep 17 00:00:00 2001 From: Patrick Schratz Date: Fri, 4 Oct 2024 16:08:05 +0200 Subject: [PATCH 190/547] fix: Add wildcard to `.lycheeignore` (#4158) --- .lycheeignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.lycheeignore b/.lycheeignore index cc915d267..fea8b85ab 100644 --- a/.lycheeignore +++ b/.lycheeignore @@ -1 +1 @@ -https://stackoverflow.com +https://stackoverflow.com/* From a7ce4d5d2e880c3f17f69a1042beb411b76bc5e7 Mon Sep 17 00:00:00 2001 From: Patrick Schratz Date: Sat, 5 Oct 2024 07:14:16 +0200 Subject: [PATCH 191/547] Bump trivy (and lockfile deps) (#4160) --- .woodpecker/securityscan.yaml | 2 +- docs/package.json | 33 +- docs/pnpm-lock.yaml | 4112 ++++++++++++++++++--------------- web/package.json | 44 +- web/pnpm-lock.yaml | 207 +- 5 files changed, 2426 insertions(+), 1972 deletions(-) diff --git a/.woodpecker/securityscan.yaml b/.woodpecker/securityscan.yaml index fb2e28971..e2e42cdc1 100644 --- a/.woodpecker/securityscan.yaml +++ b/.woodpecker/securityscan.yaml @@ -6,7 +6,7 @@ when: - renovate/* variables: - - &trivy_plugin docker.io/woodpeckerci/plugin-trivy:1.1.0 + - &trivy_plugin docker.io/woodpeckerci/plugin-trivy:1.1.1 steps: backend: diff --git a/docs/package.json b/docs/package.json index 7b7f17980..5ca818d9f 100644 --- a/docs/package.json +++ b/docs/package.json @@ -14,19 +14,19 @@ "write-heading-ids": "docusaurus write-heading-ids" }, "dependencies": { - "@docusaurus/core": "^3.1.0", - "@docusaurus/plugin-content-blog": "^3.1.0", - "@docusaurus/preset-classic": "^3.1.0", - "@easyops-cn/docusaurus-search-local": "^0.44.0", - "@mdx-js/react": "^3.0.0", + "@docusaurus/core": "^3.5.2", + "@docusaurus/plugin-content-blog": "^3.5.2", + "@docusaurus/preset-classic": "^3.5.2", + "@easyops-cn/docusaurus-search-local": "^0.44.5", + "@mdx-js/react": "^3.0.1", "@svgr/webpack": "^8.1.0", - "clsx": "^2.1.0", - "esbuild-loader": "^4.1.0", + "clsx": "^2.1.1", + "esbuild-loader": "^4.2.2", "file-loader": "^6.2.0", - "prism-react-renderer": "^2.3.1", + "prism-react-renderer": "^2.4.0", "react": "^18.3.1", - "react-dom": "^18.2.0", - "redocusaurus": "^2.0.2", + "react-dom": "^18.3.1", + "redocusaurus": "^2.1.2", "url-loader": "^4.1.1" }, "browserslist": { @@ -42,18 +42,19 @@ ] }, "devDependencies": { - "@docusaurus/module-type-aliases": "^3.1.0", + "@docusaurus/module-type-aliases": "^3.5.2", "@docusaurus/tsconfig": "3.5.2", - "@docusaurus/types": "^3.1.0", - "@types/node": "^20.11.30", - "@types/react": "^18.2.67", + "@docusaurus/types": "^3.5.2", + "@types/node": "^20.16.10", + "@types/react": "^18.3.11", "@types/react-helmet": "^6.1.11", "@types/react-router-dom": "^5.3.3", - "typescript": "^5.4.3" + "typescript": "^5.6.2" }, "pnpm": { "overrides": { - "got": "^14.0.0" + "got": "^14.0.0", + "path-to-regexp": "^3.3.0" } } } diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml index 7ebe00841..3172dc67b 100644 --- a/docs/pnpm-lock.yaml +++ b/docs/pnpm-lock.yaml @@ -6,69 +6,70 @@ settings: overrides: got: ^14.0.0 + path-to-regexp: ^3.3.0 importers: .: dependencies: '@docusaurus/core': - specifier: ^3.1.0 - version: 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + specifier: ^3.5.2 + version: 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(debug@4.3.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/plugin-content-blog': - specifier: ^3.1.0 - version: 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + specifier: ^3.5.2 + version: 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/preset-classic': - specifier: ^3.1.0 - version: 3.5.2(@algolia/client-search@4.24.0)(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)(typescript@5.5.4) + specifier: ^3.5.2 + version: 3.5.2(@algolia/client-search@4.24.0)(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)(typescript@5.6.2) '@easyops-cn/docusaurus-search-local': - specifier: ^0.44.0 - version: 0.44.5(@docusaurus/theme-common@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + specifier: ^0.44.5 + version: 0.44.5(@docusaurus/theme-common@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@mdx-js/react': - specifier: ^3.0.0 - version: 3.0.1(@types/react@18.3.3)(react@18.3.1) + specifier: ^3.0.1 + version: 3.0.1(@types/react@18.3.11)(react@18.3.1) '@svgr/webpack': specifier: ^8.1.0 - version: 8.1.0(typescript@5.5.4) + version: 8.1.0(typescript@5.6.2) clsx: - specifier: ^2.1.0 + specifier: ^2.1.1 version: 2.1.1 esbuild-loader: - specifier: ^4.1.0 - version: 4.2.2(webpack@5.93.0) + specifier: ^4.2.2 + version: 4.2.2(webpack@5.95.0) file-loader: specifier: ^6.2.0 - version: 6.2.0(webpack@5.93.0) + version: 6.2.0(webpack@5.95.0) prism-react-renderer: - specifier: ^2.3.1 - version: 2.3.1(react@18.3.1) + specifier: ^2.4.0 + version: 2.4.0(react@18.3.1) react: specifier: ^18.3.1 version: 18.3.1 react-dom: - specifier: ^18.2.0 + specifier: ^18.3.1 version: 18.3.1(react@18.3.1) redocusaurus: - specifier: ^2.0.2 - version: 2.1.1(@docusaurus/theme-common@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/utils@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4))(core-js@3.38.0)(enzyme@3.11.0)(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(webpack@5.93.0) + specifier: ^2.1.2 + version: 2.1.2(@docusaurus/theme-common@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/utils@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2))(core-js@3.38.1)(enzyme@3.11.0)(mobx@6.13.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(webpack@5.95.0) url-loader: specifier: ^4.1.1 - version: 4.1.1(file-loader@6.2.0(webpack@5.93.0))(webpack@5.93.0) + version: 4.1.1(file-loader@6.2.0(webpack@5.95.0))(webpack@5.95.0) devDependencies: '@docusaurus/module-type-aliases': - specifier: ^3.1.0 + specifier: ^3.5.2 version: 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/tsconfig': specifier: 3.5.2 version: 3.5.2 '@docusaurus/types': - specifier: ^3.1.0 + specifier: ^3.5.2 version: 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/node': - specifier: ^20.11.30 - version: 20.14.15 + specifier: ^20.16.10 + version: 20.16.10 '@types/react': - specifier: ^18.2.67 - version: 18.3.3 + specifier: ^18.3.11 + version: 18.3.11 '@types/react-helmet': specifier: ^6.1.11 version: 6.1.11 @@ -76,8 +77,8 @@ importers: specifier: ^5.3.3 version: 5.3.3 typescript: - specifier: ^5.4.3 - version: 5.5.4 + specifier: ^5.6.2 + version: 5.6.2 plugins/woodpecker-plugins: dependencies: @@ -99,7 +100,7 @@ importers: version: 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/theme-classic': specifier: ^3.3.2 - version: 3.5.2(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + version: 3.5.2(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/types': specifier: ^3.3.2 version: 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -202,42 +203,42 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@babel/code-frame@7.24.7': - resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} + '@babel/code-frame@7.25.7': + resolution: {integrity: sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.25.2': - resolution: {integrity: sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==} + '@babel/compat-data@7.25.7': + resolution: {integrity: sha512-9ickoLz+hcXCeh7jrcin+/SLWm+GkxE2kTvoYyp38p4WkdFXfQJxDFGWp/YHjiKLPx06z2A7W8XKuqbReXDzsw==} engines: {node: '>=6.9.0'} - '@babel/core@7.25.2': - resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} + '@babel/core@7.25.7': + resolution: {integrity: sha512-yJ474Zv3cwiSOO9nXJuqzvwEeM+chDuQ8GJirw+pZ91sCGCyOZ3dJkVE09fTV0VEVzXyLWhh3G/AolYTPX7Mow==} engines: {node: '>=6.9.0'} - '@babel/generator@7.25.0': - resolution: {integrity: sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==} + '@babel/generator@7.25.7': + resolution: {integrity: sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==} engines: {node: '>=6.9.0'} - '@babel/helper-annotate-as-pure@7.24.7': - resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} + '@babel/helper-annotate-as-pure@7.25.7': + resolution: {integrity: sha512-4xwU8StnqnlIhhioZf1tqnVWeQ9pvH/ujS8hRfw/WOza+/a+1qv69BWNy+oY231maTCWgKWhfBU7kDpsds6zAA==} engines: {node: '>=6.9.0'} - '@babel/helper-builder-binary-assignment-operator-visitor@7.24.7': - resolution: {integrity: sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==} + '@babel/helper-builder-binary-assignment-operator-visitor@7.25.7': + resolution: {integrity: sha512-12xfNeKNH7jubQNm7PAkzlLwEmCs1tfuX3UjIw6vP6QXi+leKh6+LyC/+Ed4EIQermwd58wsyh070yjDHFlNGg==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.25.2': - resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} + '@babel/helper-compilation-targets@7.25.7': + resolution: {integrity: sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A==} engines: {node: '>=6.9.0'} - '@babel/helper-create-class-features-plugin@7.25.0': - resolution: {integrity: sha512-GYM6BxeQsETc9mnct+nIIpf63SAyzvyYN7UB/IlTyd+MBg06afFGp0mIeUqGyWgS2mxad6vqbMrHVlaL3m70sQ==} + '@babel/helper-create-class-features-plugin@7.25.7': + resolution: {integrity: sha512-bD4WQhbkx80mAyj/WCm4ZHcF4rDxkoLFO6ph8/5/mQ3z4vAzltQXAmbc7GvVJx5H+lk5Mi5EmbTeox5nMGCsbw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-create-regexp-features-plugin@7.25.2': - resolution: {integrity: sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==} + '@babel/helper-create-regexp-features-plugin@7.25.7': + resolution: {integrity: sha512-byHhumTj/X47wJ6C6eLpK7wW/WBEcnUeb7D0FNc/jFQnQVw7DOso3Zz5u9x/zLrFVkHa89ZGDbkAa1D54NdrCQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -247,109 +248,103 @@ packages: peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - '@babel/helper-member-expression-to-functions@7.24.8': - resolution: {integrity: sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==} + '@babel/helper-member-expression-to-functions@7.25.7': + resolution: {integrity: sha512-O31Ssjd5K6lPbTX9AAYpSKrZmLeagt9uwschJd+Ixo6QiRyfpvgtVQp8qrDR9UNFjZ8+DO34ZkdrN+BnPXemeA==} engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.24.7': - resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} + '@babel/helper-module-imports@7.25.7': + resolution: {integrity: sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.25.2': - resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} + '@babel/helper-module-transforms@7.25.7': + resolution: {integrity: sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-optimise-call-expression@7.24.7': - resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==} + '@babel/helper-optimise-call-expression@7.25.7': + resolution: {integrity: sha512-VAwcwuYhv/AT+Vfr28c9y6SHzTan1ryqrydSTFGjU0uDJHw3uZ+PduI8plCLkRsDnqK2DMEDmwrOQRsK/Ykjng==} engines: {node: '>=6.9.0'} - '@babel/helper-plugin-utils@7.24.8': - resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==} + '@babel/helper-plugin-utils@7.25.7': + resolution: {integrity: sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==} engines: {node: '>=6.9.0'} - '@babel/helper-remap-async-to-generator@7.25.0': - resolution: {integrity: sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==} + '@babel/helper-remap-async-to-generator@7.25.7': + resolution: {integrity: sha512-kRGE89hLnPfcz6fTrlNU+uhgcwv0mBE4Gv3P9Ke9kLVJYpi4AMVVEElXvB5CabrPZW4nCM8P8UyyjrzCM0O2sw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-replace-supers@7.25.0': - resolution: {integrity: sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==} + '@babel/helper-replace-supers@7.25.7': + resolution: {integrity: sha512-iy8JhqlUW9PtZkd4pHM96v6BdJ66Ba9yWSE4z0W4TvSZwLBPkyDsiIU3ENe4SmrzRBs76F7rQXTy1lYC49n6Lw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-simple-access@7.24.7': - resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} + '@babel/helper-simple-access@7.25.7': + resolution: {integrity: sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==} engines: {node: '>=6.9.0'} - '@babel/helper-skip-transparent-expression-wrappers@7.24.7': - resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==} + '@babel/helper-skip-transparent-expression-wrappers@7.25.7': + resolution: {integrity: sha512-pPbNbchZBkPMD50K0p3JGcFMNLVUCuU/ABybm/PGNj4JiHrpmNyqqCphBk4i19xXtNV0JhldQJJtbSW5aUvbyA==} engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.24.8': - resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} + '@babel/helper-string-parser@7.25.7': + resolution: {integrity: sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.24.7': - resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + '@babel/helper-validator-identifier@7.25.7': + resolution: {integrity: sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.24.8': - resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} + '@babel/helper-validator-option@7.25.7': + resolution: {integrity: sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==} engines: {node: '>=6.9.0'} - '@babel/helper-wrap-function@7.25.0': - resolution: {integrity: sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==} + '@babel/helper-wrap-function@7.25.7': + resolution: {integrity: sha512-MA0roW3JF2bD1ptAaJnvcabsVlNQShUaThyJbCDD4bCp8NEgiFvpoqRI2YS22hHlc2thjO/fTg2ShLMC3jygAg==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.25.0': - resolution: {integrity: sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==} + '@babel/helpers@7.25.7': + resolution: {integrity: sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.24.7': - resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + '@babel/highlight@7.25.7': + resolution: {integrity: sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==} engines: {node: '>=6.9.0'} - '@babel/parser@7.25.3': - resolution: {integrity: sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==} + '@babel/parser@7.25.7': + resolution: {integrity: sha512-aZn7ETtQsjjGG5HruveUK06cU3Hljuhd9Iojm4M8WWv3wLE6OkE5PWbDUkItmMgegmccaITudyuW5RPYrYlgWw==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.0': - resolution: {integrity: sha512-dG0aApncVQwAUJa8tP1VHTnmU67BeIQvKafd3raEx315H54FfkZSz3B/TT+33ZQAjatGJA79gZqTtqL5QZUKXw==} + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.7': + resolution: {integrity: sha512-UV9Lg53zyebzD1DwQoT9mzkEKa922LNUp5YkTJ6Uta0RbyXaQNUgcvSt7qIu1PpPzVb6rd10OVNTzkyBGeVmxQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.3': - resolution: {integrity: sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==} + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.7': + resolution: {integrity: sha512-GDDWeVLNxRIkQTnJn2pDOM1pkCgYdSqPeT1a9vh9yIqu2uzzgw1zcqEb+IJOhy+dTBMlNdThrDIksr2o09qrrQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.0': - resolution: {integrity: sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==} + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.7': + resolution: {integrity: sha512-wxyWg2RYaSUYgmd9MR0FyRGyeOMQE/Uzr1wzd/g5cf5bwi9A4v6HFdDm7y1MgDtod/fLOSTZY6jDgV0xU9d5bA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.0': - resolution: {integrity: sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7': - resolution: {integrity: sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==} + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.7': + resolution: {integrity: sha512-Xwg6tZpLxc4iQjorYsyGMyfJE7nP5MV8t/Ka58BgiA7Jw0fRqQNcANlLfdJ/yvBt9z9LD2We+BEkT7vLqZRWng==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.0': - resolution: {integrity: sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==} + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.7': + resolution: {integrity: sha512-UVATLMidXrnH+GMUIuxq55nejlj02HP7F5ETyBONzP6G87fPBogG4CH6kxrSrdIuAjdwNO9VzyaYsrZPscWUrw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -386,14 +381,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-import-assertions@7.24.7': - resolution: {integrity: sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==} + '@babel/plugin-syntax-import-assertions@7.25.7': + resolution: {integrity: sha512-ZvZQRmME0zfJnDQnVBKYzHxXT7lYBB3Revz1GuS7oLXWMgqUPX4G+DDbT30ICClht9WKV34QVrZhSw6WdklwZQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-import-attributes@7.24.7': - resolution: {integrity: sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==} + '@babel/plugin-syntax-import-attributes@7.25.7': + resolution: {integrity: sha512-AqVo+dguCgmpi/3mYBdu9lkngOBlQ2w2vnNpa6gfiCxQZLzV4ZbhsXitJ2Yblkoe1VQwtHSaNmIaGll/26YWRw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -408,8 +403,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-jsx@7.24.7': - resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} + '@babel/plugin-syntax-jsx@7.25.7': + resolution: {integrity: sha512-ruZOnKO+ajVL/MVx+PwNBPOkrnXTXoWMtte1MBpegfCArhqOe3Bj52avVj1huLLxNKYKXYaSxZ2F+woK1ekXfw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -456,8 +451,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-typescript@7.24.7': - resolution: {integrity: sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==} + '@babel/plugin-syntax-typescript@7.25.7': + resolution: {integrity: sha512-rR+5FDjpCHqqZN2bzZm18bVYGaejGq5ZkpVCJLXor/+zlSrSoc4KWcHI0URVWjl/68Dyr1uwZUz/1njycEAv9g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -468,350 +463,344 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-transform-arrow-functions@7.24.7': - resolution: {integrity: sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==} + '@babel/plugin-transform-arrow-functions@7.25.7': + resolution: {integrity: sha512-EJN2mKxDwfOUCPxMO6MUI58RN3ganiRAG/MS/S3HfB6QFNjroAMelQo/gybyYq97WerCBAZoyrAoW8Tzdq2jWg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-async-generator-functions@7.25.0': - resolution: {integrity: sha512-uaIi2FdqzjpAMvVqvB51S42oC2JEVgh0LDsGfZVDysWE8LrJtQC2jvKmOqEYThKyB7bDEb7BP1GYWDm7tABA0Q==} + '@babel/plugin-transform-async-generator-functions@7.25.7': + resolution: {integrity: sha512-4B6OhTrwYKHYYgcwErvZjbmH9X5TxQBsaBHdzEIB4l71gR5jh/tuHGlb9in47udL2+wVUcOz5XXhhfhVJwEpEg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-async-to-generator@7.24.7': - resolution: {integrity: sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==} + '@babel/plugin-transform-async-to-generator@7.25.7': + resolution: {integrity: sha512-ZUCjAavsh5CESCmi/xCpX1qcCaAglzs/7tmuvoFnJgA1dM7gQplsguljoTg+Ru8WENpX89cQyAtWoaE0I3X3Pg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-block-scoped-functions@7.24.7': - resolution: {integrity: sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==} + '@babel/plugin-transform-block-scoped-functions@7.25.7': + resolution: {integrity: sha512-xHttvIM9fvqW+0a3tZlYcZYSBpSWzGBFIt/sYG3tcdSzBB8ZeVgz2gBP7Df+sM0N1850jrviYSSeUuc+135dmQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-block-scoping@7.25.0': - resolution: {integrity: sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==} + '@babel/plugin-transform-block-scoping@7.25.7': + resolution: {integrity: sha512-ZEPJSkVZaeTFG/m2PARwLZQ+OG0vFIhPlKHK/JdIMy8DbRJ/htz6LRrTFtdzxi9EHmcwbNPAKDnadpNSIW+Aow==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-class-properties@7.24.7': - resolution: {integrity: sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==} + '@babel/plugin-transform-class-properties@7.25.7': + resolution: {integrity: sha512-mhyfEW4gufjIqYFo9krXHJ3ElbFLIze5IDp+wQTxoPd+mwFb1NxatNAwmv8Q8Iuxv7Zc+q8EkiMQwc9IhyGf4g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-class-static-block@7.24.7': - resolution: {integrity: sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==} + '@babel/plugin-transform-class-static-block@7.25.7': + resolution: {integrity: sha512-rvUUtoVlkDWtDWxGAiiQj0aNktTPn3eFynBcMC2IhsXweehwgdI9ODe+XjWw515kEmv22sSOTp/rxIRuTiB7zg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 - '@babel/plugin-transform-classes@7.25.0': - resolution: {integrity: sha512-xyi6qjr/fYU304fiRwFbekzkqVJZ6A7hOjWZd+89FVcBqPV3S9Wuozz82xdpLspckeaafntbzglaW4pqpzvtSw==} + '@babel/plugin-transform-classes@7.25.7': + resolution: {integrity: sha512-9j9rnl+YCQY0IGoeipXvnk3niWicIB6kCsWRGLwX241qSXpbA4MKxtp/EdvFxsc4zI5vqfLxzOd0twIJ7I99zg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-computed-properties@7.24.7': - resolution: {integrity: sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==} + '@babel/plugin-transform-computed-properties@7.25.7': + resolution: {integrity: sha512-QIv+imtM+EtNxg/XBKL3hiWjgdLjMOmZ+XzQwSgmBfKbfxUjBzGgVPklUuE55eq5/uVoh8gg3dqlrwR/jw3ZeA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-destructuring@7.24.8': - resolution: {integrity: sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==} + '@babel/plugin-transform-destructuring@7.25.7': + resolution: {integrity: sha512-xKcfLTlJYUczdaM1+epcdh1UGewJqr9zATgrNHcLBcV2QmfvPPEixo/sK/syql9cEmbr7ulu5HMFG5vbbt/sEA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-dotall-regex@7.24.7': - resolution: {integrity: sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==} + '@babel/plugin-transform-dotall-regex@7.25.7': + resolution: {integrity: sha512-kXzXMMRzAtJdDEgQBLF4oaiT6ZCU3oWHgpARnTKDAqPkDJ+bs3NrZb310YYevR5QlRo3Kn7dzzIdHbZm1VzJdQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-duplicate-keys@7.24.7': - resolution: {integrity: sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==} + '@babel/plugin-transform-duplicate-keys@7.25.7': + resolution: {integrity: sha512-by+v2CjoL3aMnWDOyCIg+yxU9KXSRa9tN6MbqggH5xvymmr9p4AMjYkNlQy4brMceBnUyHZ9G8RnpvT8wP7Cfg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.0': - resolution: {integrity: sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==} + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.7': + resolution: {integrity: sha512-HvS6JF66xSS5rNKXLqkk7L9c/jZ/cdIVIcoPVrnl8IsVpLggTjXs8OWekbLHs/VtYDDh5WXnQyeE3PPUGm22MA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-transform-dynamic-import@7.24.7': - resolution: {integrity: sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==} + '@babel/plugin-transform-dynamic-import@7.25.7': + resolution: {integrity: sha512-UvcLuual4h7/GfylKm2IAA3aph9rwvAM2XBA0uPKU3lca+Maai4jBjjEVUS568ld6kJcgbouuumCBhMd/Yz17w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-exponentiation-operator@7.24.7': - resolution: {integrity: sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==} + '@babel/plugin-transform-exponentiation-operator@7.25.7': + resolution: {integrity: sha512-yjqtpstPfZ0h/y40fAXRv2snciYr0OAoMXY/0ClC7tm4C/nG5NJKmIItlaYlLbIVAWNfrYuy9dq1bE0SbX0PEg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-export-namespace-from@7.24.7': - resolution: {integrity: sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==} + '@babel/plugin-transform-export-namespace-from@7.25.7': + resolution: {integrity: sha512-h3MDAP5l34NQkkNulsTNyjdaR+OiB0Im67VU//sFupouP8Q6m9Spy7l66DcaAQxtmCqGdanPByLsnwFttxKISQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-for-of@7.24.7': - resolution: {integrity: sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==} + '@babel/plugin-transform-for-of@7.25.7': + resolution: {integrity: sha512-n/TaiBGJxYFWvpJDfsxSj9lEEE44BFM1EPGz4KEiTipTgkoFVVcCmzAL3qA7fdQU96dpo4gGf5HBx/KnDvqiHw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-function-name@7.25.1': - resolution: {integrity: sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==} + '@babel/plugin-transform-function-name@7.25.7': + resolution: {integrity: sha512-5MCTNcjCMxQ63Tdu9rxyN6cAWurqfrDZ76qvVPrGYdBxIj+EawuuxTu/+dgJlhK5eRz3v1gLwp6XwS8XaX2NiQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-json-strings@7.24.7': - resolution: {integrity: sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==} + '@babel/plugin-transform-json-strings@7.25.7': + resolution: {integrity: sha512-Ot43PrL9TEAiCe8C/2erAjXMeVSnE/BLEx6eyrKLNFCCw5jvhTHKyHxdI1pA0kz5njZRYAnMO2KObGqOCRDYSA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-literals@7.25.2': - resolution: {integrity: sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==} + '@babel/plugin-transform-literals@7.25.7': + resolution: {integrity: sha512-fwzkLrSu2fESR/cm4t6vqd7ebNIopz2QHGtjoU+dswQo/P6lwAG04Q98lliE3jkz/XqnbGFLnUcE0q0CVUf92w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-logical-assignment-operators@7.24.7': - resolution: {integrity: sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==} + '@babel/plugin-transform-logical-assignment-operators@7.25.7': + resolution: {integrity: sha512-iImzbA55BjiovLyG2bggWS+V+OLkaBorNvc/yJoeeDQGztknRnDdYfp2d/UPmunZYEnZi6Lg8QcTmNMHOB0lGA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-member-expression-literals@7.24.7': - resolution: {integrity: sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==} + '@babel/plugin-transform-member-expression-literals@7.25.7': + resolution: {integrity: sha512-Std3kXwpXfRV0QtQy5JJcRpkqP8/wG4XL7hSKZmGlxPlDqmpXtEPRmhF7ztnlTCtUN3eXRUJp+sBEZjaIBVYaw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-amd@7.24.7': - resolution: {integrity: sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==} + '@babel/plugin-transform-modules-amd@7.25.7': + resolution: {integrity: sha512-CgselSGCGzjQvKzghCvDTxKHP3iooenLpJDO842ehn5D2G5fJB222ptnDwQho0WjEvg7zyoxb9P+wiYxiJX5yA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-commonjs@7.24.8': - resolution: {integrity: sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==} + '@babel/plugin-transform-modules-commonjs@7.25.7': + resolution: {integrity: sha512-L9Gcahi0kKFYXvweO6n0wc3ZG1ChpSFdgG+eV1WYZ3/dGbJK7vvk91FgGgak8YwRgrCuihF8tE/Xg07EkL5COg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-systemjs@7.25.0': - resolution: {integrity: sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==} + '@babel/plugin-transform-modules-systemjs@7.25.7': + resolution: {integrity: sha512-t9jZIvBmOXJsiuyOwhrIGs8dVcD6jDyg2icw1VL4A/g+FnWyJKwUfSSU2nwJuMV2Zqui856El9u+ElB+j9fV1g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-umd@7.24.7': - resolution: {integrity: sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==} + '@babel/plugin-transform-modules-umd@7.25.7': + resolution: {integrity: sha512-p88Jg6QqsaPh+EB7I9GJrIqi1Zt4ZBHUQtjw3z1bzEXcLh6GfPqzZJ6G+G1HBGKUNukT58MnKG7EN7zXQBCODw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-named-capturing-groups-regex@7.24.7': - resolution: {integrity: sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==} + '@babel/plugin-transform-named-capturing-groups-regex@7.25.7': + resolution: {integrity: sha512-BtAT9LzCISKG3Dsdw5uso4oV1+v2NlVXIIomKJgQybotJY3OwCwJmkongjHgwGKoZXd0qG5UZ12JUlDQ07W6Ow==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-transform-new-target@7.24.7': - resolution: {integrity: sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==} + '@babel/plugin-transform-new-target@7.25.7': + resolution: {integrity: sha512-CfCS2jDsbcZaVYxRFo2qtavW8SpdzmBXC2LOI4oO0rP+JSRDxxF3inF4GcPsLgfb5FjkhXG5/yR/lxuRs2pySA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-nullish-coalescing-operator@7.24.7': - resolution: {integrity: sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==} + '@babel/plugin-transform-nullish-coalescing-operator@7.25.7': + resolution: {integrity: sha512-FbuJ63/4LEL32mIxrxwYaqjJxpbzxPVQj5a+Ebrc8JICV6YX8nE53jY+K0RZT3um56GoNWgkS2BQ/uLGTjtwfw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-numeric-separator@7.24.7': - resolution: {integrity: sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==} + '@babel/plugin-transform-numeric-separator@7.25.7': + resolution: {integrity: sha512-8CbutzSSh4hmD+jJHIA8vdTNk15kAzOnFLVVgBSMGr28rt85ouT01/rezMecks9pkU939wDInImwCKv4ahU4IA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-object-rest-spread@7.24.7': - resolution: {integrity: sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==} + '@babel/plugin-transform-object-rest-spread@7.25.7': + resolution: {integrity: sha512-1JdVKPhD7Y5PvgfFy0Mv2brdrolzpzSoUq2pr6xsR+m+3viGGeHEokFKsCgOkbeFOQxfB1Vt2F0cPJLRpFI4Zg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-object-super@7.24.7': - resolution: {integrity: sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==} + '@babel/plugin-transform-object-super@7.25.7': + resolution: {integrity: sha512-pWT6UXCEW3u1t2tcAGtE15ornCBvopHj9Bps9D2DsH15APgNVOTwwczGckX+WkAvBmuoYKRCFa4DK+jM8vh5AA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-optional-catch-binding@7.24.7': - resolution: {integrity: sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==} + '@babel/plugin-transform-optional-catch-binding@7.25.7': + resolution: {integrity: sha512-m9obYBA39mDPN7lJzD5WkGGb0GO54PPLXsbcnj1Hyeu8mSRz7Gb4b1A6zxNX32ZuUySDK4G6it8SDFWD1nCnqg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-optional-chaining@7.24.8': - resolution: {integrity: sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==} + '@babel/plugin-transform-optional-chaining@7.25.7': + resolution: {integrity: sha512-h39agClImgPWg4H8mYVAbD1qP9vClFbEjqoJmt87Zen8pjqK8FTPUwrOXAvqu5soytwxrLMd2fx2KSCp2CHcNg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-parameters@7.24.7': - resolution: {integrity: sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==} + '@babel/plugin-transform-parameters@7.25.7': + resolution: {integrity: sha512-FYiTvku63me9+1Nz7TOx4YMtW3tWXzfANZtrzHhUZrz4d47EEtMQhzFoZWESfXuAMMT5mwzD4+y1N8ONAX6lMQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-private-methods@7.24.7': - resolution: {integrity: sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==} + '@babel/plugin-transform-private-methods@7.25.7': + resolution: {integrity: sha512-KY0hh2FluNxMLwOCHbxVOKfdB5sjWG4M183885FmaqWWiGMhRZq4DQRKH6mHdEucbJnyDyYiZNwNG424RymJjA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-private-property-in-object@7.24.7': - resolution: {integrity: sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==} + '@babel/plugin-transform-private-property-in-object@7.25.7': + resolution: {integrity: sha512-LzA5ESzBy7tqj00Yjey9yWfs3FKy4EmJyKOSWld144OxkTji81WWnUT8nkLUn+imN/zHL8ZQlOu/MTUAhHaX3g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-property-literals@7.24.7': - resolution: {integrity: sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==} + '@babel/plugin-transform-property-literals@7.25.7': + resolution: {integrity: sha512-lQEeetGKfFi0wHbt8ClQrUSUMfEeI3MMm74Z73T9/kuz990yYVtfofjf3NuA42Jy3auFOpbjDyCSiIkTs1VIYw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-constant-elements@7.25.1': - resolution: {integrity: sha512-SLV/giH/V4SmloZ6Dt40HjTGTAIkxn33TVIHxNGNvo8ezMhrxBkzisj4op1KZYPIOHFLqhv60OHvX+YRu4xbmQ==} + '@babel/plugin-transform-react-constant-elements@7.25.7': + resolution: {integrity: sha512-/qXt69Em8HgsjCLu7G3zdIQn7A2QwmYND7Wa0LTp09Na+Zn8L5d0A7wSXrKi18TJRc/Q5S1i1De/SU1LzVkSvA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-display-name@7.24.7': - resolution: {integrity: sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==} + '@babel/plugin-transform-react-display-name@7.25.7': + resolution: {integrity: sha512-r0QY7NVU8OnrwE+w2IWiRom0wwsTbjx4+xH2RTd7AVdof3uurXOF+/mXHQDRk+2jIvWgSaCHKMgggfvM4dyUGA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-jsx-development@7.24.7': - resolution: {integrity: sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ==} + '@babel/plugin-transform-react-jsx-development@7.25.7': + resolution: {integrity: sha512-5yd3lH1PWxzW6IZj+p+Y4OLQzz0/LzlOG8vGqonHfVR3euf1vyzyMUJk9Ac+m97BH46mFc/98t9PmYLyvgL3qg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-jsx@7.25.2': - resolution: {integrity: sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA==} + '@babel/plugin-transform-react-jsx@7.25.7': + resolution: {integrity: sha512-vILAg5nwGlR9EXE8JIOX4NHXd49lrYbN8hnjffDtoULwpL9hUx/N55nqh2qd0q6FyNDfjl9V79ecKGvFbcSA0Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-pure-annotations@7.24.7': - resolution: {integrity: sha512-PLgBVk3fzbmEjBJ/u8kFzOqS9tUeDjiaWud/rRym/yjCo/M9cASPlnrd2ZmmZpQT40fOOrvR8jh+n8jikrOhNA==} + '@babel/plugin-transform-react-pure-annotations@7.25.7': + resolution: {integrity: sha512-6YTHJ7yjjgYqGc8S+CbEXhLICODk0Tn92j+vNJo07HFk9t3bjFgAKxPLFhHwF2NjmQVSI1zBRfBWUeVBa2osfA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-regenerator@7.24.7': - resolution: {integrity: sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==} + '@babel/plugin-transform-regenerator@7.25.7': + resolution: {integrity: sha512-mgDoQCRjrY3XK95UuV60tZlFCQGXEtMg8H+IsW72ldw1ih1jZhzYXbJvghmAEpg5UVhhnCeia1CkGttUvCkiMQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-reserved-words@7.24.7': - resolution: {integrity: sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==} + '@babel/plugin-transform-reserved-words@7.25.7': + resolution: {integrity: sha512-3OfyfRRqiGeOvIWSagcwUTVk2hXBsr/ww7bLn6TRTuXnexA+Udov2icFOxFX9abaj4l96ooYkcNN1qi2Zvqwng==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-runtime@7.24.7': - resolution: {integrity: sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw==} + '@babel/plugin-transform-runtime@7.25.7': + resolution: {integrity: sha512-Y9p487tyTzB0yDYQOtWnC+9HGOuogtP3/wNpun1xJXEEvI6vip59BSBTsHnekZLqxmPcgsrAKt46HAAb//xGhg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-shorthand-properties@7.24.7': - resolution: {integrity: sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==} + '@babel/plugin-transform-shorthand-properties@7.25.7': + resolution: {integrity: sha512-uBbxNwimHi5Bv3hUccmOFlUy3ATO6WagTApenHz9KzoIdn0XeACdB12ZJ4cjhuB2WSi80Ez2FWzJnarccriJeA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-spread@7.24.7': - resolution: {integrity: sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==} + '@babel/plugin-transform-spread@7.25.7': + resolution: {integrity: sha512-Mm6aeymI0PBh44xNIv/qvo8nmbkpZze1KvR8MkEqbIREDxoiWTi18Zr2jryfRMwDfVZF9foKh060fWgni44luw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-sticky-regex@7.24.7': - resolution: {integrity: sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==} + '@babel/plugin-transform-sticky-regex@7.25.7': + resolution: {integrity: sha512-ZFAeNkpGuLnAQ/NCsXJ6xik7Id+tHuS+NT+ue/2+rn/31zcdnupCdmunOizEaP0JsUmTFSTOPoQY7PkK2pttXw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-template-literals@7.24.7': - resolution: {integrity: sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==} + '@babel/plugin-transform-template-literals@7.25.7': + resolution: {integrity: sha512-SI274k0nUsFFmyQupiO7+wKATAmMFf8iFgq2O+vVFXZ0SV9lNfT1NGzBEhjquFmD8I9sqHLguH+gZVN3vww2AA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-typeof-symbol@7.24.8': - resolution: {integrity: sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==} + '@babel/plugin-transform-typeof-symbol@7.25.7': + resolution: {integrity: sha512-OmWmQtTHnO8RSUbL0NTdtpbZHeNTnm68Gj5pA4Y2blFNh+V4iZR68V1qL9cI37J21ZN7AaCnkfdHtLExQPf2uA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-typescript@7.25.2': - resolution: {integrity: sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==} + '@babel/plugin-transform-typescript@7.25.7': + resolution: {integrity: sha512-VKlgy2vBzj8AmEzunocMun2fF06bsSWV+FvVXohtL6FGve/+L217qhHxRTVGHEDO/YR8IANcjzgJsd04J8ge5Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-unicode-escapes@7.24.7': - resolution: {integrity: sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==} + '@babel/plugin-transform-unicode-escapes@7.25.7': + resolution: {integrity: sha512-BN87D7KpbdiABA+t3HbVqHzKWUDN3dymLaTnPFAMyc8lV+KN3+YzNhVRNdinaCPA4AUqx7ubXbQ9shRjYBl3SQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-unicode-property-regex@7.24.7': - resolution: {integrity: sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==} + '@babel/plugin-transform-unicode-property-regex@7.25.7': + resolution: {integrity: sha512-IWfR89zcEPQGB/iB408uGtSPlQd3Jpq11Im86vUgcmSTcoWAiQMCTOa2K2yNNqFJEBVICKhayctee65Ka8OB0w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-unicode-regex@7.24.7': - resolution: {integrity: sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==} + '@babel/plugin-transform-unicode-regex@7.25.7': + resolution: {integrity: sha512-8JKfg/hiuA3qXnlLx8qtv5HWRbgyFx2hMMtpDDuU2rTckpKkGu4ycK5yYHwuEa16/quXfoxHBIApEsNyMWnt0g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-unicode-sets-regex@7.24.7': - resolution: {integrity: sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==} + '@babel/plugin-transform-unicode-sets-regex@7.25.7': + resolution: {integrity: sha512-YRW8o9vzImwmh4Q3Rffd09bH5/hvY0pxg+1H1i0f7APoUeg12G7+HhLj9ZFNIrYkgBXhIijPJ+IXypN0hLTIbw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/preset-env@7.25.2': - resolution: {integrity: sha512-Y2Vkwy3ITW4id9c6KXshVV/x5yCGK7VdJmKkzOzNsDZMojRKfSA/033rRbLqlRozmhRXCejxWHLSJOg/wUHfzw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/preset-env@7.25.3': - resolution: {integrity: sha512-QsYW7UeAaXvLPX9tdVliMJE7MD7M6MLYVTovRTIwhoYQVFHR1rM4wO8wqAezYi3/BpSD+NzVCZ69R6smWiIi8g==} + '@babel/preset-env@7.25.7': + resolution: {integrity: sha512-Gibz4OUdyNqqLj+7OAvBZxOD7CklCtMA5/j0JgUEwOnaRULsPDXmic2iKxL2DX2vQduPR5wH2hjZas/Vr/Oc0g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -821,39 +810,40 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 - '@babel/preset-react@7.24.7': - resolution: {integrity: sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag==} + '@babel/preset-react@7.25.7': + resolution: {integrity: sha512-GjV0/mUEEXpi1U5ZgDprMRRgajGMRW3G5FjMr5KLKD8nT2fTG8+h/klV3+6Dm5739QE+K5+2e91qFKAYI3pmRg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/preset-typescript@7.24.7': - resolution: {integrity: sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==} + '@babel/preset-typescript@7.25.7': + resolution: {integrity: sha512-rkkpaXJZOFN45Fb+Gki0c+KMIglk4+zZXOoMJuyEK8y8Kkc8Jd3BDmP7qPsz0zQMJj+UD7EprF+AqAXcILnexw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/regjsgen@0.8.0': - resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} - - '@babel/runtime-corejs3@7.25.0': - resolution: {integrity: sha512-BOehWE7MgQ8W8Qn0CQnMtg2tHPHPulcS/5AVpFvs2KCK1ET+0WqZqPvnpRpFN81gYoFopdIEJX9Sgjw3ZBccPg==} + '@babel/runtime-corejs3@7.25.7': + resolution: {integrity: sha512-gMmIEhg35sXk9Te5qbGp3W9YKrvLt3HV658/d3odWrHSqT0JeG5OzsJWFHRLiOohRyjRsJc/x03DhJm3i8VJxg==} engines: {node: '>=6.9.0'} '@babel/runtime@7.25.0': resolution: {integrity: sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==} engines: {node: '>=6.9.0'} - '@babel/template@7.25.0': - resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} + '@babel/runtime@7.25.7': + resolution: {integrity: sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.25.3': - resolution: {integrity: sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==} + '@babel/template@7.25.7': + resolution: {integrity: sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==} engines: {node: '>=6.9.0'} - '@babel/types@7.25.2': - resolution: {integrity: sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==} + '@babel/traverse@7.25.7': + resolution: {integrity: sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.25.7': + resolution: {integrity: sha512-vwIVdXG+j+FOpkwqHRcBgHLYNL7XMkufrlaFvL9o6Ai9sJn9+PdyIL5qa0XzTZw084c+u9LOls53eoZWP/W5WQ==} engines: {node: '>=6.9.0'} '@cfaester/enzyme-adapter-react-18@0.8.0': @@ -871,11 +861,11 @@ packages: resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} engines: {node: '>=10.0.0'} - '@docsearch/css@3.6.1': - resolution: {integrity: sha512-VtVb5DS+0hRIprU2CO6ZQjK2Zg4QU5HrDM1+ix6rT0umsYvFvatMAnf97NHZlVWDaaLlx7GRfR/7FikANiM2Fg==} + '@docsearch/css@3.6.2': + resolution: {integrity: sha512-vKNZepO2j7MrYBTZIGXvlUOIR+v9KRf70FApRgovWrj3GTs1EITz/Xb0AOlm1xsQBp16clVZj1SY/qaOJbQtZw==} - '@docsearch/react@3.6.1': - resolution: {integrity: sha512-qXZkEPvybVhSXj0K7U3bXc233tk5e8PfhoZ6MhPOiik/qUQxYC+Dn9DnoS7CxHQQhHfCvTiN0eY9M12oRghEXw==} + '@docsearch/react@3.6.2': + resolution: {integrity: sha512-rtZce46OOkVflCQH71IdbXSFK+S8iJZlUF56XBW5rIgx/eG5qoomC7Ag3anZson1bBac/JFQn7XOBfved/IMRA==} peerDependencies: '@types/react': '>= 16.8.0 < 19.0.0' react: '>= 16.8.0 < 19.0.0' @@ -1058,11 +1048,11 @@ packages: react: ^16.14.0 || ^17 || ^18 react-dom: ^16.14.0 || 17 || ^18 - '@emnapi/core@1.2.0': - resolution: {integrity: sha512-E7Vgw78I93we4ZWdYCb4DGAwRROGkMIXk7/y87UmANR+J6qsWusmC3gLt0H+O0KOt5e6O38U8oJamgbudrES/w==} + '@emnapi/core@1.3.0': + resolution: {integrity: sha512-9hRqVlhwqBqCoToZ3hFcNVqL+uyHV06Y47ax4UB8L6XgVRqYz7MFnfessojo6+5TK89pKwJnpophwjTMOeKI9Q==} - '@emnapi/runtime@1.2.0': - resolution: {integrity: sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ==} + '@emnapi/runtime@1.3.0': + resolution: {integrity: sha512-XMBySMuNZs3DM96xcJmLW4EfGnf+uGmFNjzpehMjuX5PLB5j87ar2Zc4e3PVeZ3I5g3tYtAqskB28manlF69Zw==} '@emnapi/wasi-threads@1.0.1': resolution: {integrity: sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==} @@ -1264,8 +1254,8 @@ packages: '@types/react': '>=16' react: '>=16' - '@napi-rs/wasm-runtime@0.2.4': - resolution: {integrity: sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==} + '@napi-rs/wasm-runtime@0.2.5': + resolution: {integrity: sha512-kwUxR7J9WLutBbulqg1dfOrMTwhMdXLdcGUhcbCcGwnPLt3gz19uHVdwH1syKVDbE022ZS2vZxOWflFLS0YTjw==} '@node-rs/jieba-android-arm-eabi@1.10.3': resolution: {integrity: sha512-fuqVtaYlUKZg3cqagYFxj1DSa7ZHKXLle4iGH2kbQWg7Kw6cf7aCYBHIUZuH5sliK10M/CWccZ+SGRUwcSGfbg==} @@ -1378,11 +1368,11 @@ packages: resolution: {integrity: sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==} engines: {node: '>=12'} - '@polka/url@1.0.0-next.25': - resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} + '@polka/url@1.0.0-next.28': + resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==} - '@redocly/ajv@8.11.0': - resolution: {integrity: sha512-9GWx27t7xWhDIR02PA18nzBdLcKQRgc46xNQvjFkrYk4UOmvKhJ/dawwiX0cCOeetN5LcaaiqQbVOWYK62SGHw==} + '@redocly/ajv@8.11.2': + resolution: {integrity: sha512-io1JpnwtIcvojV7QKDUSIuMN/ikdOUd1ReEnUnMKGfDVridQZ31J0MmIuqwuRjWDZfmvr+Q0MqCcfHM2gTivOg==} '@redocly/config@0.6.3': resolution: {integrity: sha512-hGWJgCsXRw0Ow4rplqRlUQifZvoSwZipkYnt11e3SeH1Eb23VUIDBcRuaQOUqy1wn0eevXkU2GzzQ8fbKdQ7Mg==} @@ -1410,8 +1400,8 @@ packages: resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} engines: {node: '>=10'} - '@sindresorhus/is@7.0.0': - resolution: {integrity: sha512-WDTlVTyvFivSOuyvMeedzg2hdoBLZ3f1uNVuEida2Rl9BrfjrIRjWA/VZIrMRLvSwJYCAlCRA3usDt1THytxWQ==} + '@sindresorhus/is@7.0.1': + resolution: {integrity: sha512-QWLl2P+rsCJeofkDNIT3WFmb6NrRud1SUYW8dIhXK/46XFV8Q/g7Bsvib0Askb0reRLe+WYPeeE+l5cH7SlkuQ==} engines: {node: '>=18'} '@slorber/remark-comment@1.0.0': @@ -1530,20 +1520,17 @@ packages: '@types/dompurify@3.0.5': resolution: {integrity: sha512-1Wg0g3BtQF7sSb27fJQAKck1HECM6zV1EB66j8JH9i3LCjYabJa0FSdiSgsD5K/RbrsR0SiraKacLB+T8ZVYAg==} - '@types/eslint-scope@3.7.7': - resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} - - '@types/eslint@9.6.0': - resolution: {integrity: sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg==} - '@types/estree-jsx@1.0.5': resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} - '@types/estree@1.0.5': - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + '@types/estree@1.0.6': + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} - '@types/express-serve-static-core@4.19.5': - resolution: {integrity: sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==} + '@types/express-serve-static-core@4.19.6': + resolution: {integrity: sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==} + + '@types/express-serve-static-core@5.0.0': + resolution: {integrity: sha512-AbXMTZGt40T+KON9/Fdxx0B2WK5hsgxcfXJLr5bFpZ7b4JCex2WyQPTEKdXqfHiY5nKKBScZ7yCoO6Pvgxfvnw==} '@types/express@4.17.21': resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} @@ -1602,17 +1589,20 @@ packages: '@types/node@20.14.15': resolution: {integrity: sha512-Fz1xDMCF/B00/tYSVMlmK7hVeLh7jE5f3B7X1/hmV0MJBwE27KlS7EvD/Yp+z1lm8mVhwV5w+n8jOZG8AfTlKw==} + '@types/node@20.16.10': + resolution: {integrity: sha512-vQUKgWTjEIRFCvK6CyriPH3MZYiYlNy0fKiEYHWbcoWLEgs4opurGGKlebrTLqdSMIbXImH6XExNiIyNUv3WpA==} + '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} '@types/prismjs@1.26.4': resolution: {integrity: sha512-rlAnzkW2sZOjbqZ743IHUhFcvzaGbqijwOu8QZnZCjfQzBqFE3s4lOTJEsxikImav9uzz/42I+O7YUs1mWgMlg==} - '@types/prop-types@15.7.12': - resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} + '@types/prop-types@15.7.13': + resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} - '@types/qs@6.9.15': - resolution: {integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==} + '@types/qs@6.9.16': + resolution: {integrity: sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==} '@types/range-parser@1.2.7': resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} @@ -1629,8 +1619,8 @@ packages: '@types/react-router@5.1.20': resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==} - '@types/react@18.3.3': - resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} + '@types/react@18.3.11': + resolution: {integrity: sha512-r6QZ069rFTjrEYgFdOck1gK7FLVsgJE7tTz0pQBczlBNUhBNk0MQH4UbnFSwjpQLMkLzgqvBBa+qGpLje16eTQ==} '@types/retry@0.12.0': resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} @@ -1739,8 +1729,8 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn-walk@8.3.3: - resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==} + acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} acorn@8.12.1: @@ -1784,8 +1774,8 @@ packages: ajv@8.17.1: resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} - algoliasearch-helper@3.22.3: - resolution: {integrity: sha512-2eoEz8mG4KHE+DzfrBTrCmDPxVXv7aZZWPojAJFtARpxxMO6lkos1dJ+XDCXdPvq7q3tpYWRi6xXmVQikejtpA==} + algoliasearch-helper@3.22.5: + resolution: {integrity: sha512-lWvhdnc+aKOKx8jyA3bsdEgHzm/sglC4cYdMG4xSQyRiPLJVJtH/IVYZG3Hp6PkTEhQqhyVYkeP9z2IlcHJsWw==} peerDependencies: algoliasearch: '>= 3.1 < 6' @@ -1804,8 +1794,8 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} engines: {node: '>=12'} ansi-styles@3.2.1: @@ -1856,8 +1846,8 @@ packages: resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} engines: {node: '>= 0.4'} - astring@1.8.6: - resolution: {integrity: sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==} + astring@1.9.0: + resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} hasBin: true asynckit@0.4.0: @@ -1881,8 +1871,8 @@ packages: axios@1.7.4: resolution: {integrity: sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==} - babel-loader@9.1.3: - resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} + babel-loader@9.2.1: + resolution: {integrity: sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==} engines: {node: '>= 14.15.0'} peerDependencies: '@babel/core': ^7.12.0 @@ -1896,11 +1886,6 @@ packages: peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - babel-plugin-polyfill-corejs3@0.10.4: - resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - babel-plugin-polyfill-corejs3@0.10.6: resolution: {integrity: sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==} peerDependencies: @@ -1927,8 +1912,8 @@ packages: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} - body-parser@1.20.2: - resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} + body-parser@1.20.3: + resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} bonjour-service@1.2.1: @@ -1955,13 +1940,8 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.23.2: - resolution: {integrity: sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - - browserslist@4.23.3: - resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} + browserslist@4.24.0: + resolution: {integrity: sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -2012,8 +1992,8 @@ packages: caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} - caniuse-lite@1.0.30001651: - resolution: {integrity: sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==} + caniuse-lite@1.0.30001667: + resolution: {integrity: sha512-7LTwJjcRkzKFmtqGsibMeuXmvFDfZq/nzIjnmgCGzKKRVzjD72selLDK1oPF/Oxzmt4fNcPvTDvGqSDG4tCALw==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -2224,17 +2204,14 @@ packages: peerDependencies: webpack: ^5.1.0 - core-js-compat@3.37.1: - resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==} + core-js-compat@3.38.1: + resolution: {integrity: sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==} - core-js-compat@3.38.0: - resolution: {integrity: sha512-75LAicdLa4OJVwFxFbQR3NdnZjNgX6ILpVcVzcC4T2smerB5lELMrJQQQoWV6TiuC/vlaFqgU2tKQx9w5s0e0A==} + core-js-pure@3.38.1: + resolution: {integrity: sha512-BY8Etc1FZqdw1glX0XNOq2FDwfrg/VGqoZOZCdaL+UmdaqDwQwYXkMJT4t6In+zfEfOJDcM9T0KdbBeJg8KKCQ==} - core-js-pure@3.38.0: - resolution: {integrity: sha512-8balb/HAXo06aHP58mZMtXgD8vcnXz9tUDePgqBgJgKdmTlMt+jw3ujqniuBDQXMvTzxnMpxHFeuSM3g1jWQuQ==} - - core-js@3.38.0: - resolution: {integrity: sha512-XPpwqEodRljce9KswjZShh95qJ1URisBeKCjUdq27YdenkslVe7OO0ZJhlYXAChW7OhXaRLl8AAba7IBfoIHug==} + core-js@3.38.1: + resolution: {integrity: sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==} core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} @@ -2408,6 +2385,15 @@ packages: supports-color: optional: true + debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + decimal.js@10.4.3: resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} @@ -2506,8 +2492,8 @@ packages: peerDependencies: '@docusaurus/utils': ^3.0.0 - docusaurus-theme-redoc@2.1.1: - resolution: {integrity: sha512-a9yuYyGVhj7NgBYiqJyjLEkJg/yTdsqg9Rn/cG8YXMIFwxIpn4tanIplUqwisK2PS81ZxOv7SfSgvGm/FSi/wA==} + docusaurus-theme-redoc@2.1.2: + resolution: {integrity: sha512-UB6g+YDPjVgFMhJnIUaW/mNl9vsCMbrMQutgdoG5DaI+HpxO2sV+zT2z23Wg6ngi2GM+oxEhYf5Qc1dPwKZqBQ==} engines: {node: '>=18'} peerDependencies: '@docusaurus/theme-common': ^3.0.0 @@ -2536,6 +2522,9 @@ packages: dompurify@3.1.6: resolution: {integrity: sha512-cTOAhc36AalkjtBpfG6O8JimdTMWNXjiePT2xQH/ppBGi/4uIpmj8eKyIkMJErXWARyINV/sB38yf8JCLF5pbQ==} + dompurify@3.1.7: + resolution: {integrity: sha512-VaTstWtsneJY8xzy7DekmYWEOZcmzIe3Qb3zPd4STve1OBTa+e+WmS1ITQec1fZYXI3HCsOZZiSMpG6oxoWMWQ==} + domutils@2.8.0: resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} @@ -2558,11 +2547,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.3: - resolution: {integrity: sha512-QNdYSS5i8D9axWp/6XIezRObRHqaav/ur9z1VzCDUCH1XIFOr9WQk5xmgunhsTpjjgDy3oLxO/WMOVZlpUQrlA==} - - electron-to-chromium@1.5.8: - resolution: {integrity: sha512-4Nx0gP2tPNBLTrFxBMHpkQbtn2hidPVr/+/FTtcCiBYTucqc70zRyVZiOLj17Ui3wTO7SQ1/N+hkHYzJjBzt6A==} + electron-to-chromium@1.5.32: + resolution: {integrity: sha512-M+7ph0VGBQqqpTT2YrabjNKSQ2fEl9PVx6AK3N558gDH9NO8O6XN9SXXFWRo9u9PbEg/bWq+tjXQr+eXmxubCw==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -2584,6 +2570,10 @@ packages: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + encoding-sniffer@0.2.0: resolution: {integrity: sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg==} @@ -2657,6 +2647,10 @@ packages: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + escape-goat@4.0.0: resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==} engines: {node: '>=12'} @@ -2748,8 +2742,8 @@ packages: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} - express@4.19.2: - resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} + express@4.21.0: + resolution: {integrity: sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==} engines: {node: '>= 0.10.0'} extend-shallow@2.0.1: @@ -2772,8 +2766,8 @@ packages: fast-safe-stringify@2.1.1: resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - fast-uri@3.0.1: - resolution: {integrity: sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==} + fast-uri@3.0.2: + resolution: {integrity: sha512-GR6f0hD7XXyNJa25Tb9BuIdN0tdr+0BMi6/CJPH3wJO1JjNG3n/VsSw38AwRdKZABm8lGbPfakLRkYzx2V9row==} fast-url-parser@1.1.3: resolution: {integrity: sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==} @@ -2806,8 +2800,8 @@ packages: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - finalhandler@1.2.0: - resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} + finalhandler@1.3.1: + resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} engines: {node: '>= 0.8'} find-cache-dir@4.0.0: @@ -2839,6 +2833,15 @@ packages: debug: optional: true + follow-redirects@1.15.9: + resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} @@ -2946,8 +2949,8 @@ packages: resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} - get-tsconfig@4.7.6: - resolution: {integrity: sha512-ZAqrLlu18NbDdRaHq+AKXzAmqIUPswPWKUchfytdAjiRFnCe5ojG2bstg6mRiZabkKfCoL/e98pbBELIV/YCeA==} + get-tsconfig@4.8.1: + resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==} github-slugger@1.5.0: resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} @@ -3263,8 +3266,8 @@ packages: inline-style-parser@0.1.1: resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} - inline-style-parser@0.2.3: - resolution: {integrity: sha512-qlD8YNDqyTKTyuITrDOffsl6Tdhv+UC4hcdAVuQsK4IMQ99nSgd1MIA/Q+jQYoh9r3hVUXhYh7urSRmXPkW04g==} + inline-style-parser@0.2.4: + resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==} internal-slot@1.0.7: resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} @@ -3317,8 +3320,8 @@ packages: resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} hasBin: true - is-core-module@2.15.0: - resolution: {integrity: sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==} + is-core-module@2.15.1: + resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} engines: {node: '>= 0.4'} is-data-view@1.0.1: @@ -3463,9 +3466,6 @@ packages: resolution: {integrity: sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==} engines: {node: '>=12'} - isarray@0.0.1: - resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} - isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} @@ -3526,13 +3526,9 @@ packages: canvas: optional: true - jsesc@0.5.0: - resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} - hasBin: true - - jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} + jsesc@3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} hasBin: true json-buffer@3.0.1: @@ -3576,8 +3572,8 @@ packages: resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} engines: {node: '>=14.16'} - launch-editor@2.8.1: - resolution: {integrity: sha512-elBx2l/tp9z99X5H/qev8uyDywVh0VXAwEbjk8kJhnc5grOFkGh7aW6q55me9xnYbss261XtnUrysZ+XvGbhQA==} + launch-editor@2.9.1: + resolution: {integrity: sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==} leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} @@ -3690,8 +3686,8 @@ packages: mdast-util-frontmatter@2.0.1: resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==} - mdast-util-gfm-autolink-literal@2.0.0: - resolution: {integrity: sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==} + mdast-util-gfm-autolink-literal@2.0.1: + resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} mdast-util-gfm-footnote@2.0.0: resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} @@ -3708,11 +3704,11 @@ packages: mdast-util-gfm@3.0.0: resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} - mdast-util-mdx-expression@2.0.0: - resolution: {integrity: sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==} + mdast-util-mdx-expression@2.0.1: + resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==} - mdast-util-mdx-jsx@3.1.2: - resolution: {integrity: sha512-eKMQDeywY2wlHc97k5eD8VC+9ASMjN8ItEZQNGwJ6E0XWKiW/Z0V5/H8pvoXUf+y+Mj0VIgeRRbujBmFn4FTyA==} + mdast-util-mdx-jsx@3.1.3: + resolution: {integrity: sha512-bfOjvNt+1AcbPLTFMFWY149nJz0OjmewJs3LQQ5pIyVGxP4CdOqNVJL6kTaM5c68p8q82Xv3nCyFfUnuEcH3UQ==} mdast-util-mdx@3.0.0: resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} @@ -3746,8 +3742,8 @@ packages: resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} engines: {node: '>= 4.0.0'} - merge-descriptors@1.0.1: - resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + merge-descriptors@1.0.3: + resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -3763,8 +3759,8 @@ packages: micromark-core-commonmark@2.0.1: resolution: {integrity: sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==} - micromark-extension-directive@3.0.1: - resolution: {integrity: sha512-VGV2uxUzhEZmaP7NSFo2vtq7M2nUD+WfmYQD+d8i/1nHbzE+rMy9uzTvUybBbNiVbrhOZibg3gbyoARGqgDWyg==} + micromark-extension-directive@3.0.2: + resolution: {integrity: sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==} micromark-extension-frontmatter@2.0.0: resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==} @@ -3793,8 +3789,8 @@ packages: micromark-extension-mdx-expression@3.0.0: resolution: {integrity: sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==} - micromark-extension-mdx-jsx@3.0.0: - resolution: {integrity: sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==} + micromark-extension-mdx-jsx@3.0.1: + resolution: {integrity: sha512-vNuFb9czP8QCtAQcEJn0UJQJZA8Dk6DXKBqx+bg/w0WGuSxDxNr7hErW89tHUY31dUW4NqEOWwmEUNhjTFmHkg==} micromark-extension-mdx-md@2.0.0: resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} @@ -3811,8 +3807,8 @@ packages: micromark-factory-label@2.0.0: resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} - micromark-factory-mdx-expression@2.0.1: - resolution: {integrity: sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==} + micromark-factory-mdx-expression@2.0.2: + resolution: {integrity: sha512-5E5I2pFzJyg2CtemqAbcyCktpHXuJbABnsb32wX2U8IQKhhVFBqkcZR5LRm1WVoFqa4kTueZK4abep7wdo9nrw==} micromark-factory-space@1.1.0: resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} @@ -3883,8 +3879,8 @@ packages: micromark@4.0.0: resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} - micromatch@4.0.7: - resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} mime-db@1.33.0: @@ -3924,8 +3920,8 @@ packages: resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - mini-css-extract-plugin@2.9.0: - resolution: {integrity: sha512-Zs1YsZVfemekSZG+44vBsYTLQORkPMwnlv+aehcxK/NLKC+EGhDB39/YePYYqx/sTk6NnYpuqikhSn7+JIevTA==} + mini-css-extract-plugin@2.9.1: + resolution: {integrity: sha512-+Vyi+GCCOHnrJ2VPS+6aPoXN2k2jgUzDRhTFLjjTBn23qyXJXkjUWQgTL+mXpF5/A8ixLdCc6kWsoeOjKGejKQ==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 @@ -3969,8 +3965,8 @@ packages: react-native: optional: true - mobx@6.13.1: - resolution: {integrity: sha512-ekLRxgjWJr8hVxj9ZKuClPwM/iHckx3euIJ3Np7zLVNtqJvfbbq7l370W/98C8EabdQ1pB5Jd3BbDWxJPNnaOg==} + mobx@6.13.3: + resolution: {integrity: sha512-YtAS+ZMbdpbHYUU4ESht3na8KiX11KuMT1yOiKtbKlQ0GZkHDYPKyEw/Tdp7h7aHyLrTWj2TBaSNJ6bCr638iQ==} moo@0.5.2: resolution: {integrity: sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==} @@ -4242,14 +4238,8 @@ packages: path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - path-to-regexp@0.1.7: - resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} - - path-to-regexp@1.8.0: - resolution: {integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==} - - path-to-regexp@2.2.1: - resolution: {integrity: sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==} + path-to-regexp@3.3.0: + resolution: {integrity: sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==} path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} @@ -4264,8 +4254,8 @@ packages: periscopic@3.1.0: resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} - picocolors@1.0.1: - resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} @@ -4472,6 +4462,11 @@ packages: peerDependencies: postcss: ^8.4.31 + postcss-prefix-selector@1.16.1: + resolution: {integrity: sha512-Umxu+FvKMwlY6TyDzGFoSUnzW+NOfMBLyC1tAkIjgX+Z/qGspJeRjVC903D7mx7TuBpJlwti2ibXtWuA7fKMeQ==} + peerDependencies: + postcss: '>4 <9' + postcss-reduce-idents@6.0.3: resolution: {integrity: sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==} engines: {node: ^14 || ^16 || >=18.0} @@ -4529,6 +4524,10 @@ packages: resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==} engines: {node: ^10 || ^12 || >=14} + postcss@8.4.47: + resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} + engines: {node: ^10 || ^12 || >=14} + pretty-error@4.0.0: resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} @@ -4536,8 +4535,8 @@ packages: resolution: {integrity: sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==} engines: {node: '>=4'} - prism-react-renderer@2.3.1: - resolution: {integrity: sha512-Rdf+HzBLR7KYjzpJ1rSoxT9ioO85nZngQEoFIhL07XhtJHlCU3SOz0GJ6+qvMyQe0Se+BV3qpe6Yd/NmQF5Juw==} + prism-react-renderer@2.4.0: + resolution: {integrity: sha512-327BsVCD/unU4CNLZTWVHyUHKnsqcvj2qbPlQ8MiBE2eq2rgctjigPA1Gp9HLF83kZ20zNN6jgizHJeEsyFYOw==} peerDependencies: react: '>=16.0.0' @@ -4582,8 +4581,8 @@ packages: resolution: {integrity: sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==} engines: {node: '>=12.20'} - qs@6.11.0: - resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} + qs@6.13.0: + resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} engines: {node: '>=0.6'} querystringify@2.2.0: @@ -4666,8 +4665,8 @@ packages: react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - react-json-view-lite@1.4.0: - resolution: {integrity: sha512-wh6F6uJyYAmQ4fK0e8dSQMEWuvTs2Wr3el3sLD9bambX1+pSWUVXIz1RFaoy3TI1mZ0FqdpKq9YgbgTTgyrmXA==} + react-json-view-lite@1.5.0: + resolution: {integrity: sha512-nWqA1E4jKPklL2jvHWs6s+7Na0qNgw9HCP6xehdQJeg6nPBTFZgGwyko9Q0oj+jQWKTTVRS30u0toM5wiuL3iw==} engines: {node: '>=14'} peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -4741,8 +4740,8 @@ packages: react-dom: ^16.8.4 || ^17.0.0 || ^18.0.0 styled-components: ^4.1.1 || ^5.1.1 || ^6.0.5 - redocusaurus@2.1.1: - resolution: {integrity: sha512-uaiuSsty0TcYuibabEw72DzN5JL6eF9KTIR5dL61qP7smFwIY8THEsNogzKTfcKCb6MJ8ug4vohrnrANn3K3cg==} + redocusaurus@2.1.2: + resolution: {integrity: sha512-PqMXxmjAyQ78zdI9W5lUI21a9N9bXDQYj5NuTcjG5xmyn63+KfqF+ugmqh7FbY3Fr9Sud14X6ZDoRGdwVtBDew==} engines: {node: '>=14'} peerDependencies: '@docusaurus/theme-common': ^3.0.0 @@ -4751,8 +4750,8 @@ packages: reftools@1.1.9: resolution: {integrity: sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w==} - regenerate-unicode-properties@10.1.1: - resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} + regenerate-unicode-properties@10.2.0: + resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==} engines: {node: '>=4'} regenerate@1.4.2: @@ -4764,12 +4763,12 @@ packages: regenerator-transform@0.15.2: resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} - regexp.prototype.flags@1.5.2: - resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} + regexp.prototype.flags@1.5.3: + resolution: {integrity: sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==} engines: {node: '>= 0.4'} - regexpu-core@5.3.2: - resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} + regexpu-core@6.1.1: + resolution: {integrity: sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw==} engines: {node: '>=4'} registry-auth-token@5.0.2: @@ -4780,8 +4779,11 @@ packages: resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==} engines: {node: '>=12'} - regjsparser@0.9.1: - resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} + regjsgen@0.8.0: + resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} + + regjsparser@0.11.0: + resolution: {integrity: sha512-vTbzVAjQDzwQdKuvj7qEq6OlAprCjE656khuGQ4QaBLg7abQ9I9ISpmLuc6inWe7zP75AECjqUa4g4sdQvOXhg==} hasBin: true rehype-raw@7.0.0: @@ -4810,8 +4812,8 @@ packages: remark-parse@11.0.0: resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} - remark-rehype@11.1.0: - resolution: {integrity: sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==} + remark-rehype@11.1.1: + resolution: {integrity: sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==} remark-stringify@11.0.0: resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} @@ -4960,8 +4962,8 @@ packages: engines: {node: '>=10'} hasBin: true - send@0.18.0: - resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + send@0.19.0: + resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} engines: {node: '>= 0.8.0'} serialize-javascript@6.0.2: @@ -4974,8 +4976,8 @@ packages: resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} engines: {node: '>= 0.8.0'} - serve-static@1.15.0: - resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + serve-static@1.16.2: + resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} engines: {node: '>= 0.8.0'} set-function-length@1.2.2: @@ -5081,8 +5083,8 @@ packages: source-list-map@2.0.1: resolution: {integrity: sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==} - source-map-js@1.2.0: - resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} source-map-support@0.5.21: @@ -5189,11 +5191,11 @@ packages: style-to-object@0.4.4: resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} - style-to-object@1.0.6: - resolution: {integrity: sha512-khxq+Qm3xEyZfKd/y9L3oIWQimxuc4STrQKtQn8aSDRHb8mFgpukgX1hdzfrMEW6JCjyJ8p89x+IUMVnCBI1PA==} + style-to-object@1.0.8: + resolution: {integrity: sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==} - styled-components@6.1.12: - resolution: {integrity: sha512-n/O4PzRPhbYI0k1vKKayfti3C/IGcPf+DqcrOB7O/ab9x4u/zjqraneT5N45+sIe87cxrCApXM8Bna7NYxwoTA==} + styled-components@6.1.13: + resolution: {integrity: sha512-M0+N2xSnAtwcVAQeFEsGWFFxXDftHUD7XrKla06QbpUMmbmtFBMMTcKWvFXtWxuD5qQkB8iU5gk6QASlx2ZRMw==} engines: {node: '>= 16'} peerDependencies: react: '>= 16.8.0' @@ -5263,8 +5265,8 @@ packages: uglify-js: optional: true - terser@5.31.6: - resolution: {integrity: sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==} + terser@5.34.1: + resolution: {integrity: sha512-FsJZ7iZLd/BXkz+4xrRTGJ26o/6VTjQytUk8b8OxkwcD2I+79VPJlz7qss1+zE7h8GNIScFqXcDyJ/KqBYZFVA==} engines: {node: '>=10'} hasBin: true @@ -5323,6 +5325,9 @@ packages: tslib@2.6.3: resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} + tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} + type-fest@1.4.0: resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} engines: {node: '>=10'} @@ -5331,8 +5336,8 @@ packages: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} - type-fest@4.24.0: - resolution: {integrity: sha512-spAaHzc6qre0TlZQQ2aA/nGMe+2Z/wyGk5Z+Ru2VUfdNwT6kWO6TjevOlpebsATEG1EIQ2sOiDszud3lO5mt/Q==} + type-fest@4.26.1: + resolution: {integrity: sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==} engines: {node: '>=16'} type-is@1.6.18: @@ -5363,18 +5368,26 @@ packages: engines: {node: '>=14.17'} hasBin: true + typescript@5.6.2: + resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==} + engines: {node: '>=14.17'} + hasBin: true + unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - undici@6.19.7: - resolution: {integrity: sha512-HR3W/bMGPSr90i8AAp2C4DM3wChFdJPLrWYpIS++LxS8K+W535qftjt+4MyjNYHeWabMj1nvtmLIi7l++iq91A==} + undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + + undici@6.19.8: + resolution: {integrity: sha512-U8uCCl2x9TK3WANvmBavymRzxbfFYG+tAu+fgx3zxQy3qdagQqBLwJVrdyO1TBfUXvfKveMKJZhpvUYoOjM+4g==} engines: {node: '>=18.17'} - unicode-canonical-property-names-ecmascript@2.0.0: - resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + unicode-canonical-property-names-ecmascript@2.0.1: + resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} engines: {node: '>=4'} unicode-emoji-modifier-base@1.0.0: @@ -5385,8 +5398,8 @@ packages: resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} engines: {node: '>=4'} - unicode-match-property-value-ecmascript@2.1.0: - resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + unicode-match-property-value-ecmascript@2.2.0: + resolution: {integrity: sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==} engines: {node: '>=4'} unicode-property-aliases-ecmascript@2.1.0: @@ -5409,9 +5422,6 @@ packages: unist-util-position@5.0.0: resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} - unist-util-remove-position@5.0.0: - resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==} - unist-util-stringify-position@4.0.0: resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} @@ -5433,8 +5443,8 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - update-browserslist-db@1.1.0: - resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} + update-browserslist-db@1.1.1: + resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -5443,6 +5453,9 @@ packages: resolution: {integrity: sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==} engines: {node: '>=14.16'} + uri-js-replace@1.0.1: + resolution: {integrity: sha512-W+C9NWNLFOoBI2QWDp4UT9pv65r2w5Cx+3sTYFvtMdDBxkKt1syCqsUdSFAChbEe1uK5TfS04wt/nGwmaeIQ0g==} + uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} @@ -5498,8 +5511,8 @@ packages: vfile-message@4.0.2: resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} - vfile@6.0.2: - resolution: {integrity: sha512-zND7NlS8rJYb/sPqkb13ZvbbUoExdbi4w3SfRrMq6R3FvnLQmmfpajJNITuuYm6AZ5uao9vy4BAos3EXBPf2rg==} + vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} w3c-xmlserializer@5.0.0: resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} @@ -5557,8 +5570,8 @@ packages: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} - webpack@5.93.0: - resolution: {integrity: sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==} + webpack@5.95.0: + resolution: {integrity: sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -5823,957 +5836,862 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - '@babel/code-frame@7.24.7': + '@babel/code-frame@7.25.7': dependencies: - '@babel/highlight': 7.24.7 - picocolors: 1.0.1 + '@babel/highlight': 7.25.7 + picocolors: 1.1.0 - '@babel/compat-data@7.25.2': {} + '@babel/compat-data@7.25.7': {} - '@babel/core@7.25.2': + '@babel/core@7.25.7': dependencies: '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.0 - '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) - '@babel/helpers': 7.25.0 - '@babel/parser': 7.25.3 - '@babel/template': 7.25.0 - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/code-frame': 7.25.7 + '@babel/generator': 7.25.7 + '@babel/helper-compilation-targets': 7.25.7 + '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.7) + '@babel/helpers': 7.25.7 + '@babel/parser': 7.25.7 + '@babel/template': 7.25.7 + '@babel/traverse': 7.25.7 + '@babel/types': 7.25.7 convert-source-map: 2.0.0 - debug: 4.3.6 + debug: 4.3.7 gensync: 1.0.0-beta.2 json5: 2.2.3 - semver: 7.6.3 + semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/generator@7.25.0': + '@babel/generator@7.25.7': dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.25.7 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - jsesc: 2.5.2 + jsesc: 3.0.2 - '@babel/helper-annotate-as-pure@7.24.7': + '@babel/helper-annotate-as-pure@7.25.7': dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.25.7 - '@babel/helper-builder-binary-assignment-operator-visitor@7.24.7': + '@babel/helper-builder-binary-assignment-operator-visitor@7.25.7': dependencies: - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.7 + '@babel/types': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/helper-compilation-targets@7.25.2': + '@babel/helper-compilation-targets@7.25.7': dependencies: - '@babel/compat-data': 7.25.2 - '@babel/helper-validator-option': 7.24.8 - browserslist: 4.23.2 + '@babel/compat-data': 7.25.7 + '@babel/helper-validator-option': 7.25.7 + browserslist: 4.24.0 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-create-class-features-plugin@7.25.0(@babel/core@7.25.2)': + '@babel/helper-create-class-features-plugin@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-member-expression-to-functions': 7.24.8 - '@babel/helper-optimise-call-expression': 7.24.7 - '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/traverse': 7.25.3 + '@babel/core': 7.25.7 + '@babel/helper-annotate-as-pure': 7.25.7 + '@babel/helper-member-expression-to-functions': 7.25.7 + '@babel/helper-optimise-call-expression': 7.25.7 + '@babel/helper-replace-supers': 7.25.7(@babel/core@7.25.7) + '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 + '@babel/traverse': 7.25.7 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/helper-create-regexp-features-plugin@7.25.2(@babel/core@7.25.2)': + '@babel/helper-create-regexp-features-plugin@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.24.7 - regexpu-core: 5.3.2 + '@babel/core': 7.25.7 + '@babel/helper-annotate-as-pure': 7.25.7 + regexpu-core: 6.1.1 semver: 6.3.1 - '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.25.2)': + '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - debug: 4.3.6 + '@babel/core': 7.25.7 + '@babel/helper-compilation-targets': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + debug: 4.3.7 lodash.debounce: 4.0.8 resolve: 1.22.8 transitivePeerDependencies: - supports-color - '@babel/helper-member-expression-to-functions@7.24.8': + '@babel/helper-member-expression-to-functions@7.25.7': dependencies: - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.7 + '@babel/types': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/helper-module-imports@7.24.7': + '@babel/helper-module-imports@7.25.7': dependencies: - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.7 + '@babel/types': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)': + '@babel/helper-module-transforms@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-module-imports': 7.24.7 - '@babel/helper-simple-access': 7.24.7 - '@babel/helper-validator-identifier': 7.24.7 - '@babel/traverse': 7.25.3 + '@babel/core': 7.25.7 + '@babel/helper-module-imports': 7.25.7 + '@babel/helper-simple-access': 7.25.7 + '@babel/helper-validator-identifier': 7.25.7 + '@babel/traverse': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/helper-optimise-call-expression@7.24.7': + '@babel/helper-optimise-call-expression@7.25.7': dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.25.7 - '@babel/helper-plugin-utils@7.24.8': {} + '@babel/helper-plugin-utils@7.25.7': {} - '@babel/helper-remap-async-to-generator@7.25.0(@babel/core@7.25.2)': + '@babel/helper-remap-async-to-generator@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-wrap-function': 7.25.0 - '@babel/traverse': 7.25.3 + '@babel/core': 7.25.7 + '@babel/helper-annotate-as-pure': 7.25.7 + '@babel/helper-wrap-function': 7.25.7 + '@babel/traverse': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/helper-replace-supers@7.25.0(@babel/core@7.25.2)': + '@babel/helper-replace-supers@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-member-expression-to-functions': 7.24.8 - '@babel/helper-optimise-call-expression': 7.24.7 - '@babel/traverse': 7.25.3 + '@babel/core': 7.25.7 + '@babel/helper-member-expression-to-functions': 7.25.7 + '@babel/helper-optimise-call-expression': 7.25.7 + '@babel/traverse': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/helper-simple-access@7.24.7': + '@babel/helper-simple-access@7.25.7': dependencies: - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.7 + '@babel/types': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/helper-skip-transparent-expression-wrappers@7.24.7': + '@babel/helper-skip-transparent-expression-wrappers@7.25.7': dependencies: - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.7 + '@babel/types': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/helper-string-parser@7.24.8': {} + '@babel/helper-string-parser@7.25.7': {} - '@babel/helper-validator-identifier@7.24.7': {} + '@babel/helper-validator-identifier@7.25.7': {} - '@babel/helper-validator-option@7.24.8': {} + '@babel/helper-validator-option@7.25.7': {} - '@babel/helper-wrap-function@7.25.0': + '@babel/helper-wrap-function@7.25.7': dependencies: - '@babel/template': 7.25.0 - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/template': 7.25.7 + '@babel/traverse': 7.25.7 + '@babel/types': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/helpers@7.25.0': + '@babel/helpers@7.25.7': dependencies: - '@babel/template': 7.25.0 - '@babel/types': 7.25.2 + '@babel/template': 7.25.7 + '@babel/types': 7.25.7 - '@babel/highlight@7.24.7': + '@babel/highlight@7.25.7': dependencies: - '@babel/helper-validator-identifier': 7.24.7 + '@babel/helper-validator-identifier': 7.25.7 chalk: 2.4.2 js-tokens: 4.0.0 - picocolors: 1.0.1 + picocolors: 1.1.0 - '@babel/parser@7.25.3': + '@babel/parser@7.25.7': dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.25.7 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.0(@babel/core@7.25.2)': + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/traverse': 7.25.3 + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/traverse': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.3(@babel/core@7.25.2)': + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/traverse': 7.25.3 + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.7(@babel/core@7.25.7)': + dependencies: + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.7(@babel/core@7.25.7)': + dependencies: + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 + '@babel/plugin-transform-optional-chaining': 7.25.7(@babel/core@7.25.7) transitivePeerDependencies: - supports-color - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.0(@babel/core@7.25.2)': + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.0(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/traverse': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.0(@babel/core@7.25.2)': + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/traverse': 7.25.3 + '@babel/core': 7.25.7 + + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.25.7)': + dependencies: + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.25.7)': + dependencies: + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.25.7)': + dependencies: + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.25.7)': + dependencies: + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + + '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.25.7)': + dependencies: + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + + '@babel/plugin-syntax-import-assertions@7.25.7(@babel/core@7.25.7)': + dependencies: + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + + '@babel/plugin-syntax-import-attributes@7.25.7(@babel/core@7.25.7)': + dependencies: + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.25.7)': + dependencies: + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.25.7)': + dependencies: + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + + '@babel/plugin-syntax-jsx@7.25.7(@babel/core@7.25.7)': + dependencies: + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.25.7)': + dependencies: + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.25.7)': + dependencies: + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.25.7)': + dependencies: + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.25.7)': + dependencies: + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.25.7)': + dependencies: + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.25.7)': + dependencies: + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.25.7)': + dependencies: + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.25.7)': + dependencies: + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + + '@babel/plugin-syntax-typescript@7.25.7(@babel/core@7.25.7)': + dependencies: + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.25.7)': + dependencies: + '@babel/core': 7.25.7 + '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.7) + '@babel/helper-plugin-utils': 7.25.7 + + '@babel/plugin-transform-arrow-functions@7.25.7(@babel/core@7.25.7)': + dependencies: + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + + '@babel/plugin-transform-async-generator-functions@7.25.7(@babel/core@7.25.7)': + dependencies: + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-remap-async-to-generator': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.7) + '@babel/traverse': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.2)': + '@babel/plugin-transform-async-to-generator@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-import-assertions@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-transform-async-generator-functions@7.25.0(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) - '@babel/traverse': 7.25.3 + '@babel/core': 7.25.7 + '@babel/helper-module-imports': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-remap-async-to-generator': 7.25.7(@babel/core@7.25.7) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-async-to-generator@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-block-scoped-functions@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-module-imports': 7.24.7 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.25.2) + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + + '@babel/plugin-transform-block-scoping@7.25.7(@babel/core@7.25.7)': + dependencies: + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + + '@babel/plugin-transform-class-properties@7.25.7(@babel/core@7.25.7)': + dependencies: + '@babel/core': 7.25.7 + '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.7) + '@babel/helper-plugin-utils': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-block-scoped-functions@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-class-static-block@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-transform-block-scoping@7.25.0(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-transform-class-properties@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/core': 7.25.7 + '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.7) + '@babel/helper-plugin-utils': 7.25.7 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.7) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-class-static-block@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-classes@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-classes@7.25.0(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) - '@babel/traverse': 7.25.3 + '@babel/core': 7.25.7 + '@babel/helper-annotate-as-pure': 7.25.7 + '@babel/helper-compilation-targets': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-replace-supers': 7.25.7(@babel/core@7.25.7) + '@babel/traverse': 7.25.7 globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-computed-properties@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/template': 7.25.0 + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/template': 7.25.7 - '@babel/plugin-transform-destructuring@7.24.8(@babel/core@7.25.2)': + '@babel/plugin-transform-destructuring@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-transform-dotall-regex@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-dotall-regex@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/core': 7.25.7 + '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.7) + '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-duplicate-keys@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.0(@babel/core@7.25.2)': + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/core': 7.25.7 + '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.7) + '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-transform-dynamic-import@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-dynamic-import@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.7) - '@babel/plugin-transform-exponentiation-operator@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-exponentiation-operator@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/core': 7.25.7 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-export-namespace-from@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-export-namespace-from@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.2) + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.7) - '@babel/plugin-transform-for-of@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-for-of@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-function-name@7.25.1(@babel/core@7.25.2)': + '@babel/plugin-transform-function-name@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/traverse': 7.25.3 + '@babel/core': 7.25.7 + '@babel/helper-compilation-targets': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/traverse': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-json-strings@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-json-strings@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.7) - '@babel/plugin-transform-literals@7.25.2(@babel/core@7.25.2)': + '@babel/plugin-transform-literals@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-transform-logical-assignment-operators@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-logical-assignment-operators@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.7) - '@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-member-expression-literals@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-transform-modules-amd@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-modules-amd@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/core': 7.25.7 + '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.7) + '@babel/helper-plugin-utils': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-commonjs@7.24.8(@babel/core@7.25.2)': + '@babel/plugin-transform-modules-commonjs@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-simple-access': 7.24.7 + '@babel/core': 7.25.7 + '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.7) + '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-simple-access': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-systemjs@7.25.0(@babel/core@7.25.2)': + '@babel/plugin-transform-modules-systemjs@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-validator-identifier': 7.24.7 - '@babel/traverse': 7.25.3 + '@babel/core': 7.25.7 + '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.7) + '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-validator-identifier': 7.25.7 + '@babel/traverse': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-umd@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-modules-umd@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/core': 7.25.7 + '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.7) + '@babel/helper-plugin-utils': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-named-capturing-groups-regex@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-named-capturing-groups-regex@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/core': 7.25.7 + '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.7) + '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-transform-new-target@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-new-target@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-transform-nullish-coalescing-operator@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-nullish-coalescing-operator@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.7) - '@babel/plugin-transform-numeric-separator@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-numeric-separator@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.7) - '@babel/plugin-transform-object-rest-spread@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-object-rest-spread@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) + '@babel/core': 7.25.7 + '@babel/helper-compilation-targets': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.7) + '@babel/plugin-transform-parameters': 7.25.7(@babel/core@7.25.7) - '@babel/plugin-transform-object-super@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-object-super@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-replace-supers': 7.25.7(@babel/core@7.25.7) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-optional-catch-binding@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-optional-catch-binding@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.7) - '@babel/plugin-transform-optional-chaining@7.24.8(@babel/core@7.25.2)': + '@babel/plugin-transform-optional-chaining@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.7) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-parameters@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-parameters@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-transform-private-methods@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-private-methods@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/core': 7.25.7 + '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.7) + '@babel/helper-plugin-utils': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-private-property-in-object@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-private-property-in-object@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) + '@babel/core': 7.25.7 + '@babel/helper-annotate-as-pure': 7.25.7 + '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.7) + '@babel/helper-plugin-utils': 7.25.7 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.7) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-property-literals@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-transform-react-constant-elements@7.25.1(@babel/core@7.25.2)': + '@babel/plugin-transform-react-constant-elements@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-transform-react-display-name@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-react-display-name@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-transform-react-jsx-development@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-react-jsx-development@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2) + '@babel/core': 7.25.7 + '@babel/plugin-transform-react-jsx': 7.25.7(@babel/core@7.25.7) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-react-jsx@7.25.2(@babel/core@7.25.2)': + '@babel/plugin-transform-react-jsx@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-module-imports': 7.24.7 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) - '@babel/types': 7.25.2 + '@babel/core': 7.25.7 + '@babel/helper-annotate-as-pure': 7.25.7 + '@babel/helper-module-imports': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/plugin-syntax-jsx': 7.25.7(@babel/core@7.25.7) + '@babel/types': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-react-pure-annotations@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-react-pure-annotations@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/core': 7.25.7 + '@babel/helper-annotate-as-pure': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-regenerator@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 regenerator-transform: 0.15.2 - '@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-reserved-words@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-transform-runtime@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-runtime@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-module-imports': 7.24.7 - '@babel/helper-plugin-utils': 7.24.8 - babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.2) - babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.25.2) - babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.2) + '@babel/core': 7.25.7 + '@babel/helper-module-imports': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.7) + babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.25.7) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.7) semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-shorthand-properties@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-transform-spread@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-spread@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-sticky-regex@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-template-literals@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-transform-typeof-symbol@7.24.8(@babel/core@7.25.2)': + '@babel/plugin-transform-typeof-symbol@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-transform-typescript@7.25.2(@babel/core@7.25.2)': + '@babel/plugin-transform-typescript@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.25.2) + '@babel/core': 7.25.7 + '@babel/helper-annotate-as-pure': 7.25.7 + '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.7) + '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 + '@babel/plugin-syntax-typescript': 7.25.7(@babel/core@7.25.7) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-unicode-escapes@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-unicode-escapes@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-transform-unicode-property-regex@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-unicode-property-regex@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/core': 7.25.7 + '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.7) + '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-unicode-regex@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/core': 7.25.7 + '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.7) + '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-transform-unicode-sets-regex@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-unicode-sets-regex@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/core': 7.25.7 + '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.7) + '@babel/helper-plugin-utils': 7.25.7 - '@babel/preset-env@7.25.2(@babel/core@7.25.2)': + '@babel/preset-env@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/compat-data': 7.25.2 - '@babel/core': 7.25.2 - '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-validator-option': 7.24.8 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.2) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.2) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-import-assertions': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.25.2) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.25.2) - '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-async-generator-functions': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-block-scoping': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-transform-class-properties': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-class-static-block': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-classes': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-destructuring': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-duplicate-keys': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-transform-dynamic-import': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-exponentiation-operator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-function-name': 7.25.1(@babel/core@7.25.2) - '@babel/plugin-transform-json-strings': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-literals': 7.25.2(@babel/core@7.25.2) - '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-member-expression-literals': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-modules-amd': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-modules-systemjs': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-transform-modules-umd': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-new-target': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-object-super': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-private-methods': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-property-literals': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-reserved-words': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-typeof-symbol': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-property-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-sets-regex': 7.24.7(@babel/core@7.25.2) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.25.2) - babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.2) - babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.25.2) - babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.2) - core-js-compat: 3.37.1 + '@babel/compat-data': 7.25.7 + '@babel/core': 7.25.7 + '@babel/helper-compilation-targets': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-validator-option': 7.25.7 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.7) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.7) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.7) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.7) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.7) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.7) + '@babel/plugin-syntax-import-assertions': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-syntax-import-attributes': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.7) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.7) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.7) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.7) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.7) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.7) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.7) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.7) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.7) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.25.7) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.25.7) + '@babel/plugin-transform-arrow-functions': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-async-generator-functions': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-async-to-generator': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-block-scoped-functions': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-block-scoping': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-class-properties': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-class-static-block': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-classes': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-computed-properties': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-destructuring': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-dotall-regex': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-duplicate-keys': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-dynamic-import': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-exponentiation-operator': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-export-namespace-from': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-for-of': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-function-name': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-json-strings': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-literals': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-logical-assignment-operators': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-member-expression-literals': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-modules-amd': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-modules-commonjs': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-modules-systemjs': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-modules-umd': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-named-capturing-groups-regex': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-new-target': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-nullish-coalescing-operator': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-numeric-separator': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-object-rest-spread': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-object-super': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-optional-catch-binding': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-optional-chaining': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-parameters': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-private-methods': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-private-property-in-object': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-property-literals': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-regenerator': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-reserved-words': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-shorthand-properties': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-spread': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-sticky-regex': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-template-literals': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-typeof-symbol': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-unicode-escapes': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-unicode-property-regex': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-unicode-regex': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-unicode-sets-regex': 7.25.7(@babel/core@7.25.7) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.25.7) + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.7) + babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.25.7) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.7) + core-js-compat: 3.38.1 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/preset-env@7.25.3(@babel/core@7.25.2)': + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.25.7)': dependencies: - '@babel/compat-data': 7.25.2 - '@babel/core': 7.25.2 - '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-validator-option': 7.24.8 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.3(@babel/core@7.25.2) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.2) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.2) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-import-assertions': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.25.2) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.25.2) - '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-async-generator-functions': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-block-scoping': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-transform-class-properties': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-class-static-block': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-classes': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-destructuring': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-duplicate-keys': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-transform-dynamic-import': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-exponentiation-operator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-function-name': 7.25.1(@babel/core@7.25.2) - '@babel/plugin-transform-json-strings': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-literals': 7.25.2(@babel/core@7.25.2) - '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-member-expression-literals': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-modules-amd': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-modules-systemjs': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-transform-modules-umd': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-new-target': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-object-super': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-private-methods': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-property-literals': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-reserved-words': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-typeof-symbol': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-property-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-sets-regex': 7.24.7(@babel/core@7.25.2) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.25.2) - babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.2) - babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.25.2) - babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.2) - core-js-compat: 3.38.0 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/types': 7.25.2 + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/types': 7.25.7 esutils: 2.0.3 - '@babel/preset-react@7.24.7(@babel/core@7.25.2)': + '@babel/preset-react@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-validator-option': 7.24.8 - '@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2) - '@babel/plugin-transform-react-jsx-development': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-react-pure-annotations': 7.24.7(@babel/core@7.25.2) + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-validator-option': 7.25.7 + '@babel/plugin-transform-react-display-name': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-react-jsx': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-react-jsx-development': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-react-pure-annotations': 7.25.7(@babel/core@7.25.7) transitivePeerDependencies: - supports-color - '@babel/preset-typescript@7.24.7(@babel/core@7.25.2)': + '@babel/preset-typescript@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-validator-option': 7.24.8 - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2) + '@babel/core': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-validator-option': 7.25.7 + '@babel/plugin-syntax-jsx': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-modules-commonjs': 7.25.7(@babel/core@7.25.7) + '@babel/plugin-transform-typescript': 7.25.7(@babel/core@7.25.7) transitivePeerDependencies: - supports-color - '@babel/regjsgen@0.8.0': {} - - '@babel/runtime-corejs3@7.25.0': + '@babel/runtime-corejs3@7.25.7': dependencies: - core-js-pure: 3.38.0 + core-js-pure: 3.38.1 regenerator-runtime: 0.14.1 '@babel/runtime@7.25.0': dependencies: regenerator-runtime: 0.14.1 - '@babel/template@7.25.0': + '@babel/runtime@7.25.7': dependencies: - '@babel/code-frame': 7.24.7 - '@babel/parser': 7.25.3 - '@babel/types': 7.25.2 + regenerator-runtime: 0.14.1 - '@babel/traverse@7.25.3': + '@babel/template@7.25.7': dependencies: - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.0 - '@babel/parser': 7.25.3 - '@babel/template': 7.25.0 - '@babel/types': 7.25.2 - debug: 4.3.6 + '@babel/code-frame': 7.25.7 + '@babel/parser': 7.25.7 + '@babel/types': 7.25.7 + + '@babel/traverse@7.25.7': + dependencies: + '@babel/code-frame': 7.25.7 + '@babel/generator': 7.25.7 + '@babel/parser': 7.25.7 + '@babel/template': 7.25.7 + '@babel/types': 7.25.7 + debug: 4.3.7 globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/types@7.25.2': + '@babel/types@7.25.7': dependencies: - '@babel/helper-string-parser': 7.24.8 - '@babel/helper-validator-identifier': 7.24.7 + '@babel/helper-string-parser': 7.25.7 + '@babel/helper-validator-identifier': 7.25.7 to-fast-properties: 2.0.0 '@cfaester/enzyme-adapter-react-18@0.8.0(enzyme@3.11.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': @@ -6792,43 +6710,43 @@ snapshots: '@discoveryjs/json-ext@0.5.7': {} - '@docsearch/css@3.6.1': {} + '@docsearch/css@3.6.2': {} - '@docsearch/react@3.6.1(@algolia/client-search@4.24.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)': + '@docsearch/react@3.6.2(@algolia/client-search@4.24.0)(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)': dependencies: '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.15.0) '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0) - '@docsearch/css': 3.6.1 + '@docsearch/css': 3.6.2 algoliasearch: 4.24.0 optionalDependencies: - '@types/react': 18.3.3 + '@types/react': 18.3.11 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) search-insights: 2.15.0 transitivePeerDependencies: - '@algolia/client-search' - '@docusaurus/core@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/core@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(debug@4.3.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': dependencies: - '@babel/core': 7.25.2 - '@babel/generator': 7.25.0 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-transform-runtime': 7.24.7(@babel/core@7.25.2) - '@babel/preset-env': 7.25.3(@babel/core@7.25.2) - '@babel/preset-react': 7.24.7(@babel/core@7.25.2) - '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2) - '@babel/runtime': 7.25.0 - '@babel/runtime-corejs3': 7.25.0 - '@babel/traverse': 7.25.3 + '@babel/core': 7.25.7 + '@babel/generator': 7.25.7 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.7) + '@babel/plugin-transform-runtime': 7.25.7(@babel/core@7.25.7) + '@babel/preset-env': 7.25.7(@babel/core@7.25.7) + '@babel/preset-react': 7.25.7(@babel/core@7.25.7) + '@babel/preset-typescript': 7.25.7(@babel/core@7.25.7) + '@babel/runtime': 7.25.7 + '@babel/runtime-corejs3': 7.25.7 + '@babel/traverse': 7.25.7 '@docusaurus/cssnano-preset': 3.5.2 '@docusaurus/logger': 3.5.2 - '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - '@mdx-js/react': 3.0.1(@types/react@18.3.3)(react@18.3.1) - autoprefixer: 10.4.20(postcss@8.4.41) - babel-loader: 9.1.3(@babel/core@7.25.2)(webpack@5.93.0) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@mdx-js/react': 3.0.1(@types/react@18.3.11)(react@18.3.1) + autoprefixer: 10.4.20(postcss@8.4.47) + babel-loader: 9.2.1(@babel/core@7.25.7)(webpack@5.95.0) babel-plugin-dynamic-import-node: 2.3.3 boxen: 6.2.1 chalk: 4.1.2 @@ -6837,34 +6755,34 @@ snapshots: cli-table3: 0.6.5 combine-promises: 1.2.0 commander: 5.1.0 - copy-webpack-plugin: 11.0.0(webpack@5.93.0) - core-js: 3.38.0 - css-loader: 6.11.0(webpack@5.93.0) - css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(webpack@5.93.0) - cssnano: 6.1.2(postcss@8.4.41) + copy-webpack-plugin: 11.0.0(webpack@5.95.0) + core-js: 3.38.1 + css-loader: 6.11.0(webpack@5.95.0) + css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(webpack@5.95.0) + cssnano: 6.1.2(postcss@8.4.47) del: 6.1.1 detect-port: 1.6.1 escape-html: 1.0.3 eta: 2.2.0 eval: 0.1.8 - file-loader: 6.2.0(webpack@5.93.0) + file-loader: 6.2.0(webpack@5.95.0) fs-extra: 11.2.0 html-minifier-terser: 7.2.0 html-tags: 3.3.1 - html-webpack-plugin: 5.6.0(webpack@5.93.0) + html-webpack-plugin: 5.6.0(webpack@5.95.0) leven: 3.1.0 lodash: 4.17.21 - mini-css-extract-plugin: 2.9.0(webpack@5.93.0) + mini-css-extract-plugin: 2.9.1(webpack@5.95.0) p-map: 4.0.0 - postcss: 8.4.41 - postcss-loader: 7.3.4(postcss@8.4.41)(typescript@5.5.4)(webpack@5.93.0) + postcss: 8.4.47 + postcss-loader: 7.3.4(postcss@8.4.47)(typescript@5.6.2)(webpack@5.95.0) prompts: 2.4.2 react: 18.3.1 - react-dev-utils: 12.0.1(typescript@5.5.4)(webpack@5.93.0) + react-dev-utils: 12.0.1(typescript@5.6.2)(webpack@5.95.0) react-dom: 18.3.1(react@18.3.1) react-helmet-async: 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)' - react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.93.0) + react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.95.0) react-router: 5.3.4(react@18.3.1) react-router-config: 5.1.1(react-router@5.3.4(react@18.3.1))(react@18.3.1) react-router-dom: 5.3.4(react@18.3.1) @@ -6872,15 +6790,199 @@ snapshots: semver: 7.6.3 serve-handler: 6.1.5 shelljs: 0.8.5 - terser-webpack-plugin: 5.3.10(webpack@5.93.0) - tslib: 2.6.3 + terser-webpack-plugin: 5.3.10(webpack@5.95.0) + tslib: 2.7.0 update-notifier: 6.0.2 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.93.0))(webpack@5.93.0) - webpack: 5.93.0 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.95.0))(webpack@5.95.0) + webpack: 5.95.0 webpack-bundle-analyzer: 4.10.2 - webpack-dev-server: 4.15.2(debug@4.3.6)(webpack@5.93.0) + webpack-dev-server: 4.15.2(debug@4.3.7)(webpack@5.95.0) webpack-merge: 5.10.0 - webpackbar: 5.0.2(webpack@5.93.0) + webpackbar: 5.0.2(webpack@5.95.0) + transitivePeerDependencies: + - '@docusaurus/types' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/core@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + dependencies: + '@babel/core': 7.25.7 + '@babel/generator': 7.25.7 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.7) + '@babel/plugin-transform-runtime': 7.25.7(@babel/core@7.25.7) + '@babel/preset-env': 7.25.7(@babel/core@7.25.7) + '@babel/preset-react': 7.25.7(@babel/core@7.25.7) + '@babel/preset-typescript': 7.25.7(@babel/core@7.25.7) + '@babel/runtime': 7.25.7 + '@babel/runtime-corejs3': 7.25.7 + '@babel/traverse': 7.25.7 + '@docusaurus/cssnano-preset': 3.5.2 + '@docusaurus/logger': 3.5.2 + '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@mdx-js/react': 3.0.1(@types/react@18.3.11)(react@18.3.1) + autoprefixer: 10.4.20(postcss@8.4.47) + babel-loader: 9.2.1(@babel/core@7.25.7)(webpack@5.95.0) + babel-plugin-dynamic-import-node: 2.3.3 + boxen: 6.2.1 + chalk: 4.1.2 + chokidar: 3.6.0 + clean-css: 5.3.3 + cli-table3: 0.6.5 + combine-promises: 1.2.0 + commander: 5.1.0 + copy-webpack-plugin: 11.0.0(webpack@5.95.0) + core-js: 3.38.1 + css-loader: 6.11.0(webpack@5.95.0) + css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(webpack@5.95.0) + cssnano: 6.1.2(postcss@8.4.47) + del: 6.1.1 + detect-port: 1.6.1 + escape-html: 1.0.3 + eta: 2.2.0 + eval: 0.1.8 + file-loader: 6.2.0(webpack@5.95.0) + fs-extra: 11.2.0 + html-minifier-terser: 7.2.0 + html-tags: 3.3.1 + html-webpack-plugin: 5.6.0(webpack@5.95.0) + leven: 3.1.0 + lodash: 4.17.21 + mini-css-extract-plugin: 2.9.1(webpack@5.95.0) + p-map: 4.0.0 + postcss: 8.4.47 + postcss-loader: 7.3.4(postcss@8.4.47)(typescript@5.5.4)(webpack@5.95.0) + prompts: 2.4.2 + react: 18.3.1 + react-dev-utils: 12.0.1(typescript@5.5.4)(webpack@5.95.0) + react-dom: 18.3.1(react@18.3.1) + react-helmet-async: 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)' + react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.95.0) + react-router: 5.3.4(react@18.3.1) + react-router-config: 5.1.1(react-router@5.3.4(react@18.3.1))(react@18.3.1) + react-router-dom: 5.3.4(react@18.3.1) + rtl-detect: 1.1.2 + semver: 7.6.3 + serve-handler: 6.1.5 + shelljs: 0.8.5 + terser-webpack-plugin: 5.3.10(webpack@5.95.0) + tslib: 2.7.0 + update-notifier: 6.0.2 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.95.0))(webpack@5.95.0) + webpack: 5.95.0 + webpack-bundle-analyzer: 4.10.2 + webpack-dev-server: 4.15.2(debug@4.3.7)(webpack@5.95.0) + webpack-merge: 5.10.0 + webpackbar: 5.0.2(webpack@5.95.0) + transitivePeerDependencies: + - '@docusaurus/types' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/core@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': + dependencies: + '@babel/core': 7.25.7 + '@babel/generator': 7.25.7 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.7) + '@babel/plugin-transform-runtime': 7.25.7(@babel/core@7.25.7) + '@babel/preset-env': 7.25.7(@babel/core@7.25.7) + '@babel/preset-react': 7.25.7(@babel/core@7.25.7) + '@babel/preset-typescript': 7.25.7(@babel/core@7.25.7) + '@babel/runtime': 7.25.7 + '@babel/runtime-corejs3': 7.25.7 + '@babel/traverse': 7.25.7 + '@docusaurus/cssnano-preset': 3.5.2 + '@docusaurus/logger': 3.5.2 + '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@mdx-js/react': 3.0.1(@types/react@18.3.11)(react@18.3.1) + autoprefixer: 10.4.20(postcss@8.4.47) + babel-loader: 9.2.1(@babel/core@7.25.7)(webpack@5.95.0) + babel-plugin-dynamic-import-node: 2.3.3 + boxen: 6.2.1 + chalk: 4.1.2 + chokidar: 3.6.0 + clean-css: 5.3.3 + cli-table3: 0.6.5 + combine-promises: 1.2.0 + commander: 5.1.0 + copy-webpack-plugin: 11.0.0(webpack@5.95.0) + core-js: 3.38.1 + css-loader: 6.11.0(webpack@5.95.0) + css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(webpack@5.95.0) + cssnano: 6.1.2(postcss@8.4.47) + del: 6.1.1 + detect-port: 1.6.1 + escape-html: 1.0.3 + eta: 2.2.0 + eval: 0.1.8 + file-loader: 6.2.0(webpack@5.95.0) + fs-extra: 11.2.0 + html-minifier-terser: 7.2.0 + html-tags: 3.3.1 + html-webpack-plugin: 5.6.0(webpack@5.95.0) + leven: 3.1.0 + lodash: 4.17.21 + mini-css-extract-plugin: 2.9.1(webpack@5.95.0) + p-map: 4.0.0 + postcss: 8.4.47 + postcss-loader: 7.3.4(postcss@8.4.47)(typescript@5.6.2)(webpack@5.95.0) + prompts: 2.4.2 + react: 18.3.1 + react-dev-utils: 12.0.1(typescript@5.6.2)(webpack@5.95.0) + react-dom: 18.3.1(react@18.3.1) + react-helmet-async: 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)' + react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.95.0) + react-router: 5.3.4(react@18.3.1) + react-router-config: 5.1.1(react-router@5.3.4(react@18.3.1))(react@18.3.1) + react-router-dom: 5.3.4(react@18.3.1) + rtl-detect: 1.1.2 + semver: 7.6.3 + serve-handler: 6.1.5 + shelljs: 0.8.5 + terser-webpack-plugin: 5.3.10(webpack@5.95.0) + tslib: 2.7.0 + update-notifier: 6.0.2 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.95.0))(webpack@5.95.0) + webpack: 5.95.0 + webpack-bundle-analyzer: 4.10.2 + webpack-dev-server: 4.15.2(debug@4.3.7)(webpack@5.95.0) + webpack-merge: 5.10.0 + webpackbar: 5.0.2(webpack@5.95.0) transitivePeerDependencies: - '@docusaurus/types' - '@parcel/css' @@ -6902,15 +7004,15 @@ snapshots: '@docusaurus/cssnano-preset@3.5.2': dependencies: - cssnano-preset-advanced: 6.1.2(postcss@8.4.41) - postcss: 8.4.41 - postcss-sort-media-queries: 5.2.0(postcss@8.4.41) - tslib: 2.6.3 + cssnano-preset-advanced: 6.1.2(postcss@8.4.47) + postcss: 8.4.47 + postcss-sort-media-queries: 5.2.0(postcss@8.4.47) + tslib: 2.7.0 '@docusaurus/logger@3.5.2': dependencies: chalk: 4.1.2 - tslib: 2.6.3 + tslib: 2.7.0 '@docusaurus/mdx-loader@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: @@ -6921,7 +7023,7 @@ snapshots: '@slorber/remark-comment': 1.0.0 escape-html: 1.0.3 estree-util-value-to-estree: 3.1.2 - file-loader: 6.2.0(webpack@5.93.0) + file-loader: 6.2.0(webpack@5.95.0) fs-extra: 11.2.0 image-size: 1.1.1 mdast-util-mdx: 3.0.0 @@ -6934,12 +7036,49 @@ snapshots: remark-frontmatter: 5.0.0 remark-gfm: 4.0.0 stringify-object: 3.3.0 - tslib: 2.6.3 + tslib: 2.7.0 unified: 11.0.5 unist-util-visit: 5.0.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.93.0))(webpack@5.93.0) - vfile: 6.0.2 - webpack: 5.93.0 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.95.0))(webpack@5.95.0) + vfile: 6.0.3 + webpack: 5.95.0 + transitivePeerDependencies: + - '@docusaurus/types' + - '@swc/core' + - esbuild + - supports-color + - typescript + - uglify-js + - webpack-cli + + '@docusaurus/mdx-loader@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': + dependencies: + '@docusaurus/logger': 3.5.2 + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@mdx-js/mdx': 3.0.1 + '@slorber/remark-comment': 1.0.0 + escape-html: 1.0.3 + estree-util-value-to-estree: 3.1.2 + file-loader: 6.2.0(webpack@5.95.0) + fs-extra: 11.2.0 + image-size: 1.1.1 + mdast-util-mdx: 3.0.0 + mdast-util-to-string: 4.0.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + rehype-raw: 7.0.0 + remark-directive: 3.0.0 + remark-emoji: 4.0.1 + remark-frontmatter: 5.0.0 + remark-gfm: 4.0.0 + stringify-object: 3.3.0 + tslib: 2.7.0 + unified: 11.0.5 + unist-util-visit: 5.0.0 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.95.0))(webpack@5.95.0) + vfile: 6.0.3 + webpack: 5.95.0 transitivePeerDependencies: - '@docusaurus/types' - '@swc/core' @@ -6953,7 +7092,7 @@ snapshots: dependencies: '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/history': 4.7.11 - '@types/react': 18.3.3 + '@types/react': 18.3.11 '@types/react-router-config': 5.0.11 '@types/react-router-dom': 5.3.3 react: 18.3.1 @@ -6967,13 +7106,13 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/plugin-content-blog@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/plugin-content-blog@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/logger': 3.5.2 '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) @@ -6986,10 +7125,10 @@ snapshots: react-dom: 18.3.1(react@18.3.1) reading-time: 1.5.0 srcset: 4.0.0 - tslib: 2.6.3 + tslib: 2.7.0 unist-util-visit: 5.0.0 utility-types: 3.11.0 - webpack: 5.93.0 + webpack: 5.95.0 transitivePeerDependencies: - '@mdx-js/react' - '@parcel/css' @@ -7009,13 +7148,95 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/plugin-content-blog@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/logger': 3.5.2 + '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + cheerio: 1.0.0-rc.12 + feed: 4.2.2 + fs-extra: 11.2.0 + lodash: 4.17.21 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + reading-time: 1.5.0 + srcset: 4.0.0 + tslib: 2.7.0 + unist-util-visit: 5.0.0 + utility-types: 3.11.0 + webpack: 5.95.0 + transitivePeerDependencies: + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(debug@4.3.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': + dependencies: + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(debug@4.3.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/logger': 3.5.2 + '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/module-type-aliases': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@types/react-router-config': 5.0.11 + combine-promises: 1.2.0 + fs-extra: 11.2.0 + js-yaml: 4.1.0 + lodash: 4.17.21 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.7.0 + utility-types: 3.11.0 + webpack: 5.95.0 + transitivePeerDependencies: + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + dependencies: + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/logger': 3.5.2 '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/module-type-aliases': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) @@ -7027,9 +7248,9 @@ snapshots: lodash: 4.17.21 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - tslib: 2.6.3 + tslib: 2.7.0 utility-types: 3.11.0 - webpack: 5.93.0 + webpack: 5.95.0 transitivePeerDependencies: - '@mdx-js/react' - '@parcel/css' @@ -7049,17 +7270,17 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/logger': 3.5.2 - '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/module-type-aliases': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) '@types/react-router-config': 5.0.11 combine-promises: 1.2.0 fs-extra: 11.2.0 @@ -7067,9 +7288,9 @@ snapshots: lodash: 4.17.21 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - tslib: 2.6.3 + tslib: 2.7.0 utility-types: 3.11.0 - webpack: 5.93.0 + webpack: 5.95.0 transitivePeerDependencies: - '@mdx-js/react' - '@parcel/css' @@ -7089,9 +7310,9 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-content-pages@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/plugin-content-pages@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) @@ -7099,8 +7320,8 @@ snapshots: fs-extra: 11.2.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - tslib: 2.6.3 - webpack: 5.93.0 + tslib: 2.7.0 + webpack: 5.95.0 transitivePeerDependencies: - '@mdx-js/react' - '@parcel/css' @@ -7120,16 +7341,18 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-debug@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/plugin-content-pages@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) fs-extra: 11.2.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-json-view-lite: 1.4.0(react@18.3.1) - tslib: 2.6.3 + tslib: 2.7.0 + webpack: 5.95.0 transitivePeerDependencies: - '@mdx-js/react' - '@parcel/css' @@ -7149,14 +7372,16 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-analytics@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/plugin-debug@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + fs-extra: 11.2.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - tslib: 2.6.3 + react-json-view-lite: 1.5.0(react@18.3.1) + tslib: 2.7.0 transitivePeerDependencies: - '@mdx-js/react' - '@parcel/css' @@ -7176,15 +7401,42 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-gtag@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/plugin-google-analytics@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.7.0 + transitivePeerDependencies: + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/plugin-google-gtag@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': + dependencies: + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) '@types/gtag.js': 0.0.12 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - tslib: 2.6.3 + tslib: 2.7.0 transitivePeerDependencies: - '@mdx-js/react' - '@parcel/css' @@ -7204,14 +7456,14 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-tag-manager@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/plugin-google-tag-manager@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - tslib: 2.6.3 + tslib: 2.7.0 transitivePeerDependencies: - '@mdx-js/react' - '@parcel/css' @@ -7231,19 +7483,19 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-sitemap@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/plugin-sitemap@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/logger': 3.5.2 '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) fs-extra: 11.2.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) sitemap: 7.1.2 - tslib: 2.6.3 + tslib: 2.7.0 transitivePeerDependencies: - '@mdx-js/react' - '@parcel/css' @@ -7263,20 +7515,20 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/preset-classic@3.5.2(@algolia/client-search@4.24.0)(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)(typescript@5.5.4)': + '@docusaurus/preset-classic@3.5.2(@algolia/client-search@4.24.0)(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)(typescript@5.6.2)': dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-content-blog': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-content-pages': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-debug': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-google-analytics': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-google-gtag': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-google-tag-manager': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-sitemap': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/theme-classic': 3.5.2(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/theme-search-algolia': 3.5.2(@algolia/client-search@4.24.0)(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)(typescript@5.5.4) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/plugin-content-blog': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/plugin-content-pages': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/plugin-debug': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/plugin-google-analytics': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/plugin-google-gtag': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/plugin-google-tag-manager': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/plugin-sitemap': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/theme-classic': 3.5.2(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/theme-search-algolia': 3.5.2(@algolia/client-search@4.24.0)(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)(typescript@5.6.2) '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -7304,31 +7556,31 @@ snapshots: '@docusaurus/react-loadable@6.0.0(react@18.3.1)': dependencies: - '@types/react': 18.3.3 + '@types/react': 18.3.11 react: 18.3.1 - '@docusaurus/theme-classic@3.5.2(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/theme-classic@3.5.2(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/module-type-aliases': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/plugin-content-blog': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-content-pages': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-content-blog': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-content-pages': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/theme-translations': 3.5.2 '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - '@mdx-js/react': 3.0.1(@types/react@18.3.3)(react@18.3.1) + '@mdx-js/react': 3.0.1(@types/react@18.3.11)(react@18.3.1) clsx: 2.1.1 copy-text-to-clipboard: 3.2.0 infima: 0.2.0-alpha.44 lodash: 4.17.21 nprogress: 0.2.0 postcss: 8.4.41 - prism-react-renderer: 2.3.1(react@18.3.1) + prism-react-renderer: 2.4.0(react@18.3.1) prismjs: 1.29.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -7355,77 +7607,125 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/theme-common@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@docusaurus/theme-classic@3.5.2(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': dependencies: - '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/module-type-aliases': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@types/history': 4.7.11 - '@types/react': 18.3.3 - '@types/react-router-config': 5.0.11 - clsx: 2.1.1 - parse-numeric-range: 1.3.0 - prism-react-renderer: 2.3.1(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - tslib: 2.6.3 - utility-types: 3.11.0 - transitivePeerDependencies: - - '@docusaurus/types' - - '@swc/core' - - esbuild - - supports-color - - typescript - - uglify-js - - webpack-cli - - '@docusaurus/theme-common@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': - dependencies: - '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/module-type-aliases': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@types/history': 4.7.11 - '@types/react': 18.3.3 - '@types/react-router-config': 5.0.11 - clsx: 2.1.1 - parse-numeric-range: 1.3.0 - prism-react-renderer: 2.3.1(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - tslib: 2.6.3 - utility-types: 3.11.0 - transitivePeerDependencies: - - '@docusaurus/types' - - '@swc/core' - - esbuild - - supports-color - - typescript - - uglify-js - - webpack-cli - - '@docusaurus/theme-search-algolia@3.5.2(@algolia/client-search@4.24.0)(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)(typescript@5.5.4)': - dependencies: - '@docsearch/react': 3.6.1(@algolia/client-search@4.24.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0) - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/logger': 3.5.2 - '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-content-blog': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/plugin-content-pages': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/theme-translations': 3.5.2 + '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@mdx-js/react': 3.0.1(@types/react@18.3.11)(react@18.3.1) + clsx: 2.1.1 + copy-text-to-clipboard: 3.2.0 + infima: 0.2.0-alpha.44 + lodash: 4.17.21 + nprogress: 0.2.0 + postcss: 8.4.41 + prism-react-renderer: 2.4.0(react@18.3.1) + prismjs: 1.29.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-router-dom: 5.3.4(react@18.3.1) + rtlcss: 4.2.0 + tslib: 2.6.3 + utility-types: 3.11.0 + transitivePeerDependencies: + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@types/react' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/theme-common@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + dependencies: + '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/module-type-aliases': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@types/history': 4.7.11 + '@types/react': 18.3.11 + '@types/react-router-config': 5.0.11 + clsx: 2.1.1 + parse-numeric-range: 1.3.0 + prism-react-renderer: 2.4.0(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.7.0 + utility-types: 3.11.0 + transitivePeerDependencies: + - '@docusaurus/types' + - '@swc/core' + - esbuild + - supports-color + - typescript + - uglify-js + - webpack-cli + + '@docusaurus/theme-common@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': + dependencies: + '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/module-type-aliases': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@types/history': 4.7.11 + '@types/react': 18.3.11 + '@types/react-router-config': 5.0.11 + clsx: 2.1.1 + parse-numeric-range: 1.3.0 + prism-react-renderer: 2.4.0(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.7.0 + utility-types: 3.11.0 + transitivePeerDependencies: + - '@docusaurus/types' + - '@swc/core' + - esbuild + - supports-color + - typescript + - uglify-js + - webpack-cli + + '@docusaurus/theme-search-algolia@3.5.2(@algolia/client-search@4.24.0)(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)(typescript@5.6.2)': + dependencies: + '@docsearch/react': 3.6.2(@algolia/client-search@4.24.0)(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/logger': 3.5.2 + '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/theme-translations': 3.5.2 + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) algoliasearch: 4.24.0 - algoliasearch-helper: 3.22.3(algoliasearch@4.24.0) + algoliasearch-helper: 3.22.5(algoliasearch@4.24.0) clsx: 2.1.1 eta: 2.2.0 fs-extra: 11.2.0 lodash: 4.17.21 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - tslib: 2.6.3 + tslib: 2.7.0 utility-types: 3.11.0 transitivePeerDependencies: - '@algolia/client-search' @@ -7453,7 +7753,7 @@ snapshots: '@docusaurus/theme-translations@3.5.2': dependencies: fs-extra: 11.2.0 - tslib: 2.6.3 + tslib: 2.7.0 '@docusaurus/tsconfig@3.5.2': {} @@ -7461,14 +7761,14 @@ snapshots: dependencies: '@mdx-js/mdx': 3.0.1 '@types/history': 4.7.11 - '@types/react': 18.3.3 + '@types/react': 18.3.11 commander: 5.1.0 joi: 17.13.3 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) react-helmet-async: 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) utility-types: 3.11.0 - webpack: 5.93.0 + webpack: 5.95.0 webpack-merge: 5.10.0 transitivePeerDependencies: - '@swc/core' @@ -7479,7 +7779,7 @@ snapshots: '@docusaurus/utils-common@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: - tslib: 2.6.3 + tslib: 2.7.0 optionalDependencies: '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -7492,7 +7792,26 @@ snapshots: joi: 17.13.3 js-yaml: 4.1.0 lodash: 4.17.21 - tslib: 2.6.3 + tslib: 2.7.0 + transitivePeerDependencies: + - '@docusaurus/types' + - '@swc/core' + - esbuild + - supports-color + - typescript + - uglify-js + - webpack-cli + + '@docusaurus/utils-validation@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2)': + dependencies: + '@docusaurus/logger': 3.5.2 + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + fs-extra: 11.2.0 + joi: 17.13.3 + js-yaml: 4.1.0 + lodash: 4.17.21 + tslib: 2.7.0 transitivePeerDependencies: - '@docusaurus/types' - '@swc/core' @@ -7508,7 +7827,7 @@ snapshots: '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@svgr/webpack': 8.1.0(typescript@5.5.4) escape-string-regexp: 4.0.0 - file-loader: 6.2.0(webpack@5.93.0) + file-loader: 6.2.0(webpack@5.95.0) fs-extra: 11.2.0 github-slugger: 1.5.0 globby: 11.1.0 @@ -7516,14 +7835,46 @@ snapshots: jiti: 1.21.6 js-yaml: 4.1.0 lodash: 4.17.21 - micromatch: 4.0.7 + micromatch: 4.0.8 prompts: 2.4.2 resolve-pathname: 3.0.0 shelljs: 0.8.5 - tslib: 2.6.3 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.93.0))(webpack@5.93.0) + tslib: 2.7.0 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.95.0))(webpack@5.95.0) utility-types: 3.11.0 - webpack: 5.93.0 + webpack: 5.95.0 + optionalDependencies: + '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + transitivePeerDependencies: + - '@swc/core' + - esbuild + - supports-color + - typescript + - uglify-js + - webpack-cli + + '@docusaurus/utils@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2)': + dependencies: + '@docusaurus/logger': 3.5.2 + '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@svgr/webpack': 8.1.0(typescript@5.6.2) + escape-string-regexp: 4.0.0 + file-loader: 6.2.0(webpack@5.95.0) + fs-extra: 11.2.0 + github-slugger: 1.5.0 + globby: 11.1.0 + gray-matter: 4.0.3 + jiti: 1.21.6 + js-yaml: 4.1.0 + lodash: 4.17.21 + micromatch: 4.0.8 + prompts: 2.4.2 + resolve-pathname: 3.0.0 + shelljs: 0.8.5 + tslib: 2.7.0 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.95.0))(webpack@5.95.0) + utility-types: 3.11.0 + webpack: 5.95.0 optionalDependencies: '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) transitivePeerDependencies: @@ -7539,19 +7890,19 @@ snapshots: cssesc: 3.0.0 immediate: 3.3.0 - '@easyops-cn/docusaurus-search-local@0.44.5(@docusaurus/theme-common@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': + '@easyops-cn/docusaurus-search-local@0.44.5(@docusaurus/theme-common@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': dependencies: - '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(debug@4.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(debug@4.3.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/theme-translations': 3.5.2 - '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) '@easyops-cn/autocomplete.js': 0.38.1 '@node-rs/jieba': 1.10.3 cheerio: 1.0.0 clsx: 1.2.1 - debug: 4.3.6 + debug: 4.3.7 fs-extra: 10.1.0 klaw-sync: 6.0.0 lunr: 2.3.9 @@ -7559,7 +7910,7 @@ snapshots: mark.js: 8.11.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - tslib: 2.6.3 + tslib: 2.7.0 transitivePeerDependencies: - '@docusaurus/types' - '@mdx-js/react' @@ -7579,20 +7930,20 @@ snapshots: - vue-template-compiler - webpack-cli - '@emnapi/core@1.2.0': + '@emnapi/core@1.3.0': dependencies: '@emnapi/wasi-threads': 1.0.1 - tslib: 2.6.3 + tslib: 2.7.0 optional: true - '@emnapi/runtime@1.2.0': + '@emnapi/runtime@1.3.0': dependencies: - tslib: 2.6.3 + tslib: 2.7.0 optional: true '@emnapi/wasi-threads@1.0.1': dependencies: - tslib: 2.6.3 + tslib: 2.7.0 optional: true '@emotion/is-prop-valid@1.2.2': @@ -7689,7 +8040,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.14.15 + '@types/node': 20.16.10 '@types/yargs': 17.0.33 chalk: 4.1.2 @@ -7719,7 +8070,7 @@ snapshots: '@mdx-js/mdx@3.0.1': dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@types/estree-jsx': 1.0.5 '@types/hast': 3.0.4 '@types/mdx': 2.0.13 @@ -7735,26 +8086,26 @@ snapshots: periscopic: 3.1.0 remark-mdx: 3.0.1 remark-parse: 11.0.0 - remark-rehype: 11.1.0 + remark-rehype: 11.1.1 source-map: 0.7.4 unified: 11.0.5 unist-util-position-from-estree: 2.0.0 unist-util-stringify-position: 4.0.0 unist-util-visit: 5.0.0 - vfile: 6.0.2 + vfile: 6.0.3 transitivePeerDependencies: - supports-color - '@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1)': + '@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1)': dependencies: '@types/mdx': 2.0.13 - '@types/react': 18.3.3 + '@types/react': 18.3.11 react: 18.3.1 - '@napi-rs/wasm-runtime@0.2.4': + '@napi-rs/wasm-runtime@0.2.5': dependencies: - '@emnapi/core': 1.2.0 - '@emnapi/runtime': 1.2.0 + '@emnapi/core': 1.3.0 + '@emnapi/runtime': 1.3.0 '@tybys/wasm-util': 0.9.0 optional: true @@ -7790,7 +8141,7 @@ snapshots: '@node-rs/jieba-wasm32-wasi@1.10.3': dependencies: - '@napi-rs/wasm-runtime': 0.2.4 + '@napi-rs/wasm-runtime': 0.2.5 optional: true '@node-rs/jieba-win32-arm64-msvc@1.10.3': @@ -7843,20 +8194,20 @@ snapshots: '@pnpm/network.ca-file': 1.0.2 config-chain: 1.1.13 - '@polka/url@1.0.0-next.25': {} + '@polka/url@1.0.0-next.28': {} - '@redocly/ajv@8.11.0': + '@redocly/ajv@8.11.2': dependencies: fast-deep-equal: 3.1.3 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - uri-js: 4.4.1 + uri-js-replace: 1.0.1 '@redocly/config@0.6.3': {} '@redocly/openapi-core@1.16.0': dependencies: - '@redocly/ajv': 8.11.0 + '@redocly/ajv': 8.11.2 '@redocly/config': 0.6.3 colorette: 1.4.0 https-proxy-agent: 7.0.5 @@ -7885,7 +8236,7 @@ snapshots: '@sindresorhus/is@4.6.0': {} - '@sindresorhus/is@7.0.0': {} + '@sindresorhus/is@7.0.1': {} '@slorber/remark-comment@1.0.0': dependencies: @@ -7893,54 +8244,54 @@ snapshots: micromark-util-character: 1.2.0 micromark-util-symbol: 1.1.0 - '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.25.2)': + '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.25.7 - '@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.25.2)': + '@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.25.7 - '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.25.2)': + '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.25.7 - '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.25.2)': + '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.25.7 - '@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.25.2)': + '@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.25.7 - '@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.25.2)': + '@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.25.7 - '@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.25.2)': + '@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.25.7 - '@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.25.2)': + '@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.25.7 - '@svgr/babel-preset@8.1.0(@babel/core@7.25.2)': + '@svgr/babel-preset@8.1.0(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.25.2) - '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.25.2) - '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.25.2) - '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.25.2) - '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.25.2) - '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.25.2) - '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.25.2) - '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.25.2) + '@babel/core': 7.25.7 + '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.25.7) + '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.25.7) + '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.25.7) + '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.25.7) + '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.25.7) + '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.25.7) + '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.25.7) + '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.25.7) '@svgr/core@8.1.0(typescript@5.5.4)': dependencies: - '@babel/core': 7.25.2 - '@svgr/babel-preset': 8.1.0(@babel/core@7.25.2) + '@babel/core': 7.25.7 + '@svgr/babel-preset': 8.1.0(@babel/core@7.25.7) camelcase: 6.3.0 cosmiconfig: 8.3.6(typescript@5.5.4) snake-case: 3.0.4 @@ -7948,40 +8299,74 @@ snapshots: - supports-color - typescript + '@svgr/core@8.1.0(typescript@5.6.2)': + dependencies: + '@babel/core': 7.25.7 + '@svgr/babel-preset': 8.1.0(@babel/core@7.25.7) + camelcase: 6.3.0 + cosmiconfig: 8.3.6(typescript@5.6.2) + snake-case: 3.0.4 + transitivePeerDependencies: + - supports-color + - typescript + '@svgr/hast-util-to-babel-ast@8.0.0': dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.25.7 entities: 4.5.0 - '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.5.4))': + '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.6.2))': dependencies: - '@babel/core': 7.25.2 - '@svgr/babel-preset': 8.1.0(@babel/core@7.25.2) - '@svgr/core': 8.1.0(typescript@5.5.4) + '@babel/core': 7.25.7 + '@svgr/babel-preset': 8.1.0(@babel/core@7.25.7) + '@svgr/core': 8.1.0(typescript@5.6.2) '@svgr/hast-util-to-babel-ast': 8.0.0 svg-parser: 2.0.4 transitivePeerDependencies: - supports-color - '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.5.4))(typescript@5.5.4)': + '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.6.2))(typescript@5.5.4)': dependencies: - '@svgr/core': 8.1.0(typescript@5.5.4) + '@svgr/core': 8.1.0(typescript@5.6.2) cosmiconfig: 8.3.6(typescript@5.5.4) deepmerge: 4.3.1 svgo: 3.3.2 transitivePeerDependencies: - typescript + '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.6.2))(typescript@5.6.2)': + dependencies: + '@svgr/core': 8.1.0(typescript@5.6.2) + cosmiconfig: 8.3.6(typescript@5.6.2) + deepmerge: 4.3.1 + svgo: 3.3.2 + transitivePeerDependencies: + - typescript + '@svgr/webpack@8.1.0(typescript@5.5.4)': dependencies: - '@babel/core': 7.25.2 - '@babel/plugin-transform-react-constant-elements': 7.25.1(@babel/core@7.25.2) - '@babel/preset-env': 7.25.2(@babel/core@7.25.2) - '@babel/preset-react': 7.24.7(@babel/core@7.25.2) - '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2) + '@babel/core': 7.25.7 + '@babel/plugin-transform-react-constant-elements': 7.25.7(@babel/core@7.25.7) + '@babel/preset-env': 7.25.7(@babel/core@7.25.7) + '@babel/preset-react': 7.25.7(@babel/core@7.25.7) + '@babel/preset-typescript': 7.25.7(@babel/core@7.25.7) '@svgr/core': 8.1.0(typescript@5.5.4) - '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.5.4)) - '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.5.4))(typescript@5.5.4) + '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.6.2)) + '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.6.2))(typescript@5.5.4) + transitivePeerDependencies: + - supports-color + - typescript + + '@svgr/webpack@8.1.0(typescript@5.6.2)': + dependencies: + '@babel/core': 7.25.7 + '@babel/plugin-transform-react-constant-elements': 7.25.7(@babel/core@7.25.7) + '@babel/preset-env': 7.25.7(@babel/core@7.25.7) + '@babel/preset-react': 7.25.7(@babel/core@7.25.7) + '@babel/preset-typescript': 7.25.7(@babel/core@7.25.7) + '@svgr/core': 8.1.0(typescript@5.6.2) + '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.6.2)) + '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.6.2))(typescript@5.6.2) transitivePeerDependencies: - supports-color - typescript @@ -7996,30 +8381,30 @@ snapshots: '@tybys/wasm-util@0.9.0': dependencies: - tslib: 2.6.3 + tslib: 2.7.0 optional: true '@types/acorn@4.0.6': dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.14.15 + '@types/node': 20.16.10 '@types/bonjour@3.5.13': dependencies: - '@types/node': 20.14.15 + '@types/node': 20.16.10 '@types/connect-history-api-fallback@1.5.4': dependencies: - '@types/express-serve-static-core': 4.19.5 - '@types/node': 20.14.15 + '@types/express-serve-static-core': 5.0.0 + '@types/node': 20.16.10 '@types/connect@3.4.38': dependencies: - '@types/node': 20.14.15 + '@types/node': 20.16.10 '@types/debug@4.1.12': dependencies: @@ -8029,34 +8414,31 @@ snapshots: dependencies: '@types/trusted-types': 2.0.7 - '@types/eslint-scope@3.7.7': - dependencies: - '@types/eslint': 9.6.0 - '@types/estree': 1.0.5 - - '@types/eslint@9.6.0': - dependencies: - '@types/estree': 1.0.5 - '@types/json-schema': 7.0.15 - '@types/estree-jsx@1.0.5': dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 - '@types/estree@1.0.5': {} + '@types/estree@1.0.6': {} - '@types/express-serve-static-core@4.19.5': + '@types/express-serve-static-core@4.19.6': dependencies: - '@types/node': 20.14.15 - '@types/qs': 6.9.15 + '@types/node': 20.16.10 + '@types/qs': 6.9.16 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.4 + + '@types/express-serve-static-core@5.0.0': + dependencies: + '@types/node': 20.16.10 + '@types/qs': 6.9.16 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 '@types/express@4.17.21': dependencies: '@types/body-parser': 1.19.5 - '@types/express-serve-static-core': 4.19.5 - '@types/qs': 6.9.15 + '@types/express-serve-static-core': 4.19.6 + '@types/qs': 6.9.16 '@types/serve-static': 1.15.7 '@types/gtag.js@0.0.12': {} @@ -8075,7 +8457,7 @@ snapshots: '@types/http-proxy@1.17.15': dependencies: - '@types/node': 20.14.15 + '@types/node': 20.16.10 '@types/istanbul-lib-coverage@2.0.6': {} @@ -8101,7 +8483,7 @@ snapshots: '@types/node-forge@1.3.11': dependencies: - '@types/node': 20.14.15 + '@types/node': 20.16.10 '@types/node@17.0.45': {} @@ -8109,52 +8491,56 @@ snapshots: dependencies: undici-types: 5.26.5 + '@types/node@20.16.10': + dependencies: + undici-types: 6.19.8 + '@types/parse-json@4.0.2': {} '@types/prismjs@1.26.4': {} - '@types/prop-types@15.7.12': {} + '@types/prop-types@15.7.13': {} - '@types/qs@6.9.15': {} + '@types/qs@6.9.16': {} '@types/range-parser@1.2.7': {} '@types/react-helmet@6.1.11': dependencies: - '@types/react': 18.3.3 + '@types/react': 18.3.11 '@types/react-router-config@5.0.11': dependencies: '@types/history': 4.7.11 - '@types/react': 18.3.3 + '@types/react': 18.3.11 '@types/react-router': 5.1.20 '@types/react-router-dom@5.3.3': dependencies: '@types/history': 4.7.11 - '@types/react': 18.3.3 + '@types/react': 18.3.11 '@types/react-router': 5.1.20 '@types/react-router@5.1.20': dependencies: '@types/history': 4.7.11 - '@types/react': 18.3.3 + '@types/react': 18.3.11 - '@types/react@18.3.3': + '@types/react@18.3.11': dependencies: - '@types/prop-types': 15.7.12 + '@types/prop-types': 15.7.13 csstype: 3.1.3 '@types/retry@0.12.0': {} '@types/sax@1.2.7': dependencies: - '@types/node': 20.14.15 + '@types/node': 20.16.10 '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.14.15 + '@types/node': 20.16.10 '@types/serve-index@1.9.4': dependencies: @@ -8163,12 +8549,12 @@ snapshots: '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 20.14.15 + '@types/node': 20.16.10 '@types/send': 0.17.4 '@types/sockjs@0.3.36': dependencies: - '@types/node': 20.14.15 + '@types/node': 20.16.10 '@types/stylis@4.2.5': {} @@ -8180,7 +8566,7 @@ snapshots: '@types/ws@8.5.12': dependencies: - '@types/node': 20.14.15 + '@types/node': 20.16.10 '@types/yargs-parser@21.0.3': {} @@ -8283,7 +8669,7 @@ snapshots: dependencies: acorn: 8.12.1 - acorn-walk@8.3.3: + acorn-walk@8.3.4: dependencies: acorn: 8.12.1 @@ -8325,11 +8711,11 @@ snapshots: ajv@8.17.1: dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.0.1 + fast-uri: 3.0.2 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - algoliasearch-helper@3.22.3(algoliasearch@4.24.0): + algoliasearch-helper@3.22.5(algoliasearch@4.24.0): dependencies: '@algolia/events': 4.0.1 algoliasearch: 4.24.0 @@ -8360,7 +8746,7 @@ snapshots: ansi-regex@5.0.1: {} - ansi-regex@6.0.1: {} + ansi-regex@6.1.0: {} ansi-styles@3.2.1: dependencies: @@ -8421,20 +8807,20 @@ snapshots: is-array-buffer: 3.0.4 is-shared-array-buffer: 1.0.3 - astring@1.8.6: {} + astring@1.9.0: {} asynckit@0.4.0: {} at-least-node@1.0.0: {} - autoprefixer@10.4.20(postcss@8.4.41): + autoprefixer@10.4.20(postcss@8.4.47): dependencies: - browserslist: 4.23.3 - caniuse-lite: 1.0.30001651 + browserslist: 4.24.0 + caniuse-lite: 1.0.30001667 fraction.js: 4.3.7 normalize-range: 0.1.2 - picocolors: 1.0.1 - postcss: 8.4.41 + picocolors: 1.1.0 + postcss: 8.4.47 postcss-value-parser: 4.2.0 available-typed-arrays@1.0.7: @@ -8443,52 +8829,44 @@ snapshots: axios@1.7.4: dependencies: - follow-redirects: 1.15.6(debug@4.3.6) + follow-redirects: 1.15.6 form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug - babel-loader@9.1.3(@babel/core@7.25.2)(webpack@5.93.0): + babel-loader@9.2.1(@babel/core@7.25.7)(webpack@5.95.0): dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.25.7 find-cache-dir: 4.0.0 schema-utils: 4.2.0 - webpack: 5.93.0 + webpack: 5.95.0 babel-plugin-dynamic-import-node@2.3.3: dependencies: object.assign: 4.1.5 - babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.25.2): + babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.25.7): dependencies: - '@babel/compat-data': 7.25.2 - '@babel/core': 7.25.2 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) + '@babel/compat-data': 7.25.7 + '@babel/core': 7.25.7 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.7) semver: 6.3.1 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.25.2): + babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.25.7): dependencies: - '@babel/core': 7.25.2 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) - core-js-compat: 3.37.1 + '@babel/core': 7.25.7 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.7) + core-js-compat: 3.38.1 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.25.2): + babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.25.7): dependencies: - '@babel/core': 7.25.2 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) - core-js-compat: 3.38.0 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.25.2): - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) + '@babel/core': 7.25.7 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.7) transitivePeerDependencies: - supports-color @@ -8502,7 +8880,7 @@ snapshots: binary-extensions@2.3.0: {} - body-parser@1.20.2: + body-parser@1.20.3: dependencies: bytes: 3.1.2 content-type: 1.0.5 @@ -8512,7 +8890,7 @@ snapshots: http-errors: 2.0.0 iconv-lite: 0.4.24 on-finished: 2.4.1 - qs: 6.11.0 + qs: 6.13.0 raw-body: 2.5.2 type-is: 1.6.18 unpipe: 1.0.0 @@ -8561,19 +8939,12 @@ snapshots: dependencies: fill-range: 7.1.1 - browserslist@4.23.2: + browserslist@4.24.0: dependencies: - caniuse-lite: 1.0.30001651 - electron-to-chromium: 1.5.3 + caniuse-lite: 1.0.30001667 + electron-to-chromium: 1.5.32 node-releases: 2.0.18 - update-browserslist-db: 1.1.0(browserslist@4.23.2) - - browserslist@4.23.3: - dependencies: - caniuse-lite: 1.0.30001651 - electron-to-chromium: 1.5.8 - node-releases: 2.0.18 - update-browserslist-db: 1.1.0(browserslist@4.23.3) + update-browserslist-db: 1.1.1(browserslist@4.24.0) buffer-from@1.1.2: {} @@ -8608,7 +8979,7 @@ snapshots: camel-case@4.1.2: dependencies: pascal-case: 3.1.2 - tslib: 2.6.3 + tslib: 2.7.0 camelcase@6.3.0: {} @@ -8618,12 +8989,12 @@ snapshots: caniuse-api@3.0.0: dependencies: - browserslist: 4.23.3 - caniuse-lite: 1.0.30001651 + browserslist: 4.24.0 + caniuse-lite: 1.0.30001667 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 - caniuse-lite@1.0.30001651: {} + caniuse-lite@1.0.30001667: {} ccount@2.0.1: {} @@ -8670,7 +9041,7 @@ snapshots: parse5: 7.1.2 parse5-htmlparser2-tree-adapter: 7.0.0 parse5-parser-stream: 7.1.2 - undici: 6.19.7 + undici: 6.19.8 whatwg-mimetype: 4.0.0 cheerio@1.0.0-rc.12: @@ -8834,7 +9205,7 @@ snapshots: copy-text-to-clipboard@3.2.0: {} - copy-webpack-plugin@11.0.0(webpack@5.93.0): + copy-webpack-plugin@11.0.0(webpack@5.95.0): dependencies: fast-glob: 3.3.2 glob-parent: 6.0.2 @@ -8842,19 +9213,15 @@ snapshots: normalize-path: 3.0.0 schema-utils: 4.2.0 serialize-javascript: 6.0.2 - webpack: 5.93.0 + webpack: 5.95.0 - core-js-compat@3.37.1: + core-js-compat@3.38.1: dependencies: - browserslist: 4.23.2 + browserslist: 4.24.0 - core-js-compat@3.38.0: - dependencies: - browserslist: 4.23.3 + core-js-pure@3.38.1: {} - core-js-pure@3.38.0: {} - - core-js@3.38.0: {} + core-js@3.38.1: {} core-util-is@1.0.3: {} @@ -8875,6 +9242,15 @@ snapshots: optionalDependencies: typescript: 5.5.4 + cosmiconfig@8.3.6(typescript@5.6.2): + dependencies: + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + path-type: 4.0.0 + optionalDependencies: + typescript: 5.6.2 + cross-spawn@7.0.3: dependencies: path-key: 3.1.1 @@ -8887,32 +9263,32 @@ snapshots: css-color-keywords@1.0.0: {} - css-declaration-sorter@7.2.0(postcss@8.4.41): + css-declaration-sorter@7.2.0(postcss@8.4.47): dependencies: - postcss: 8.4.41 + postcss: 8.4.47 - css-loader@6.11.0(webpack@5.93.0): + css-loader@6.11.0(webpack@5.95.0): dependencies: - icss-utils: 5.1.0(postcss@8.4.41) - postcss: 8.4.41 - postcss-modules-extract-imports: 3.1.0(postcss@8.4.41) - postcss-modules-local-by-default: 4.0.5(postcss@8.4.41) - postcss-modules-scope: 3.2.0(postcss@8.4.41) - postcss-modules-values: 4.0.0(postcss@8.4.41) + icss-utils: 5.1.0(postcss@8.4.47) + postcss: 8.4.47 + postcss-modules-extract-imports: 3.1.0(postcss@8.4.47) + postcss-modules-local-by-default: 4.0.5(postcss@8.4.47) + postcss-modules-scope: 3.2.0(postcss@8.4.47) + postcss-modules-values: 4.0.0(postcss@8.4.47) postcss-value-parser: 4.2.0 semver: 7.6.3 optionalDependencies: - webpack: 5.93.0 + webpack: 5.95.0 - css-minimizer-webpack-plugin@5.0.1(clean-css@5.3.3)(webpack@5.93.0): + css-minimizer-webpack-plugin@5.0.1(clean-css@5.3.3)(webpack@5.95.0): dependencies: '@jridgewell/trace-mapping': 0.3.25 - cssnano: 6.1.2(postcss@8.4.41) + cssnano: 6.1.2(postcss@8.4.47) jest-worker: 29.7.0 - postcss: 8.4.41 + postcss: 8.4.47 schema-utils: 4.2.0 serialize-javascript: 6.0.2 - webpack: 5.93.0 + webpack: 5.95.0 optionalDependencies: clean-css: 5.3.3 @@ -8941,71 +9317,71 @@ snapshots: css-tree@2.2.1: dependencies: mdn-data: 2.0.28 - source-map-js: 1.2.0 + source-map-js: 1.2.1 css-tree@2.3.1: dependencies: mdn-data: 2.0.30 - source-map-js: 1.2.0 + source-map-js: 1.2.1 css-what@6.1.0: {} cssesc@3.0.0: {} - cssnano-preset-advanced@6.1.2(postcss@8.4.41): + cssnano-preset-advanced@6.1.2(postcss@8.4.47): dependencies: - autoprefixer: 10.4.20(postcss@8.4.41) - browserslist: 4.23.3 - cssnano-preset-default: 6.1.2(postcss@8.4.41) - postcss: 8.4.41 - postcss-discard-unused: 6.0.5(postcss@8.4.41) - postcss-merge-idents: 6.0.3(postcss@8.4.41) - postcss-reduce-idents: 6.0.3(postcss@8.4.41) - postcss-zindex: 6.0.2(postcss@8.4.41) + autoprefixer: 10.4.20(postcss@8.4.47) + browserslist: 4.24.0 + cssnano-preset-default: 6.1.2(postcss@8.4.47) + postcss: 8.4.47 + postcss-discard-unused: 6.0.5(postcss@8.4.47) + postcss-merge-idents: 6.0.3(postcss@8.4.47) + postcss-reduce-idents: 6.0.3(postcss@8.4.47) + postcss-zindex: 6.0.2(postcss@8.4.47) - cssnano-preset-default@6.1.2(postcss@8.4.41): + cssnano-preset-default@6.1.2(postcss@8.4.47): dependencies: - browserslist: 4.23.3 - css-declaration-sorter: 7.2.0(postcss@8.4.41) - cssnano-utils: 4.0.2(postcss@8.4.41) - postcss: 8.4.41 - postcss-calc: 9.0.1(postcss@8.4.41) - postcss-colormin: 6.1.0(postcss@8.4.41) - postcss-convert-values: 6.1.0(postcss@8.4.41) - postcss-discard-comments: 6.0.2(postcss@8.4.41) - postcss-discard-duplicates: 6.0.3(postcss@8.4.41) - postcss-discard-empty: 6.0.3(postcss@8.4.41) - postcss-discard-overridden: 6.0.2(postcss@8.4.41) - postcss-merge-longhand: 6.0.5(postcss@8.4.41) - postcss-merge-rules: 6.1.1(postcss@8.4.41) - postcss-minify-font-values: 6.1.0(postcss@8.4.41) - postcss-minify-gradients: 6.0.3(postcss@8.4.41) - postcss-minify-params: 6.1.0(postcss@8.4.41) - postcss-minify-selectors: 6.0.4(postcss@8.4.41) - postcss-normalize-charset: 6.0.2(postcss@8.4.41) - postcss-normalize-display-values: 6.0.2(postcss@8.4.41) - postcss-normalize-positions: 6.0.2(postcss@8.4.41) - postcss-normalize-repeat-style: 6.0.2(postcss@8.4.41) - postcss-normalize-string: 6.0.2(postcss@8.4.41) - postcss-normalize-timing-functions: 6.0.2(postcss@8.4.41) - postcss-normalize-unicode: 6.1.0(postcss@8.4.41) - postcss-normalize-url: 6.0.2(postcss@8.4.41) - postcss-normalize-whitespace: 6.0.2(postcss@8.4.41) - postcss-ordered-values: 6.0.2(postcss@8.4.41) - postcss-reduce-initial: 6.1.0(postcss@8.4.41) - postcss-reduce-transforms: 6.0.2(postcss@8.4.41) - postcss-svgo: 6.0.3(postcss@8.4.41) - postcss-unique-selectors: 6.0.4(postcss@8.4.41) + browserslist: 4.24.0 + css-declaration-sorter: 7.2.0(postcss@8.4.47) + cssnano-utils: 4.0.2(postcss@8.4.47) + postcss: 8.4.47 + postcss-calc: 9.0.1(postcss@8.4.47) + postcss-colormin: 6.1.0(postcss@8.4.47) + postcss-convert-values: 6.1.0(postcss@8.4.47) + postcss-discard-comments: 6.0.2(postcss@8.4.47) + postcss-discard-duplicates: 6.0.3(postcss@8.4.47) + postcss-discard-empty: 6.0.3(postcss@8.4.47) + postcss-discard-overridden: 6.0.2(postcss@8.4.47) + postcss-merge-longhand: 6.0.5(postcss@8.4.47) + postcss-merge-rules: 6.1.1(postcss@8.4.47) + postcss-minify-font-values: 6.1.0(postcss@8.4.47) + postcss-minify-gradients: 6.0.3(postcss@8.4.47) + postcss-minify-params: 6.1.0(postcss@8.4.47) + postcss-minify-selectors: 6.0.4(postcss@8.4.47) + postcss-normalize-charset: 6.0.2(postcss@8.4.47) + postcss-normalize-display-values: 6.0.2(postcss@8.4.47) + postcss-normalize-positions: 6.0.2(postcss@8.4.47) + postcss-normalize-repeat-style: 6.0.2(postcss@8.4.47) + postcss-normalize-string: 6.0.2(postcss@8.4.47) + postcss-normalize-timing-functions: 6.0.2(postcss@8.4.47) + postcss-normalize-unicode: 6.1.0(postcss@8.4.47) + postcss-normalize-url: 6.0.2(postcss@8.4.47) + postcss-normalize-whitespace: 6.0.2(postcss@8.4.47) + postcss-ordered-values: 6.0.2(postcss@8.4.47) + postcss-reduce-initial: 6.1.0(postcss@8.4.47) + postcss-reduce-transforms: 6.0.2(postcss@8.4.47) + postcss-svgo: 6.0.3(postcss@8.4.47) + postcss-unique-selectors: 6.0.4(postcss@8.4.47) - cssnano-utils@4.0.2(postcss@8.4.41): + cssnano-utils@4.0.2(postcss@8.4.47): dependencies: - postcss: 8.4.41 + postcss: 8.4.47 - cssnano@6.1.2(postcss@8.4.41): + cssnano@6.1.2(postcss@8.4.47): dependencies: - cssnano-preset-default: 6.1.2(postcss@8.4.41) + cssnano-preset-default: 6.1.2(postcss@8.4.47) lilconfig: 3.1.2 - postcss: 8.4.41 + postcss: 8.4.47 csso@5.0.5: dependencies: @@ -9054,6 +9430,10 @@ snapshots: dependencies: ms: 2.1.2 + debug@4.3.7: + dependencies: + ms: 2.1.3 + decimal.js@10.4.3: {} decko@1.2.0: {} @@ -9123,7 +9503,7 @@ snapshots: detect-port@1.6.1: dependencies: address: 1.2.2 - debug: 4.3.6 + debug: 4.3.7 transitivePeerDependencies: - supports-color @@ -9141,11 +9521,11 @@ snapshots: dependencies: '@leichtgewicht/ip-codec': 2.0.5 - docusaurus-plugin-redoc@2.1.1(@docusaurus/utils@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4))(core-js@3.38.0)(enzyme@3.11.0)(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): + docusaurus-plugin-redoc@2.1.1(@docusaurus/utils@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2))(core-js@3.38.1)(enzyme@3.11.0)(mobx@6.13.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): dependencies: - '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) '@redocly/openapi-core': 1.16.0 - redoc: 2.1.5(core-js@3.38.0)(enzyme@3.11.0)(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + redoc: 2.1.5(core-js@3.38.1)(enzyme@3.11.0)(mobx@6.13.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) transitivePeerDependencies: - core-js - encoding @@ -9157,16 +9537,18 @@ snapshots: - styled-components - supports-color - docusaurus-theme-redoc@2.1.1(@docusaurus/theme-common@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(core-js@3.38.0)(enzyme@3.11.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(webpack@5.93.0): + docusaurus-theme-redoc@2.1.2(@docusaurus/theme-common@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(core-js@3.38.1)(enzyme@3.11.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(webpack@5.95.0): dependencies: - '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@redocly/openapi-core': 1.16.0 clsx: 1.2.1 lodash: 4.17.21 - mobx: 6.13.1 - redoc: 2.1.5(core-js@3.38.0)(enzyme@3.11.0)(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - styled-components: 6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - webpack: 5.93.0 + mobx: 6.13.3 + postcss: 8.4.47 + postcss-prefix-selector: 1.16.1(postcss@8.4.47) + redoc: 2.1.5(core-js@3.38.1)(enzyme@3.11.0)(mobx@6.13.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + styled-components: 6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + webpack: 5.95.0 transitivePeerDependencies: - core-js - encoding @@ -9204,6 +9586,8 @@ snapshots: dompurify@3.1.6: {} + dompurify@3.1.7: {} + domutils@2.8.0: dependencies: dom-serializer: 1.4.1 @@ -9219,7 +9603,7 @@ snapshots: dot-case@3.0.4: dependencies: no-case: 3.0.4 - tslib: 2.6.3 + tslib: 2.7.0 dot-prop@6.0.1: dependencies: @@ -9231,9 +9615,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.3: {} - - electron-to-chromium@1.5.8: {} + electron-to-chromium@1.5.32: {} emoji-regex@8.0.0: {} @@ -9247,6 +9629,8 @@ snapshots: encodeurl@1.0.2: {} + encodeurl@2.0.0: {} + encoding-sniffer@0.2.0: dependencies: iconv-lite: 0.6.3 @@ -9331,7 +9715,7 @@ snapshots: object-inspect: 1.13.2 object-keys: 1.1.1 object.assign: 4.1.5 - regexp.prototype.flags: 1.5.2 + regexp.prototype.flags: 1.5.3 safe-array-concat: 1.1.2 safe-regex-test: 1.0.3 string.prototype.trim: 1.2.9 @@ -9376,12 +9760,12 @@ snapshots: es6-promise@3.3.1: {} - esbuild-loader@4.2.2(webpack@5.93.0): + esbuild-loader@4.2.2(webpack@5.95.0): dependencies: esbuild: 0.21.5 - get-tsconfig: 4.7.6 + get-tsconfig: 4.8.1 loader-utils: 2.0.4 - webpack: 5.93.0 + webpack: 5.95.0 webpack-sources: 1.4.3 esbuild@0.21.5: @@ -9412,6 +9796,8 @@ snapshots: escalade@3.1.2: {} + escalade@3.2.0: {} + escape-goat@4.0.0: {} escape-html@1.0.3: {} @@ -9439,7 +9825,7 @@ snapshots: estree-util-attach-comments@3.0.0: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 estree-util-build-jsx@3.0.1: dependencies: @@ -9453,12 +9839,12 @@ snapshots: estree-util-to-js@2.0.0: dependencies: '@types/estree-jsx': 1.0.5 - astring: 1.8.6 + astring: 1.9.0 source-map: 0.7.4 estree-util-value-to-estree@3.1.2: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 estree-util-visit@2.0.0: dependencies: @@ -9467,7 +9853,7 @@ snapshots: estree-walker@3.0.3: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 esutils@2.0.3: {} @@ -9477,7 +9863,7 @@ snapshots: eval@0.1.8: dependencies: - '@types/node': 20.14.15 + '@types/node': 20.16.10 require-like: 0.1.2 eventemitter3@4.0.7: {} @@ -9498,34 +9884,34 @@ snapshots: signal-exit: 3.0.7 strip-final-newline: 2.0.0 - express@4.19.2: + express@4.21.0: dependencies: accepts: 1.3.8 array-flatten: 1.1.1 - body-parser: 1.20.2 + body-parser: 1.20.3 content-disposition: 0.5.4 content-type: 1.0.5 cookie: 0.6.0 cookie-signature: 1.0.6 debug: 2.6.9 depd: 2.0.0 - encodeurl: 1.0.2 + encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 - finalhandler: 1.2.0 + finalhandler: 1.3.1 fresh: 0.5.2 http-errors: 2.0.0 - merge-descriptors: 1.0.1 + merge-descriptors: 1.0.3 methods: 1.1.2 on-finished: 2.4.1 parseurl: 1.3.3 - path-to-regexp: 0.1.7 + path-to-regexp: 3.3.0 proxy-addr: 2.0.7 - qs: 6.11.0 + qs: 6.13.0 range-parser: 1.2.1 safe-buffer: 5.2.1 - send: 0.18.0 - serve-static: 1.15.0 + send: 0.19.0 + serve-static: 1.16.2 setprototypeof: 1.2.0 statuses: 2.0.1 type-is: 1.6.18 @@ -9548,13 +9934,13 @@ snapshots: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.7 + micromatch: 4.0.8 fast-json-stable-stringify@2.1.0: {} fast-safe-stringify@2.1.1: {} - fast-uri@3.0.1: {} + fast-uri@3.0.2: {} fast-url-parser@1.1.3: dependencies: @@ -9576,11 +9962,11 @@ snapshots: dependencies: xml-js: 1.6.11 - file-loader@6.2.0(webpack@5.93.0): + file-loader@6.2.0(webpack@5.95.0): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.93.0 + webpack: 5.95.0 filesize@8.0.7: {} @@ -9588,10 +9974,10 @@ snapshots: dependencies: to-regex-range: 5.0.1 - finalhandler@1.2.0: + finalhandler@1.3.1: dependencies: debug: 2.6.9 - encodeurl: 1.0.2 + encodeurl: 2.0.0 escape-html: 1.0.3 on-finished: 2.4.1 parseurl: 1.3.3 @@ -9621,9 +10007,11 @@ snapshots: flat@5.0.2: {} - follow-redirects@1.15.6(debug@4.3.6): + follow-redirects@1.15.6: {} + + follow-redirects@1.15.9(debug@4.3.7): optionalDependencies: - debug: 4.3.6 + debug: 4.3.7 for-each@0.3.3: dependencies: @@ -9631,9 +10019,9 @@ snapshots: foreach@2.0.6: {} - fork-ts-checker-webpack-plugin@6.5.3(typescript@5.5.4)(webpack@5.93.0): + fork-ts-checker-webpack-plugin@6.5.3(typescript@5.5.4)(webpack@5.95.0): dependencies: - '@babel/code-frame': 7.24.7 + '@babel/code-frame': 7.25.7 '@types/json-schema': 7.0.15 chalk: 4.1.2 chokidar: 3.6.0 @@ -9647,7 +10035,25 @@ snapshots: semver: 7.6.3 tapable: 1.1.3 typescript: 5.5.4 - webpack: 5.93.0 + webpack: 5.95.0 + + fork-ts-checker-webpack-plugin@6.5.3(typescript@5.6.2)(webpack@5.95.0): + dependencies: + '@babel/code-frame': 7.25.7 + '@types/json-schema': 7.0.15 + chalk: 4.1.2 + chokidar: 3.6.0 + cosmiconfig: 6.0.0 + deepmerge: 4.3.1 + fs-extra: 9.1.0 + glob: 7.2.3 + memfs: 3.5.3 + minimatch: 3.1.2 + schema-utils: 2.7.0 + semver: 7.6.3 + tapable: 1.1.3 + typescript: 5.6.2 + webpack: 5.95.0 form-data-encoder@4.0.2: {} @@ -9731,7 +10137,7 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.2.4 - get-tsconfig@4.7.6: + get-tsconfig@4.8.1: dependencies: resolve-pkg-maps: 1.0.0 @@ -9800,7 +10206,7 @@ snapshots: got@14.4.2: dependencies: - '@sindresorhus/is': 7.0.0 + '@sindresorhus/is': 7.0.1 '@szmarczak/http-timer': 5.0.1 cacheable-lookup: 7.0.0 cacheable-request: 12.0.1 @@ -9810,7 +10216,7 @@ snapshots: lowercase-keys: 3.0.0 p-cancelable: 4.0.1 responselike: 3.0.0 - type-fest: 4.24.0 + type-fest: 4.26.1 graceful-fs@4.2.10: {} @@ -9862,7 +10268,7 @@ snapshots: devlop: 1.1.0 hastscript: 8.0.0 property-information: 6.5.0 - vfile: 6.0.2 + vfile: 6.0.3 vfile-location: 5.0.3 web-namespaces: 2.0.1 @@ -9882,13 +10288,13 @@ snapshots: parse5: 7.1.2 unist-util-position: 5.0.0 unist-util-visit: 5.0.0 - vfile: 6.0.2 + vfile: 6.0.3 web-namespaces: 2.0.1 zwitch: 2.0.4 hast-util-to-estree@3.1.0: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@types/estree-jsx': 1.0.5 '@types/hast': 3.0.4 comma-separated-tokens: 2.0.3 @@ -9896,8 +10302,8 @@ snapshots: estree-util-attach-comments: 3.0.0 estree-util-is-identifier-name: 3.0.0 hast-util-whitespace: 3.0.0 - mdast-util-mdx-expression: 2.0.0 - mdast-util-mdx-jsx: 3.1.2 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.1.3 mdast-util-mdxjs-esm: 2.0.1 property-information: 6.5.0 space-separated-tokens: 2.0.2 @@ -9909,19 +10315,19 @@ snapshots: hast-util-to-jsx-runtime@2.3.0: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@types/hast': 3.0.4 '@types/unist': 3.0.3 comma-separated-tokens: 2.0.3 devlop: 1.1.0 estree-util-is-identifier-name: 3.0.0 hast-util-whitespace: 3.0.0 - mdast-util-mdx-expression: 2.0.0 - mdast-util-mdx-jsx: 3.1.2 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.1.3 mdast-util-mdxjs-esm: 2.0.1 property-information: 6.5.0 space-separated-tokens: 2.0.2 - style-to-object: 1.0.6 + style-to-object: 1.0.8 unist-util-position: 5.0.0 vfile-message: 4.0.2 transitivePeerDependencies: @@ -9953,7 +10359,7 @@ snapshots: history@4.10.1: dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.7 loose-envify: 1.4.0 resolve-pathname: 3.0.0 tiny-invariant: 1.3.3 @@ -9992,7 +10398,7 @@ snapshots: he: 1.2.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.31.6 + terser: 5.34.1 html-minifier-terser@7.2.0: dependencies: @@ -10002,13 +10408,13 @@ snapshots: entities: 4.5.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.31.6 + terser: 5.34.1 html-tags@3.3.1: {} html-void-elements@3.0.0: {} - html-webpack-plugin@5.6.0(webpack@5.93.0): + html-webpack-plugin@5.6.0(webpack@5.95.0): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -10016,7 +10422,7 @@ snapshots: pretty-error: 4.0.0 tapable: 2.2.1 optionalDependencies: - webpack: 5.93.0 + webpack: 5.95.0 htmlparser2@6.1.0: dependencies: @@ -10067,22 +10473,22 @@ snapshots: transitivePeerDependencies: - supports-color - http-proxy-middleware@2.0.6(@types/express@4.17.21)(debug@4.3.6): + http-proxy-middleware@2.0.6(@types/express@4.17.21)(debug@4.3.7): dependencies: '@types/http-proxy': 1.17.15 - http-proxy: 1.18.1(debug@4.3.6) + http-proxy: 1.18.1(debug@4.3.7) is-glob: 4.0.3 is-plain-obj: 3.0.0 - micromatch: 4.0.7 + micromatch: 4.0.8 optionalDependencies: '@types/express': 4.17.21 transitivePeerDependencies: - debug - http-proxy@1.18.1(debug@4.3.6): + http-proxy@1.18.1(debug@4.3.7): dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.6(debug@4.3.6) + follow-redirects: 1.15.9(debug@4.3.7) requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -10111,9 +10517,9 @@ snapshots: dependencies: safer-buffer: 2.1.2 - icss-utils@5.1.0(postcss@8.4.41): + icss-utils@5.1.0(postcss@8.4.47): dependencies: - postcss: 8.4.41 + postcss: 8.4.47 ignore@5.3.2: {} @@ -10153,7 +10559,7 @@ snapshots: inline-style-parser@0.1.1: {} - inline-style-parser@0.2.3: {} + inline-style-parser@0.2.4: {} internal-slot@1.0.7: dependencies: @@ -10204,7 +10610,7 @@ snapshots: dependencies: ci-info: 3.9.0 - is-core-module@2.15.0: + is-core-module@2.15.1: dependencies: hasown: 2.0.2 @@ -10267,7 +10673,7 @@ snapshots: is-reference@3.0.2: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 is-regex@1.1.4: dependencies: @@ -10312,8 +10718,6 @@ snapshots: is-yarn-global@0.4.1: {} - isarray@0.0.1: {} - isarray@1.0.0: {} isarray@2.0.5: {} @@ -10336,7 +10740,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.14.15 + '@types/node': 20.16.10 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -10344,13 +10748,13 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.14.15 + '@types/node': 20.16.10 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@29.7.0: dependencies: - '@types/node': 20.14.15 + '@types/node': 20.16.10 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -10406,9 +10810,7 @@ snapshots: - supports-color - utf-8-validate - jsesc@0.5.0: {} - - jsesc@2.5.2: {} + jsesc@3.0.2: {} json-buffer@3.0.1: {} @@ -10446,9 +10848,9 @@ snapshots: dependencies: package-json: 8.1.1 - launch-editor@2.8.1: + launch-editor@2.9.1: dependencies: - picocolors: 1.0.1 + picocolors: 1.1.0 shell-quote: 1.8.1 leven@3.1.0: {} @@ -10502,7 +10904,7 @@ snapshots: lower-case@2.0.2: dependencies: - tslib: 2.6.3 + tslib: 2.7.0 lowercase-keys@3.0.0: {} @@ -10572,7 +10974,7 @@ snapshots: transitivePeerDependencies: - supports-color - mdast-util-gfm-autolink-literal@2.0.0: + mdast-util-gfm-autolink-literal@2.0.1: dependencies: '@types/mdast': 4.0.4 ccount: 2.0.1 @@ -10620,7 +11022,7 @@ snapshots: mdast-util-gfm@3.0.0: dependencies: mdast-util-from-markdown: 2.0.1 - mdast-util-gfm-autolink-literal: 2.0.0 + mdast-util-gfm-autolink-literal: 2.0.1 mdast-util-gfm-footnote: 2.0.0 mdast-util-gfm-strikethrough: 2.0.0 mdast-util-gfm-table: 2.0.0 @@ -10629,7 +11031,7 @@ snapshots: transitivePeerDependencies: - supports-color - mdast-util-mdx-expression@2.0.0: + mdast-util-mdx-expression@2.0.1: dependencies: '@types/estree-jsx': 1.0.5 '@types/hast': 3.0.4 @@ -10640,7 +11042,7 @@ snapshots: transitivePeerDependencies: - supports-color - mdast-util-mdx-jsx@3.1.2: + mdast-util-mdx-jsx@3.1.3: dependencies: '@types/estree-jsx': 1.0.5 '@types/hast': 3.0.4 @@ -10652,7 +11054,6 @@ snapshots: mdast-util-to-markdown: 2.1.0 parse-entities: 4.0.1 stringify-entities: 4.0.4 - unist-util-remove-position: 5.0.0 unist-util-stringify-position: 4.0.0 vfile-message: 4.0.2 transitivePeerDependencies: @@ -10661,8 +11062,8 @@ snapshots: mdast-util-mdx@3.0.0: dependencies: mdast-util-from-markdown: 2.0.1 - mdast-util-mdx-expression: 2.0.0 - mdast-util-mdx-jsx: 3.1.2 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.1.3 mdast-util-mdxjs-esm: 2.0.1 mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: @@ -10694,7 +11095,7 @@ snapshots: trim-lines: 3.0.1 unist-util-position: 5.0.0 unist-util-visit: 5.0.0 - vfile: 6.0.2 + vfile: 6.0.3 mdast-util-to-markdown@2.1.0: dependencies: @@ -10721,7 +11122,7 @@ snapshots: dependencies: fs-monkey: 1.0.6 - merge-descriptors@1.0.1: {} + merge-descriptors@1.0.3: {} merge-stream@2.0.0: {} @@ -10748,7 +11149,7 @@ snapshots: micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - micromark-extension-directive@3.0.1: + micromark-extension-directive@3.0.2: dependencies: devlop: 1.1.0 micromark-factory-space: 2.0.0 @@ -10825,24 +11226,25 @@ snapshots: micromark-extension-mdx-expression@3.0.0: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 devlop: 1.1.0 - micromark-factory-mdx-expression: 2.0.1 + micromark-factory-mdx-expression: 2.0.2 micromark-factory-space: 2.0.0 micromark-util-character: 2.1.0 micromark-util-events-to-acorn: 2.0.2 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - micromark-extension-mdx-jsx@3.0.0: + micromark-extension-mdx-jsx@3.0.1: dependencies: '@types/acorn': 4.0.6 - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 devlop: 1.1.0 estree-util-is-identifier-name: 3.0.0 - micromark-factory-mdx-expression: 2.0.1 + micromark-factory-mdx-expression: 2.0.2 micromark-factory-space: 2.0.0 micromark-util-character: 2.1.0 + micromark-util-events-to-acorn: 2.0.2 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 vfile-message: 4.0.2 @@ -10853,7 +11255,7 @@ snapshots: micromark-extension-mdxjs-esm@3.0.0: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 devlop: 1.1.0 micromark-core-commonmark: 2.0.1 micromark-util-character: 2.1.0 @@ -10868,7 +11270,7 @@ snapshots: acorn: 8.12.1 acorn-jsx: 5.3.2(acorn@8.12.1) micromark-extension-mdx-expression: 3.0.0 - micromark-extension-mdx-jsx: 3.0.0 + micromark-extension-mdx-jsx: 3.0.1 micromark-extension-mdx-md: 2.0.0 micromark-extension-mdxjs-esm: 3.0.0 micromark-util-combine-extensions: 2.0.0 @@ -10887,10 +11289,11 @@ snapshots: micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - micromark-factory-mdx-expression@2.0.1: + micromark-factory-mdx-expression@2.0.2: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 devlop: 1.1.0 + micromark-factory-space: 2.0.0 micromark-util-character: 2.1.0 micromark-util-events-to-acorn: 2.0.2 micromark-util-symbol: 2.0.0 @@ -10963,7 +11366,7 @@ snapshots: micromark-util-events-to-acorn@2.0.2: dependencies: '@types/acorn': 4.0.6 - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@types/unist': 3.0.3 devlop: 1.1.0 estree-util-visit: 2.0.0 @@ -11005,7 +11408,7 @@ snapshots: micromark@4.0.0: dependencies: '@types/debug': 4.1.12 - debug: 4.3.6 + debug: 4.3.7 decode-named-character-reference: 1.0.2 devlop: 1.1.0 micromark-core-commonmark: 2.0.1 @@ -11024,7 +11427,7 @@ snapshots: transitivePeerDependencies: - supports-color - micromatch@4.0.7: + micromatch@4.0.8: dependencies: braces: 3.0.3 picomatch: 2.3.1 @@ -11051,11 +11454,11 @@ snapshots: mimic-response@4.0.0: {} - mini-css-extract-plugin@2.9.0(webpack@5.93.0): + mini-css-extract-plugin@2.9.1(webpack@5.95.0): dependencies: schema-utils: 4.2.0 tapable: 2.2.1 - webpack: 5.93.0 + webpack: 5.95.0 minimalistic-assert@1.0.1: {} @@ -11069,23 +11472,23 @@ snapshots: minimist@1.2.8: {} - mobx-react-lite@4.0.7(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + mobx-react-lite@4.0.7(mobx@6.13.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - mobx: 6.13.1 + mobx: 6.13.3 react: 18.3.1 use-sync-external-store: 1.2.2(react@18.3.1) optionalDependencies: react-dom: 18.3.1(react@18.3.1) - mobx-react@9.1.1(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + mobx-react@9.1.1(mobx@6.13.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - mobx: 6.13.1 - mobx-react-lite: 4.0.7(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + mobx: 6.13.3 + mobx-react-lite: 4.0.7(mobx@6.13.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 optionalDependencies: react-dom: 18.3.1(react@18.3.1) - mobx@6.13.1: {} + mobx@6.13.3: {} moo@0.5.2: {} @@ -11118,7 +11521,7 @@ snapshots: no-case@3.0.4: dependencies: lower-case: 2.0.2 - tslib: 2.6.3 + tslib: 2.7.0 node-emoji@2.1.3: dependencies: @@ -11298,7 +11701,7 @@ snapshots: param-case@3.0.4: dependencies: dot-case: 3.0.4 - tslib: 2.6.3 + tslib: 2.7.0 parent-module@1.0.1: dependencies: @@ -11317,7 +11720,7 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.24.7 + '@babel/code-frame': 7.25.7 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -11342,7 +11745,7 @@ snapshots: pascal-case@3.1.2: dependencies: no-case: 3.0.4 - tslib: 2.6.3 + tslib: 2.7.0 path-browserify@1.0.1: {} @@ -11360,13 +11763,7 @@ snapshots: path-parse@1.0.7: {} - path-to-regexp@0.1.7: {} - - path-to-regexp@1.8.0: - dependencies: - isarray: 0.0.1 - - path-to-regexp@2.2.1: {} + path-to-regexp@3.3.0: {} path-type@4.0.0: {} @@ -11376,11 +11773,11 @@ snapshots: periscopic@3.1.0: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 estree-walker: 3.0.3 is-reference: 3.0.2 - picocolors@1.0.1: {} + picocolors@1.1.0: {} picomatch@2.3.1: {} @@ -11396,191 +11793,205 @@ snapshots: polished@4.3.1: dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.7 possible-typed-array-names@1.0.0: {} - postcss-calc@9.0.1(postcss@8.4.41): + postcss-calc@9.0.1(postcss@8.4.47): dependencies: - postcss: 8.4.41 + postcss: 8.4.47 postcss-selector-parser: 6.1.2 postcss-value-parser: 4.2.0 - postcss-colormin@6.1.0(postcss@8.4.41): + postcss-colormin@6.1.0(postcss@8.4.47): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 caniuse-api: 3.0.0 colord: 2.9.3 - postcss: 8.4.41 + postcss: 8.4.47 postcss-value-parser: 4.2.0 - postcss-convert-values@6.1.0(postcss@8.4.41): + postcss-convert-values@6.1.0(postcss@8.4.47): dependencies: - browserslist: 4.23.3 - postcss: 8.4.41 + browserslist: 4.24.0 + postcss: 8.4.47 postcss-value-parser: 4.2.0 - postcss-discard-comments@6.0.2(postcss@8.4.41): + postcss-discard-comments@6.0.2(postcss@8.4.47): dependencies: - postcss: 8.4.41 + postcss: 8.4.47 - postcss-discard-duplicates@6.0.3(postcss@8.4.41): + postcss-discard-duplicates@6.0.3(postcss@8.4.47): dependencies: - postcss: 8.4.41 + postcss: 8.4.47 - postcss-discard-empty@6.0.3(postcss@8.4.41): + postcss-discard-empty@6.0.3(postcss@8.4.47): dependencies: - postcss: 8.4.41 + postcss: 8.4.47 - postcss-discard-overridden@6.0.2(postcss@8.4.41): + postcss-discard-overridden@6.0.2(postcss@8.4.47): dependencies: - postcss: 8.4.41 + postcss: 8.4.47 - postcss-discard-unused@6.0.5(postcss@8.4.41): + postcss-discard-unused@6.0.5(postcss@8.4.47): dependencies: - postcss: 8.4.41 + postcss: 8.4.47 postcss-selector-parser: 6.1.2 - postcss-loader@7.3.4(postcss@8.4.41)(typescript@5.5.4)(webpack@5.93.0): + postcss-loader@7.3.4(postcss@8.4.47)(typescript@5.5.4)(webpack@5.95.0): dependencies: cosmiconfig: 8.3.6(typescript@5.5.4) jiti: 1.21.6 - postcss: 8.4.41 + postcss: 8.4.47 semver: 7.6.3 - webpack: 5.93.0 + webpack: 5.95.0 transitivePeerDependencies: - typescript - postcss-merge-idents@6.0.3(postcss@8.4.41): + postcss-loader@7.3.4(postcss@8.4.47)(typescript@5.6.2)(webpack@5.95.0): dependencies: - cssnano-utils: 4.0.2(postcss@8.4.41) - postcss: 8.4.41 + cosmiconfig: 8.3.6(typescript@5.6.2) + jiti: 1.21.6 + postcss: 8.4.47 + semver: 7.6.3 + webpack: 5.95.0 + transitivePeerDependencies: + - typescript + + postcss-merge-idents@6.0.3(postcss@8.4.47): + dependencies: + cssnano-utils: 4.0.2(postcss@8.4.47) + postcss: 8.4.47 postcss-value-parser: 4.2.0 - postcss-merge-longhand@6.0.5(postcss@8.4.41): + postcss-merge-longhand@6.0.5(postcss@8.4.47): dependencies: - postcss: 8.4.41 + postcss: 8.4.47 postcss-value-parser: 4.2.0 - stylehacks: 6.1.1(postcss@8.4.41) + stylehacks: 6.1.1(postcss@8.4.47) - postcss-merge-rules@6.1.1(postcss@8.4.41): + postcss-merge-rules@6.1.1(postcss@8.4.47): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 caniuse-api: 3.0.0 - cssnano-utils: 4.0.2(postcss@8.4.41) - postcss: 8.4.41 + cssnano-utils: 4.0.2(postcss@8.4.47) + postcss: 8.4.47 postcss-selector-parser: 6.1.2 - postcss-minify-font-values@6.1.0(postcss@8.4.41): + postcss-minify-font-values@6.1.0(postcss@8.4.47): dependencies: - postcss: 8.4.41 + postcss: 8.4.47 postcss-value-parser: 4.2.0 - postcss-minify-gradients@6.0.3(postcss@8.4.41): + postcss-minify-gradients@6.0.3(postcss@8.4.47): dependencies: colord: 2.9.3 - cssnano-utils: 4.0.2(postcss@8.4.41) - postcss: 8.4.41 + cssnano-utils: 4.0.2(postcss@8.4.47) + postcss: 8.4.47 postcss-value-parser: 4.2.0 - postcss-minify-params@6.1.0(postcss@8.4.41): + postcss-minify-params@6.1.0(postcss@8.4.47): dependencies: - browserslist: 4.23.3 - cssnano-utils: 4.0.2(postcss@8.4.41) - postcss: 8.4.41 + browserslist: 4.24.0 + cssnano-utils: 4.0.2(postcss@8.4.47) + postcss: 8.4.47 postcss-value-parser: 4.2.0 - postcss-minify-selectors@6.0.4(postcss@8.4.41): + postcss-minify-selectors@6.0.4(postcss@8.4.47): dependencies: - postcss: 8.4.41 + postcss: 8.4.47 postcss-selector-parser: 6.1.2 - postcss-modules-extract-imports@3.1.0(postcss@8.4.41): + postcss-modules-extract-imports@3.1.0(postcss@8.4.47): dependencies: - postcss: 8.4.41 + postcss: 8.4.47 - postcss-modules-local-by-default@4.0.5(postcss@8.4.41): + postcss-modules-local-by-default@4.0.5(postcss@8.4.47): dependencies: - icss-utils: 5.1.0(postcss@8.4.41) - postcss: 8.4.41 + icss-utils: 5.1.0(postcss@8.4.47) + postcss: 8.4.47 postcss-selector-parser: 6.1.2 postcss-value-parser: 4.2.0 - postcss-modules-scope@3.2.0(postcss@8.4.41): + postcss-modules-scope@3.2.0(postcss@8.4.47): dependencies: - postcss: 8.4.41 + postcss: 8.4.47 postcss-selector-parser: 6.1.2 - postcss-modules-values@4.0.0(postcss@8.4.41): + postcss-modules-values@4.0.0(postcss@8.4.47): dependencies: - icss-utils: 5.1.0(postcss@8.4.41) - postcss: 8.4.41 + icss-utils: 5.1.0(postcss@8.4.47) + postcss: 8.4.47 - postcss-normalize-charset@6.0.2(postcss@8.4.41): + postcss-normalize-charset@6.0.2(postcss@8.4.47): dependencies: - postcss: 8.4.41 + postcss: 8.4.47 - postcss-normalize-display-values@6.0.2(postcss@8.4.41): + postcss-normalize-display-values@6.0.2(postcss@8.4.47): dependencies: - postcss: 8.4.41 + postcss: 8.4.47 postcss-value-parser: 4.2.0 - postcss-normalize-positions@6.0.2(postcss@8.4.41): + postcss-normalize-positions@6.0.2(postcss@8.4.47): dependencies: - postcss: 8.4.41 + postcss: 8.4.47 postcss-value-parser: 4.2.0 - postcss-normalize-repeat-style@6.0.2(postcss@8.4.41): + postcss-normalize-repeat-style@6.0.2(postcss@8.4.47): dependencies: - postcss: 8.4.41 + postcss: 8.4.47 postcss-value-parser: 4.2.0 - postcss-normalize-string@6.0.2(postcss@8.4.41): + postcss-normalize-string@6.0.2(postcss@8.4.47): dependencies: - postcss: 8.4.41 + postcss: 8.4.47 postcss-value-parser: 4.2.0 - postcss-normalize-timing-functions@6.0.2(postcss@8.4.41): + postcss-normalize-timing-functions@6.0.2(postcss@8.4.47): dependencies: - postcss: 8.4.41 + postcss: 8.4.47 postcss-value-parser: 4.2.0 - postcss-normalize-unicode@6.1.0(postcss@8.4.41): + postcss-normalize-unicode@6.1.0(postcss@8.4.47): dependencies: - browserslist: 4.23.3 - postcss: 8.4.41 + browserslist: 4.24.0 + postcss: 8.4.47 postcss-value-parser: 4.2.0 - postcss-normalize-url@6.0.2(postcss@8.4.41): + postcss-normalize-url@6.0.2(postcss@8.4.47): dependencies: - postcss: 8.4.41 + postcss: 8.4.47 postcss-value-parser: 4.2.0 - postcss-normalize-whitespace@6.0.2(postcss@8.4.41): + postcss-normalize-whitespace@6.0.2(postcss@8.4.47): dependencies: - postcss: 8.4.41 + postcss: 8.4.47 postcss-value-parser: 4.2.0 - postcss-ordered-values@6.0.2(postcss@8.4.41): + postcss-ordered-values@6.0.2(postcss@8.4.47): dependencies: - cssnano-utils: 4.0.2(postcss@8.4.41) - postcss: 8.4.41 + cssnano-utils: 4.0.2(postcss@8.4.47) + postcss: 8.4.47 postcss-value-parser: 4.2.0 - postcss-reduce-idents@6.0.3(postcss@8.4.41): + postcss-prefix-selector@1.16.1(postcss@8.4.47): dependencies: - postcss: 8.4.41 + postcss: 8.4.47 + + postcss-reduce-idents@6.0.3(postcss@8.4.47): + dependencies: + postcss: 8.4.47 postcss-value-parser: 4.2.0 - postcss-reduce-initial@6.1.0(postcss@8.4.41): + postcss-reduce-initial@6.1.0(postcss@8.4.47): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 caniuse-api: 3.0.0 - postcss: 8.4.41 + postcss: 8.4.47 - postcss-reduce-transforms@6.0.2(postcss@8.4.41): + postcss-reduce-transforms@6.0.2(postcss@8.4.47): dependencies: - postcss: 8.4.41 + postcss: 8.4.47 postcss-value-parser: 4.2.0 postcss-selector-parser@6.1.2: @@ -11588,39 +11999,45 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss-sort-media-queries@5.2.0(postcss@8.4.41): + postcss-sort-media-queries@5.2.0(postcss@8.4.47): dependencies: - postcss: 8.4.41 + postcss: 8.4.47 sort-css-media-queries: 2.2.0 - postcss-svgo@6.0.3(postcss@8.4.41): + postcss-svgo@6.0.3(postcss@8.4.47): dependencies: - postcss: 8.4.41 + postcss: 8.4.47 postcss-value-parser: 4.2.0 svgo: 3.3.2 - postcss-unique-selectors@6.0.4(postcss@8.4.41): + postcss-unique-selectors@6.0.4(postcss@8.4.47): dependencies: - postcss: 8.4.41 + postcss: 8.4.47 postcss-selector-parser: 6.1.2 postcss-value-parser@4.2.0: {} - postcss-zindex@6.0.2(postcss@8.4.41): + postcss-zindex@6.0.2(postcss@8.4.47): dependencies: - postcss: 8.4.41 + postcss: 8.4.47 postcss@8.4.38: dependencies: nanoid: 3.3.7 - picocolors: 1.0.1 - source-map-js: 1.2.0 + picocolors: 1.1.0 + source-map-js: 1.2.1 postcss@8.4.41: dependencies: nanoid: 3.3.7 - picocolors: 1.0.1 - source-map-js: 1.2.0 + picocolors: 1.1.0 + source-map-js: 1.2.1 + + postcss@8.4.47: + dependencies: + nanoid: 3.3.7 + picocolors: 1.1.0 + source-map-js: 1.2.1 pretty-error@4.0.0: dependencies: @@ -11629,7 +12046,7 @@ snapshots: pretty-time@1.1.0: {} - prism-react-renderer@2.3.1(react@18.3.1): + prism-react-renderer@2.4.0(react@18.3.1): dependencies: '@types/prismjs': 1.26.4 clsx: 2.1.1 @@ -11671,7 +12088,7 @@ snapshots: dependencies: escape-goat: 4.0.0 - qs@6.11.0: + qs@6.13.0: dependencies: side-channel: 1.0.6 @@ -11718,18 +12135,18 @@ snapshots: minimist: 1.2.8 strip-json-comments: 2.0.1 - react-dev-utils@12.0.1(typescript@5.5.4)(webpack@5.93.0): + react-dev-utils@12.0.1(typescript@5.5.4)(webpack@5.95.0): dependencies: - '@babel/code-frame': 7.24.7 + '@babel/code-frame': 7.25.7 address: 1.2.2 - browserslist: 4.23.3 + browserslist: 4.24.0 chalk: 4.1.2 cross-spawn: 7.0.3 detect-port-alt: 1.1.6 escape-string-regexp: 4.0.0 filesize: 8.0.7 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(typescript@5.5.4)(webpack@5.93.0) + fork-ts-checker-webpack-plugin: 6.5.3(typescript@5.5.4)(webpack@5.95.0) global-modules: 2.0.0 globby: 11.1.0 gzip-size: 6.0.0 @@ -11744,7 +12161,7 @@ snapshots: shell-quote: 1.8.1 strip-ansi: 6.0.1 text-table: 0.2.0 - webpack: 5.93.0 + webpack: 5.95.0 optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: @@ -11752,6 +12169,40 @@ snapshots: - supports-color - vue-template-compiler + react-dev-utils@12.0.1(typescript@5.6.2)(webpack@5.95.0): + dependencies: + '@babel/code-frame': 7.25.7 + address: 1.2.2 + browserslist: 4.24.0 + chalk: 4.1.2 + cross-spawn: 7.0.3 + detect-port-alt: 1.1.6 + escape-string-regexp: 4.0.0 + filesize: 8.0.7 + find-up: 5.0.0 + fork-ts-checker-webpack-plugin: 6.5.3(typescript@5.6.2)(webpack@5.95.0) + global-modules: 2.0.0 + globby: 11.1.0 + gzip-size: 6.0.0 + immer: 9.0.21 + is-root: 2.1.0 + loader-utils: 3.3.1 + open: 8.4.2 + pkg-up: 3.1.0 + prompts: 2.4.2 + react-error-overlay: 6.0.11 + recursive-readdir: 2.2.3 + shell-quote: 1.8.1 + strip-ansi: 6.0.1 + text-table: 0.2.0 + webpack: 5.95.0 + optionalDependencies: + typescript: 5.6.2 + transitivePeerDependencies: + - eslint + - supports-color + - vue-template-compiler + react-dom@18.3.1(react@18.3.1): dependencies: loose-envify: 1.4.0 @@ -11764,7 +12215,7 @@ snapshots: react-helmet-async@1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.7 invariant: 2.2.4 prop-types: 15.8.1 react: 18.3.1 @@ -11783,25 +12234,25 @@ snapshots: react-is@18.3.1: {} - react-json-view-lite@1.4.0(react@18.3.1): + react-json-view-lite@1.5.0(react@18.3.1): dependencies: react: 18.3.1 - react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.93.0): + react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.95.0): dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.7 react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)' - webpack: 5.93.0 + webpack: 5.95.0 react-router-config@5.1.1(react-router@5.3.4(react@18.3.1))(react@18.3.1): dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.7 react: 18.3.1 react-router: 5.3.4(react@18.3.1) react-router-dom@5.3.4(react@18.3.1): dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.7 history: 4.10.1 loose-envify: 1.4.0 prop-types: 15.8.1 @@ -11812,11 +12263,11 @@ snapshots: react-router@5.3.4(react@18.3.1): dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.7 history: 4.10.1 hoist-non-react-statics: 3.3.2 loose-envify: 1.4.0 - path-to-regexp: 1.8.0 + path-to-regexp: 3.3.0 prop-types: 15.8.1 react: 18.3.1 react-is: 16.13.1 @@ -11869,21 +12320,21 @@ snapshots: dependencies: minimatch: 3.1.2 - redoc@2.1.5(core-js@3.38.0)(enzyme@3.11.0)(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): + redoc@2.1.5(core-js@3.38.1)(enzyme@3.11.0)(mobx@6.13.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): dependencies: '@cfaester/enzyme-adapter-react-18': 0.8.0(enzyme@3.11.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@redocly/openapi-core': 1.16.0 classnames: 2.5.1 - core-js: 3.38.0 + core-js: 3.38.1 decko: 1.2.0 - dompurify: 3.1.6 + dompurify: 3.1.7 eventemitter3: 5.0.1 json-pointer: 0.6.2 lunr: 2.3.9 mark.js: 8.11.1 marked: 4.3.0 - mobx: 6.13.1 - mobx-react: 9.1.1(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + mobx: 6.13.3 + mobx-react: 9.1.1(mobx@6.13.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) openapi-sampler: 1.5.1 path-browserify: 1.0.1 perfect-scrollbar: 1.5.5 @@ -11895,7 +12346,7 @@ snapshots: react-tabs: 6.0.2(react@18.3.1) slugify: 1.4.7 stickyfill: 1.1.1 - styled-components: 6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + styled-components: 6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) swagger2openapi: 7.0.8 url-template: 2.0.8 transitivePeerDependencies: @@ -11904,12 +12355,12 @@ snapshots: - react-native - supports-color - redocusaurus@2.1.1(@docusaurus/theme-common@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/utils@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4))(core-js@3.38.0)(enzyme@3.11.0)(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(webpack@5.93.0): + redocusaurus@2.1.2(@docusaurus/theme-common@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/utils@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2))(core-js@3.38.1)(enzyme@3.11.0)(mobx@6.13.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(webpack@5.95.0): dependencies: - '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - docusaurus-plugin-redoc: 2.1.1(@docusaurus/utils@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4))(core-js@3.38.0)(enzyme@3.11.0)(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - docusaurus-theme-redoc: 2.1.1(@docusaurus/theme-common@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(core-js@3.38.0)(enzyme@3.11.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(webpack@5.93.0) + '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) + docusaurus-plugin-redoc: 2.1.1(@docusaurus/utils@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2))(core-js@3.38.1)(enzyme@3.11.0)(mobx@6.13.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + docusaurus-theme-redoc: 2.1.2(@docusaurus/theme-common@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(core-js@3.38.1)(enzyme@3.11.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(webpack@5.95.0) transitivePeerDependencies: - core-js - encoding @@ -11924,7 +12375,7 @@ snapshots: reftools@1.1.9: {} - regenerate-unicode-properties@10.1.1: + regenerate-unicode-properties@10.2.0: dependencies: regenerate: 1.4.2 @@ -11934,23 +12385,23 @@ snapshots: regenerator-transform@0.15.2: dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.7 - regexp.prototype.flags@1.5.2: + regexp.prototype.flags@1.5.3: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-errors: 1.3.0 set-function-name: 2.0.2 - regexpu-core@5.3.2: + regexpu-core@6.1.1: dependencies: - '@babel/regjsgen': 0.8.0 regenerate: 1.4.2 - regenerate-unicode-properties: 10.1.1 - regjsparser: 0.9.1 + regenerate-unicode-properties: 10.2.0 + regjsgen: 0.8.0 + regjsparser: 0.11.0 unicode-match-property-ecmascript: 2.0.0 - unicode-match-property-value-ecmascript: 2.1.0 + unicode-match-property-value-ecmascript: 2.2.0 registry-auth-token@5.0.2: dependencies: @@ -11960,15 +12411,17 @@ snapshots: dependencies: rc: 1.2.8 - regjsparser@0.9.1: + regjsgen@0.8.0: {} + + regjsparser@0.11.0: dependencies: - jsesc: 0.5.0 + jsesc: 3.0.2 rehype-raw@7.0.0: dependencies: '@types/hast': 3.0.4 hast-util-raw: 9.0.4 - vfile: 6.0.2 + vfile: 6.0.3 relateurl@0.2.7: {} @@ -11976,7 +12429,7 @@ snapshots: dependencies: '@types/mdast': 4.0.4 mdast-util-directive: 3.0.0 - micromark-extension-directive: 3.0.1 + micromark-extension-directive: 3.0.2 unified: 11.0.5 transitivePeerDependencies: - supports-color @@ -12025,13 +12478,13 @@ snapshots: transitivePeerDependencies: - supports-color - remark-rehype@11.1.0: + remark-rehype@11.1.1: dependencies: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 mdast-util-to-hast: 13.2.0 unified: 11.0.5 - vfile: 6.0.2 + vfile: 6.0.3 remark-stringify@11.0.0: dependencies: @@ -12065,7 +12518,7 @@ snapshots: resolve@1.22.8: dependencies: - is-core-module: 2.15.0 + is-core-module: 2.15.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -12096,8 +12549,8 @@ snapshots: rtlcss@4.2.0: dependencies: - escalade: 3.1.2 - picocolors: 1.0.1 + escalade: 3.2.0 + picocolors: 1.1.0 postcss: 8.4.41 strip-json-comments: 3.1.1 @@ -12179,7 +12632,7 @@ snapshots: semver@7.6.3: {} - send@0.18.0: + send@0.19.0: dependencies: debug: 2.6.9 depd: 2.0.0 @@ -12209,7 +12662,7 @@ snapshots: mime-types: 2.1.18 minimatch: 3.1.2 path-is-inside: 1.0.2 - path-to-regexp: 2.2.1 + path-to-regexp: 3.3.0 range-parser: 1.2.0 serve-index@1.9.1: @@ -12224,12 +12677,12 @@ snapshots: transitivePeerDependencies: - supports-color - serve-static@1.15.0: + serve-static@1.16.2: dependencies: - encodeurl: 1.0.2 + encodeurl: 2.0.0 escape-html: 1.0.3 parseurl: 1.3.3 - send: 0.18.0 + send: 0.19.0 transitivePeerDependencies: - supports-color @@ -12310,7 +12763,7 @@ snapshots: sirv@2.0.4: dependencies: - '@polka/url': 1.0.0-next.25 + '@polka/url': 1.0.0-next.28 mrmime: 2.0.0 totalist: 3.0.1 @@ -12336,7 +12789,7 @@ snapshots: snake-case@3.0.4: dependencies: dot-case: 3.0.4 - tslib: 2.6.3 + tslib: 2.7.0 sockjs@0.3.24: dependencies: @@ -12348,7 +12801,7 @@ snapshots: source-list-map@2.0.1: {} - source-map-js@1.2.0: {} + source-map-js@1.2.1: {} source-map-support@0.5.21: dependencies: @@ -12365,7 +12818,7 @@ snapshots: spdy-transport@3.0.0: dependencies: - debug: 4.3.6 + debug: 4.3.7 detect-node: 2.1.0 hpack.js: 2.1.6 obuf: 1.1.2 @@ -12376,7 +12829,7 @@ snapshots: spdy@4.0.2: dependencies: - debug: 4.3.6 + debug: 4.3.7 handle-thing: 2.0.1 http-deceiver: 1.2.7 select-hose: 2.0.0 @@ -12452,7 +12905,7 @@ snapshots: strip-ansi@7.1.0: dependencies: - ansi-regex: 6.0.1 + ansi-regex: 6.1.0 strip-bom-string@1.0.0: {} @@ -12466,11 +12919,11 @@ snapshots: dependencies: inline-style-parser: 0.1.1 - style-to-object@1.0.6: + style-to-object@1.0.8: dependencies: - inline-style-parser: 0.2.3 + inline-style-parser: 0.2.4 - styled-components@6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@emotion/is-prop-valid': 1.2.2 '@emotion/unitless': 0.8.1 @@ -12484,10 +12937,10 @@ snapshots: stylis: 4.3.2 tslib: 2.6.2 - stylehacks@6.1.1(postcss@8.4.41): + stylehacks@6.1.1(postcss@8.4.47): dependencies: - browserslist: 4.23.3 - postcss: 8.4.41 + browserslist: 4.24.0 + postcss: 8.4.47 postcss-selector-parser: 6.1.2 stylis@4.3.2: {} @@ -12516,7 +12969,7 @@ snapshots: css-tree: 2.3.1 css-what: 6.1.0 csso: 5.0.5 - picocolors: 1.0.1 + picocolors: 1.1.0 swagger2openapi@7.0.8: dependencies: @@ -12540,16 +12993,16 @@ snapshots: tapable@2.2.1: {} - terser-webpack-plugin@5.3.10(webpack@5.93.0): + terser-webpack-plugin@5.3.10(webpack@5.95.0): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 - terser: 5.31.6 - webpack: 5.93.0 + terser: 5.34.1 + webpack: 5.95.0 - terser@5.31.6: + terser@5.34.1: dependencies: '@jridgewell/source-map': 0.3.6 acorn: 8.12.1 @@ -12597,11 +13050,13 @@ snapshots: tslib@2.6.3: {} + tslib@2.7.0: {} + type-fest@1.4.0: {} type-fest@2.19.0: {} - type-fest@4.24.0: {} + type-fest@4.26.1: {} type-is@1.6.18: dependencies: @@ -12646,6 +13101,8 @@ snapshots: typescript@5.5.4: {} + typescript@5.6.2: {} + unbox-primitive@1.0.2: dependencies: call-bind: 1.0.7 @@ -12655,18 +13112,20 @@ snapshots: undici-types@5.26.5: {} - undici@6.19.7: {} + undici-types@6.19.8: {} - unicode-canonical-property-names-ecmascript@2.0.0: {} + undici@6.19.8: {} + + unicode-canonical-property-names-ecmascript@2.0.1: {} unicode-emoji-modifier-base@1.0.0: {} unicode-match-property-ecmascript@2.0.0: dependencies: - unicode-canonical-property-names-ecmascript: 2.0.0 + unicode-canonical-property-names-ecmascript: 2.0.1 unicode-property-aliases-ecmascript: 2.1.0 - unicode-match-property-value-ecmascript@2.1.0: {} + unicode-match-property-value-ecmascript@2.2.0: {} unicode-property-aliases-ecmascript@2.1.0: {} @@ -12678,7 +13137,7 @@ snapshots: extend: 3.0.2 is-plain-obj: 4.1.0 trough: 2.2.0 - vfile: 6.0.2 + vfile: 6.0.3 unique-string@3.0.0: dependencies: @@ -12696,11 +13155,6 @@ snapshots: dependencies: '@types/unist': 3.0.3 - unist-util-remove-position@5.0.0: - dependencies: - '@types/unist': 3.0.3 - unist-util-visit: 5.0.0 - unist-util-stringify-position@4.0.0: dependencies: '@types/unist': 3.0.3 @@ -12722,17 +13176,11 @@ snapshots: unpipe@1.0.0: {} - update-browserslist-db@1.1.0(browserslist@4.23.2): + update-browserslist-db@1.1.1(browserslist@4.24.0): dependencies: - browserslist: 4.23.2 - escalade: 3.1.2 - picocolors: 1.0.1 - - update-browserslist-db@1.1.0(browserslist@4.23.3): - dependencies: - browserslist: 4.23.3 - escalade: 3.1.2 - picocolors: 1.0.1 + browserslist: 4.24.0 + escalade: 3.2.0 + picocolors: 1.1.0 update-notifier@6.0.2: dependencies: @@ -12751,18 +13199,20 @@ snapshots: semver-diff: 4.0.0 xdg-basedir: 5.1.0 + uri-js-replace@1.0.1: {} + uri-js@4.4.1: dependencies: punycode: 2.3.1 - url-loader@4.1.1(file-loader@6.2.0(webpack@5.93.0))(webpack@5.93.0): + url-loader@4.1.1(file-loader@6.2.0(webpack@5.95.0))(webpack@5.95.0): dependencies: loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.3.0 - webpack: 5.93.0 + webpack: 5.95.0 optionalDependencies: - file-loader: 6.2.0(webpack@5.93.0) + file-loader: 6.2.0(webpack@5.95.0) url-parse@1.5.10: dependencies: @@ -12792,17 +13242,16 @@ snapshots: vfile-location@5.0.3: dependencies: '@types/unist': 3.0.3 - vfile: 6.0.2 + vfile: 6.0.3 vfile-message@4.0.2: dependencies: '@types/unist': 3.0.3 unist-util-stringify-position: 4.0.0 - vfile@6.0.2: + vfile@6.0.3: dependencies: '@types/unist': 3.0.3 - unist-util-stringify-position: 4.0.0 vfile-message: 4.0.2 w3c-xmlserializer@5.0.0: @@ -12828,30 +13277,30 @@ snapshots: dependencies: '@discoveryjs/json-ext': 0.5.7 acorn: 8.12.1 - acorn-walk: 8.3.3 + acorn-walk: 8.3.4 commander: 7.2.0 debounce: 1.2.1 escape-string-regexp: 4.0.0 gzip-size: 6.0.0 html-escaper: 2.0.2 opener: 1.5.2 - picocolors: 1.0.1 + picocolors: 1.1.0 sirv: 2.0.4 ws: 7.5.10 transitivePeerDependencies: - bufferutil - utf-8-validate - webpack-dev-middleware@5.3.4(webpack@5.93.0): + webpack-dev-middleware@5.3.4(webpack@5.95.0): dependencies: colorette: 2.0.20 memfs: 3.5.3 mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.93.0 + webpack: 5.95.0 - webpack-dev-server@4.15.2(debug@4.3.6)(webpack@5.93.0): + webpack-dev-server@4.15.2(debug@4.3.7)(webpack@5.95.0): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -12867,12 +13316,12 @@ snapshots: compression: 1.7.4 connect-history-api-fallback: 2.0.0 default-gateway: 6.0.3 - express: 4.19.2 + express: 4.21.0 graceful-fs: 4.2.11 html-entities: 2.5.2 - http-proxy-middleware: 2.0.6(@types/express@4.17.21)(debug@4.3.6) + http-proxy-middleware: 2.0.6(@types/express@4.17.21)(debug@4.3.7) ipaddr.js: 2.2.0 - launch-editor: 2.8.1 + launch-editor: 2.9.1 open: 8.4.2 p-retry: 4.6.2 rimraf: 3.0.2 @@ -12881,10 +13330,10 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 5.3.4(webpack@5.93.0) + webpack-dev-middleware: 5.3.4(webpack@5.95.0) ws: 8.18.0 optionalDependencies: - webpack: 5.93.0 + webpack: 5.95.0 transitivePeerDependencies: - bufferutil - debug @@ -12904,16 +13353,15 @@ snapshots: webpack-sources@3.2.3: {} - webpack@5.93.0: + webpack@5.95.0: dependencies: - '@types/eslint-scope': 3.7.7 - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/wasm-edit': 1.12.1 '@webassemblyjs/wasm-parser': 1.12.1 acorn: 8.12.1 acorn-import-attributes: 1.9.5(acorn@8.12.1) - browserslist: 4.23.3 + browserslist: 4.24.0 chrome-trace-event: 1.0.4 enhanced-resolve: 5.17.1 es-module-lexer: 1.5.4 @@ -12927,7 +13375,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(webpack@5.93.0) + terser-webpack-plugin: 5.3.10(webpack@5.95.0) watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -12935,13 +13383,13 @@ snapshots: - esbuild - uglify-js - webpackbar@5.0.2(webpack@5.93.0): + webpackbar@5.0.2(webpack@5.95.0): dependencies: chalk: 4.1.2 consola: 2.15.3 pretty-time: 1.1.0 std-env: 3.7.0 - webpack: 5.93.0 + webpack: 5.95.0 websocket-driver@0.7.4: dependencies: diff --git a/web/package.json b/web/package.json index 73658eaa8..73614bf43 100644 --- a/web/package.json +++ b/web/package.json @@ -21,49 +21,49 @@ "@intlify/unplugin-vue-i18n": "^4.0.0", "@kyvg/vue3-notification": "^3.2.1", "@mdi/js": "^7.4.47", - "@vueuse/core": "^10.10.0", + "@vueuse/core": "^10.11.1", "ansi_up": "^6.0.2", - "dayjs": "^1.11.11", + "dayjs": "^1.11.12", "fuse.js": "^7.0.0", "js-base64": "^3.7.7", "lodash": "^4.17.21", "node-emoji": "^2.1.3", - "pinia": "^2.1.7", + "pinia": "^2.2.1", "prismjs": "^1.29.0", - "semver": "^7.6.2", - "simple-icons": "^13.0.0", - "vue": "^3.4.27", + "semver": "^7.6.3", + "simple-icons": "^13.5.0", + "vue": "^3.4.38", "vue-i18n": "^9.13.1", - "vue-router": "^4.3.2" + "vue-router": "^4.4.3" }, "devDependencies": { - "@antfu/eslint-config": "^3.0.0", - "@eslint/js": "^9.4.0", - "@ianvs/prettier-plugin-sort-imports": "^4.2.1", + "@antfu/eslint-config": "^3.3.2", + "@eslint/js": "^9.9.0", + "@ianvs/prettier-plugin-sort-imports": "^4.3.1", "@intlify/eslint-plugin-vue-i18n": "3.0.0", "@types/eslint__js": "^8.42.3", - "@types/lodash": "^4.17.4", - "@types/node": "^20.14.2", + "@types/lodash": "^4.17.7", + "@types/node": "^20.14.15", "@types/prismjs": "^1.26.4", "@types/semver": "^7.5.8", "@types/tinycolor2": "^1.4.6", - "@vitejs/plugin-vue": "^5.0.5", - "@vue/compiler-sfc": "^3.4.27", + "@vitejs/plugin-vue": "^5.1.2", + "@vue/compiler-sfc": "^3.4.38", "@vue/test-utils": "^2.4.6", - "eslint": "^9.4.0", - "eslint-plugin-promise": "^7.0.0", - "eslint-plugin-vue-scoped-css": "^2.8.0", + "eslint": "^9.9.0", + "eslint-plugin-promise": "^7.1.0", + "eslint-plugin-vue-scoped-css": "^2.8.1", "jsdom": "^25.0.0", - "prettier": "^3.3.0", - "replace-in-file": "^8.0.0", + "prettier": "^3.3.3", + "replace-in-file": "^8.1.0", "tinycolor2": "^1.6.0", "typescript": "5.5.4", - "vite": "^5.2.12", + "vite": "^5.4.1", "vite-plugin-prismjs": "^0.0.11", "vite-plugin-windicss": "^1.9.3", "vite-svg-loader": "^5.1.0", - "vitest": "^2.0.0", - "vue-tsc": "^2.0.19", + "vitest": "^2.0.5", + "vue-tsc": "^2.0.29", "windicss": "^3.5.6" }, "pnpm": { diff --git a/web/pnpm-lock.yaml b/web/pnpm-lock.yaml index 33185d220..7e7eadca6 100644 --- a/web/pnpm-lock.yaml +++ b/web/pnpm-lock.yaml @@ -13,7 +13,7 @@ importers: dependencies: '@intlify/unplugin-vue-i18n': specifier: ^4.0.0 - version: 4.0.0(rollup@4.20.0)(vue-i18n@9.13.1(vue@3.4.38(typescript@5.5.4))) + version: 4.0.0(rollup@4.24.0)(vue-i18n@9.13.1(vue@3.4.38(typescript@5.5.4))) '@kyvg/vue3-notification': specifier: ^3.2.1 version: 3.2.1(vue@3.4.38(typescript@5.5.4)) @@ -21,13 +21,13 @@ importers: specifier: ^7.4.47 version: 7.4.47 '@vueuse/core': - specifier: ^10.10.0 + specifier: ^10.11.1 version: 10.11.1(vue@3.4.38(typescript@5.5.4)) ansi_up: specifier: ^6.0.2 version: 6.0.2 dayjs: - specifier: ^1.11.11 + specifier: ^1.11.12 version: 1.11.12 fuse.js: specifier: ^7.0.0 @@ -42,35 +42,35 @@ importers: specifier: ^2.1.3 version: 2.1.3 pinia: - specifier: ^2.1.7 + specifier: ^2.2.1 version: 2.2.1(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) prismjs: specifier: ^1.29.0 version: 1.29.0 semver: - specifier: ^7.6.2 + specifier: ^7.6.3 version: 7.6.3 simple-icons: - specifier: ^13.0.0 + specifier: ^13.5.0 version: 13.5.0 vue: - specifier: ^3.4.27 + specifier: ^3.4.38 version: 3.4.38(typescript@5.5.4) vue-i18n: specifier: ^9.13.1 version: 9.13.1(vue@3.4.38(typescript@5.5.4)) vue-router: - specifier: ^4.3.2 + specifier: ^4.4.3 version: 4.4.3(vue@3.4.38(typescript@5.5.4)) devDependencies: '@antfu/eslint-config': - specifier: ^3.0.0 + specifier: ^3.3.2 version: 3.3.2(@typescript-eslint/utils@8.4.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(@vue/compiler-sfc@3.4.38)(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)(vitest@2.0.5(@types/node@20.14.15)(jsdom@25.0.0)(stylus@0.57.0)) '@eslint/js': - specifier: ^9.4.0 + specifier: ^9.9.0 version: 9.9.0 '@ianvs/prettier-plugin-sort-imports': - specifier: ^4.2.1 + specifier: ^4.3.1 version: 4.3.1(@vue/compiler-sfc@3.4.38)(prettier@3.3.3) '@intlify/eslint-plugin-vue-i18n': specifier: 3.0.0 @@ -79,10 +79,10 @@ importers: specifier: ^8.42.3 version: 8.42.3 '@types/lodash': - specifier: ^4.17.4 + specifier: ^4.17.7 version: 4.17.7 '@types/node': - specifier: ^20.14.2 + specifier: ^20.14.15 version: 20.14.15 '@types/prismjs': specifier: ^1.26.4 @@ -94,31 +94,31 @@ importers: specifier: ^1.4.6 version: 1.4.6 '@vitejs/plugin-vue': - specifier: ^5.0.5 + specifier: ^5.1.2 version: 5.1.2(vite@5.4.1(@types/node@20.14.15)(stylus@0.57.0))(vue@3.4.38(typescript@5.5.4)) '@vue/compiler-sfc': - specifier: ^3.4.27 + specifier: ^3.4.38 version: 3.4.38 '@vue/test-utils': specifier: ^2.4.6 version: 2.4.6 eslint: - specifier: ^9.4.0 + specifier: ^9.9.0 version: 9.9.0(jiti@1.21.6) eslint-plugin-promise: - specifier: ^7.0.0 + specifier: ^7.1.0 version: 7.1.0(eslint@9.9.0(jiti@1.21.6)) eslint-plugin-vue-scoped-css: - specifier: ^2.8.0 + specifier: ^2.8.1 version: 2.8.1(eslint@9.9.0(jiti@1.21.6))(vue-eslint-parser@9.4.3(eslint@9.9.0(jiti@1.21.6))) jsdom: specifier: ^25.0.0 version: 25.0.0 prettier: - specifier: ^3.3.0 + specifier: ^3.3.3 version: 3.3.3 replace-in-file: - specifier: ^8.0.0 + specifier: ^8.1.0 version: 8.1.0 tinycolor2: specifier: ^1.6.0 @@ -127,7 +127,7 @@ importers: specifier: 5.5.4 version: 5.5.4 vite: - specifier: ^5.2.12 + specifier: ^5.4.1 version: 5.4.1(@types/node@20.14.15)(stylus@0.57.0) vite-plugin-prismjs: specifier: ^0.0.11 @@ -139,10 +139,10 @@ importers: specifier: ^5.1.0 version: 5.1.0(vue@3.4.38(typescript@5.5.4)) vitest: - specifier: ^2.0.0 + specifier: ^2.0.5 version: 2.0.5(@types/node@20.14.15)(jsdom@25.0.0)(stylus@0.57.0) vue-tsc: - specifier: ^2.0.19 + specifier: ^2.0.29 version: 2.0.29(typescript@5.5.4) windicss: specifier: ^3.5.6 @@ -600,83 +600,83 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.20.0': - resolution: {integrity: sha512-TSpWzflCc4VGAUJZlPpgAJE1+V60MePDQnBd7PPkpuEmOy8i87aL6tinFGKBFKuEDikYpig72QzdT3QPYIi+oA==} + '@rollup/rollup-android-arm-eabi@4.24.0': + resolution: {integrity: sha512-Q6HJd7Y6xdB48x8ZNVDOqsbh2uByBhgK8PiQgPhwkIw/HC/YX5Ghq2mQY5sRMZWHb3VsFkWooUVOZHKr7DmDIA==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.20.0': - resolution: {integrity: sha512-u00Ro/nok7oGzVuh/FMYfNoGqxU5CPWz1mxV85S2w9LxHR8OoMQBuSk+3BKVIDYgkpeOET5yXkx90OYFc+ytpQ==} + '@rollup/rollup-android-arm64@4.24.0': + resolution: {integrity: sha512-ijLnS1qFId8xhKjT81uBHuuJp2lU4x2yxa4ctFPtG+MqEE6+C5f/+X/bStmxapgmwLwiL3ih122xv8kVARNAZA==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.20.0': - resolution: {integrity: sha512-uFVfvzvsdGtlSLuL0ZlvPJvl6ZmrH4CBwLGEFPe7hUmf7htGAN+aXo43R/V6LATyxlKVC/m6UsLb7jbG+LG39Q==} + '@rollup/rollup-darwin-arm64@4.24.0': + resolution: {integrity: sha512-bIv+X9xeSs1XCk6DVvkO+S/z8/2AMt/2lMqdQbMrmVpgFvXlmde9mLcbQpztXm1tajC3raFDqegsH18HQPMYtA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.20.0': - resolution: {integrity: sha512-xbrMDdlev53vNXexEa6l0LffojxhqDTBeL+VUxuuIXys4x6xyvbKq5XqTXBCEUA8ty8iEJblHvFaWRJTk/icAQ==} + '@rollup/rollup-darwin-x64@4.24.0': + resolution: {integrity: sha512-X6/nOwoFN7RT2svEQWUsW/5C/fYMBe4fnLK9DQk4SX4mgVBiTA9h64kjUYPvGQ0F/9xwJ5U5UfTbl6BEjaQdBQ==} cpu: [x64] os: [darwin] - '@rollup/rollup-linux-arm-gnueabihf@4.20.0': - resolution: {integrity: sha512-jMYvxZwGmoHFBTbr12Xc6wOdc2xA5tF5F2q6t7Rcfab68TT0n+r7dgawD4qhPEvasDsVpQi+MgDzj2faOLsZjA==} + '@rollup/rollup-linux-arm-gnueabihf@4.24.0': + resolution: {integrity: sha512-0KXvIJQMOImLCVCz9uvvdPgfyWo93aHHp8ui3FrtOP57svqrF/roSSR5pjqL2hcMp0ljeGlU4q9o/rQaAQ3AYA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.20.0': - resolution: {integrity: sha512-1asSTl4HKuIHIB1GcdFHNNZhxAYEdqML/MW4QmPS4G0ivbEcBr1JKlFLKsIRqjSwOBkdItn3/ZDlyvZ/N6KPlw==} + '@rollup/rollup-linux-arm-musleabihf@4.24.0': + resolution: {integrity: sha512-it2BW6kKFVh8xk/BnHfakEeoLPv8STIISekpoF+nBgWM4d55CZKc7T4Dx1pEbTnYm/xEKMgy1MNtYuoA8RFIWw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.20.0': - resolution: {integrity: sha512-COBb8Bkx56KldOYJfMf6wKeYJrtJ9vEgBRAOkfw6Ens0tnmzPqvlpjZiLgkhg6cA3DGzCmLmmd319pmHvKWWlQ==} + '@rollup/rollup-linux-arm64-gnu@4.24.0': + resolution: {integrity: sha512-i0xTLXjqap2eRfulFVlSnM5dEbTVque/3Pi4g2y7cxrs7+a9De42z4XxKLYJ7+OhE3IgxvfQM7vQc43bwTgPwA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.20.0': - resolution: {integrity: sha512-+it+mBSyMslVQa8wSPvBx53fYuZK/oLTu5RJoXogjk6x7Q7sz1GNRsXWjn6SwyJm8E/oMjNVwPhmNdIjwP135Q==} + '@rollup/rollup-linux-arm64-musl@4.24.0': + resolution: {integrity: sha512-9E6MKUJhDuDh604Qco5yP/3qn3y7SLXYuiC0Rpr89aMScS2UAmK1wHP2b7KAa1nSjWJc/f/Lc0Wl1L47qjiyQw==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.20.0': - resolution: {integrity: sha512-yAMvqhPfGKsAxHN8I4+jE0CpLWD8cv4z7CK7BMmhjDuz606Q2tFKkWRY8bHR9JQXYcoLfopo5TTqzxgPUjUMfw==} + '@rollup/rollup-linux-powerpc64le-gnu@4.24.0': + resolution: {integrity: sha512-2XFFPJ2XMEiF5Zi2EBf4h73oR1V/lycirxZxHZNc93SqDN/IWhYYSYj8I9381ikUFXZrz2v7r2tOVk2NBwxrWw==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.20.0': - resolution: {integrity: sha512-qmuxFpfmi/2SUkAw95TtNq/w/I7Gpjurx609OOOV7U4vhvUhBcftcmXwl3rqAek+ADBwSjIC4IVNLiszoj3dPA==} + '@rollup/rollup-linux-riscv64-gnu@4.24.0': + resolution: {integrity: sha512-M3Dg4hlwuntUCdzU7KjYqbbd+BLq3JMAOhCKdBE3TcMGMZbKkDdJ5ivNdehOssMCIokNHFOsv7DO4rlEOfyKpg==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.20.0': - resolution: {integrity: sha512-I0BtGXddHSHjV1mqTNkgUZLnS3WtsqebAXv11D5BZE/gfw5KoyXSAXVqyJximQXNvNzUo4GKlCK/dIwXlz+jlg==} + '@rollup/rollup-linux-s390x-gnu@4.24.0': + resolution: {integrity: sha512-mjBaoo4ocxJppTorZVKWFpy1bfFj9FeCMJqzlMQGjpNPY9JwQi7OuS1axzNIk0nMX6jSgy6ZURDZ2w0QW6D56g==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.20.0': - resolution: {integrity: sha512-y+eoL2I3iphUg9tN9GB6ku1FA8kOfmF4oUEWhztDJ4KXJy1agk/9+pejOuZkNFhRwHAOxMsBPLbXPd6mJiCwew==} + '@rollup/rollup-linux-x64-gnu@4.24.0': + resolution: {integrity: sha512-ZXFk7M72R0YYFN5q13niV0B7G8/5dcQ9JDp8keJSfr3GoZeXEoMHP/HlvqROA3OMbMdfr19IjCeNAnPUG93b6A==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.20.0': - resolution: {integrity: sha512-hM3nhW40kBNYUkZb/r9k2FKK+/MnKglX7UYd4ZUy5DJs8/sMsIbqWK2piZtVGE3kcXVNj3B2IrUYROJMMCikNg==} + '@rollup/rollup-linux-x64-musl@4.24.0': + resolution: {integrity: sha512-w1i+L7kAXZNdYl+vFvzSZy8Y1arS7vMgIy8wusXJzRrPyof5LAb02KGr1PD2EkRcl73kHulIID0M501lN+vobQ==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.20.0': - resolution: {integrity: sha512-psegMvP+Ik/Bg7QRJbv8w8PAytPA7Uo8fpFjXyCRHWm6Nt42L+JtoqH8eDQ5hRP7/XW2UiIriy1Z46jf0Oa1kA==} + '@rollup/rollup-win32-arm64-msvc@4.24.0': + resolution: {integrity: sha512-VXBrnPWgBpVDCVY6XF3LEW0pOU51KbaHhccHw6AS6vBWIC60eqsH19DAeeObl+g8nKAz04QFdl/Cefta0xQtUQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.20.0': - resolution: {integrity: sha512-GabekH3w4lgAJpVxkk7hUzUf2hICSQO0a/BLFA11/RMxQT92MabKAqyubzDZmMOC/hcJNlc+rrypzNzYl4Dx7A==} + '@rollup/rollup-win32-ia32-msvc@4.24.0': + resolution: {integrity: sha512-xrNcGDU0OxVcPTH/8n/ShH4UevZxKIO6HJFK0e15XItZP2UcaiLFd5kiX7hJnqCbSztUF8Qot+JWBC/QXRPYWQ==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.20.0': - resolution: {integrity: sha512-aJ1EJSuTdGnM6qbVC4B5DSmozPTqIag9fSzXRNNo+humQLG89XpPgdt16Ia56ORD7s+H8Pmyx44uczDQ0yDzpg==} + '@rollup/rollup-win32-x64-msvc@4.24.0': + resolution: {integrity: sha512-fbMkAF7fufku0N2dE5TBXcNlg0pt0cJue4xBRE2Qc5Vqikxr4VCgKj/ht6SMdFcOacVA9rqF70APJ8RN/4vMJw==} cpu: [x64] os: [win32] @@ -709,6 +709,9 @@ packages: '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + '@types/estree@1.0.6': + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} @@ -1942,8 +1945,8 @@ packages: micromark@2.11.4: resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} - micromatch@4.0.7: - resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} mime-db@1.52.0: @@ -2277,8 +2280,8 @@ packages: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rollup@4.20.0: - resolution: {integrity: sha512-6rbWBChcnSGzIlXeIdNIZTopKYad8ZG8ajhl78lGRLsI2rX8IkaotQhVas2Ma+GPxJav19wrSzvRvuiv0YKzWw==} + rollup@4.24.0: + resolution: {integrity: sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -3176,11 +3179,11 @@ snapshots: '@intlify/shared@9.13.1': {} - '@intlify/unplugin-vue-i18n@4.0.0(rollup@4.20.0)(vue-i18n@9.13.1(vue@3.4.38(typescript@5.5.4)))': + '@intlify/unplugin-vue-i18n@4.0.0(rollup@4.24.0)(vue-i18n@9.13.1(vue@3.4.38(typescript@5.5.4)))': dependencies: '@intlify/bundle-utils': 8.0.0(vue-i18n@9.13.1(vue@3.4.38(typescript@5.5.4))) '@intlify/shared': 9.13.1 - '@rollup/pluginutils': 5.1.0(rollup@4.20.0) + '@rollup/pluginutils': 5.1.0(rollup@4.24.0) '@vue/compiler-sfc': 3.4.38 debug: 4.3.6 fast-glob: 3.3.2 @@ -3247,60 +3250,60 @@ snapshots: '@pkgr/core@0.1.1': {} - '@rollup/pluginutils@5.1.0(rollup@4.20.0)': + '@rollup/pluginutils@5.1.0(rollup@4.24.0)': dependencies: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 optionalDependencies: - rollup: 4.20.0 + rollup: 4.24.0 - '@rollup/rollup-android-arm-eabi@4.20.0': + '@rollup/rollup-android-arm-eabi@4.24.0': optional: true - '@rollup/rollup-android-arm64@4.20.0': + '@rollup/rollup-android-arm64@4.24.0': optional: true - '@rollup/rollup-darwin-arm64@4.20.0': + '@rollup/rollup-darwin-arm64@4.24.0': optional: true - '@rollup/rollup-darwin-x64@4.20.0': + '@rollup/rollup-darwin-x64@4.24.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.20.0': + '@rollup/rollup-linux-arm-gnueabihf@4.24.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.20.0': + '@rollup/rollup-linux-arm-musleabihf@4.24.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.20.0': + '@rollup/rollup-linux-arm64-gnu@4.24.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.20.0': + '@rollup/rollup-linux-arm64-musl@4.24.0': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.20.0': + '@rollup/rollup-linux-powerpc64le-gnu@4.24.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.20.0': + '@rollup/rollup-linux-riscv64-gnu@4.24.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.20.0': + '@rollup/rollup-linux-s390x-gnu@4.24.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.20.0': + '@rollup/rollup-linux-x64-gnu@4.24.0': optional: true - '@rollup/rollup-linux-x64-musl@4.20.0': + '@rollup/rollup-linux-x64-musl@4.24.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.20.0': + '@rollup/rollup-win32-arm64-msvc@4.24.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.20.0': + '@rollup/rollup-win32-ia32-msvc@4.24.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.20.0': + '@rollup/rollup-win32-x64-msvc@4.24.0': optional: true '@sindresorhus/is@4.6.0': {} @@ -3341,6 +3344,8 @@ snapshots: '@types/estree@1.0.5': {} + '@types/estree@1.0.6': {} + '@types/json-schema@7.0.15': {} '@types/lodash@4.17.7': {} @@ -3657,7 +3662,7 @@ snapshots: debug: 4.3.6 fast-glob: 3.3.2 magic-string: 0.30.11 - micromatch: 4.0.7 + micromatch: 4.0.8 windicss: 3.5.6 transitivePeerDependencies: - supports-color @@ -4355,7 +4360,7 @@ snapshots: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.7 + micromatch: 4.0.8 fast-json-stable-stringify@2.1.0: {} @@ -4734,7 +4739,7 @@ snapshots: transitivePeerDependencies: - supports-color - micromatch@4.0.7: + micromatch@4.0.8: dependencies: braces: 3.0.3 picomatch: 2.3.1 @@ -5043,26 +5048,26 @@ snapshots: reusify@1.0.4: {} - rollup@4.20.0: + rollup@4.24.0: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.20.0 - '@rollup/rollup-android-arm64': 4.20.0 - '@rollup/rollup-darwin-arm64': 4.20.0 - '@rollup/rollup-darwin-x64': 4.20.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.20.0 - '@rollup/rollup-linux-arm-musleabihf': 4.20.0 - '@rollup/rollup-linux-arm64-gnu': 4.20.0 - '@rollup/rollup-linux-arm64-musl': 4.20.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.20.0 - '@rollup/rollup-linux-riscv64-gnu': 4.20.0 - '@rollup/rollup-linux-s390x-gnu': 4.20.0 - '@rollup/rollup-linux-x64-gnu': 4.20.0 - '@rollup/rollup-linux-x64-musl': 4.20.0 - '@rollup/rollup-win32-arm64-msvc': 4.20.0 - '@rollup/rollup-win32-ia32-msvc': 4.20.0 - '@rollup/rollup-win32-x64-msvc': 4.20.0 + '@rollup/rollup-android-arm-eabi': 4.24.0 + '@rollup/rollup-android-arm64': 4.24.0 + '@rollup/rollup-darwin-arm64': 4.24.0 + '@rollup/rollup-darwin-x64': 4.24.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.24.0 + '@rollup/rollup-linux-arm-musleabihf': 4.24.0 + '@rollup/rollup-linux-arm64-gnu': 4.24.0 + '@rollup/rollup-linux-arm64-musl': 4.24.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.24.0 + '@rollup/rollup-linux-riscv64-gnu': 4.24.0 + '@rollup/rollup-linux-s390x-gnu': 4.24.0 + '@rollup/rollup-linux-x64-gnu': 4.24.0 + '@rollup/rollup-linux-x64-musl': 4.24.0 + '@rollup/rollup-win32-arm64-msvc': 4.24.0 + '@rollup/rollup-win32-ia32-msvc': 4.24.0 + '@rollup/rollup-win32-x64-msvc': 4.24.0 fsevents: 2.3.3 rrweb-cssom@0.6.0: {} @@ -5364,7 +5369,7 @@ snapshots: dependencies: esbuild: 0.21.5 postcss: 8.4.41 - rollup: 4.20.0 + rollup: 4.24.0 optionalDependencies: '@types/node': 20.14.15 fsevents: 2.3.3 From 8e7cace29aa8f467edf378706ab881479d72da0a Mon Sep 17 00:00:00 2001 From: Patrick Schratz Date: Sat, 5 Oct 2024 10:06:02 +0200 Subject: [PATCH 192/547] fix(deps): update golang-packages (#4161) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- go.mod | 64 ++++++++++++++--------------- go.sum | 125 ++++++++++++++++++++++++++++----------------------------- 2 files changed, 94 insertions(+), 95 deletions(-) diff --git a/go.mod b/go.mod index ea3ff92af..61e2ac41b 100644 --- a/go.mod +++ b/go.mod @@ -2,7 +2,7 @@ module go.woodpecker-ci.org/woodpecker/v2 go 1.22.0 -toolchain go1.23.0 +toolchain go1.23.2 require ( al.essio.dev/pkg/shellescape v1.5.0 @@ -13,13 +13,13 @@ require ( github.com/6543/logfile-open v1.2.1 github.com/adrg/xdg v0.5.0 github.com/bmatcuk/doublestar/v4 v4.6.1 - github.com/caddyserver/certmagic v0.21.3 + github.com/caddyserver/certmagic v0.21.4 github.com/cenkalti/backoff/v4 v4.3.0 - github.com/charmbracelet/huh v0.5.3 + github.com/charmbracelet/huh v0.6.0 github.com/charmbracelet/huh/spinner v0.0.0-20240327025511-ec643317aa10 github.com/distribution/reference v0.6.0 - github.com/docker/cli v27.1.2+incompatible - github.com/docker/docker v27.1.2+incompatible + github.com/docker/cli v27.3.1+incompatible + github.com/docker/docker v27.3.1+incompatible github.com/docker/go-connections v0.5.0 github.com/docker/go-units v0.5.0 github.com/drone/envsubst v1.0.3 @@ -37,19 +37,19 @@ require ( github.com/gorilla/securecookie v1.1.2 github.com/hashicorp/go-hclog v1.6.3 github.com/hashicorp/go-plugin v1.6.1 - github.com/jellydator/ttlcache/v3 v3.2.1 + github.com/jellydator/ttlcache/v3 v3.3.0 github.com/joho/godotenv v1.5.1 - github.com/kinbiko/jsonassert v1.1.1 + github.com/kinbiko/jsonassert v1.2.0 github.com/lib/pq v1.10.9 - github.com/mattn/go-sqlite3 v1.14.22 + github.com/mattn/go-sqlite3 v1.14.24 github.com/mitchellh/mapstructure v1.5.0 - github.com/moby/moby v27.1.2+incompatible + github.com/moby/moby v27.3.1+incompatible github.com/moby/term v0.5.0 github.com/muesli/termenv v0.15.3-0.20240618155329-98d742f6907a github.com/neticdk/go-bitbucket v1.0.0 github.com/oklog/ulid/v2 v2.1.0 github.com/pkg/errors v0.9.1 - github.com/prometheus/client_golang v1.20.2 + github.com/prometheus/client_golang v1.20.4 github.com/rs/zerolog v1.33.0 github.com/stretchr/testify v1.9.0 github.com/swaggo/files v1.0.1 @@ -57,23 +57,23 @@ require ( github.com/swaggo/swag v1.16.3 github.com/urfave/cli-docs/v3 v3.0.0-alpha5.0.20240714105325-1da00919bcb4 github.com/urfave/cli/v3 v3.0.0-alpha9.0.20240811205807-fc07a8c3673f - github.com/xanzy/go-gitlab v0.108.0 + github.com/xanzy/go-gitlab v0.109.0 github.com/xeipuuv/gojsonschema v1.2.0 github.com/yaronf/httpsign v0.3.1 github.com/zalando/go-keyring v0.2.5 go.uber.org/multierr v1.11.0 - golang.org/x/crypto v0.26.0 - golang.org/x/net v0.28.0 - golang.org/x/oauth2 v0.22.0 + golang.org/x/crypto v0.28.0 + golang.org/x/net v0.30.0 + golang.org/x/oauth2 v0.23.0 golang.org/x/sync v0.8.0 - golang.org/x/term v0.23.0 - golang.org/x/text v0.17.0 - google.golang.org/grpc v1.65.0 + golang.org/x/term v0.25.0 + golang.org/x/text v0.19.0 + google.golang.org/grpc v1.67.1 google.golang.org/protobuf v1.34.2 gopkg.in/yaml.v3 v3.0.1 - k8s.io/api v0.31.0 - k8s.io/apimachinery v0.31.0 - k8s.io/client-go v0.31.0 + k8s.io/api v0.31.1 + k8s.io/apimachinery v0.31.1 + k8s.io/client-go v0.31.1 src.techknowlogick.com/xormigrate v1.7.1 xorm.io/builder v0.3.13 xorm.io/xorm v1.3.9 @@ -93,10 +93,10 @@ require ( github.com/caddyserver/zerossl v0.1.3 // indirect github.com/catppuccin/go v0.2.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect - github.com/charmbracelet/bubbles v0.19.0 // indirect - github.com/charmbracelet/bubbletea v0.27.0 // indirect + github.com/charmbracelet/bubbles v0.20.0 // indirect + github.com/charmbracelet/bubbletea v1.1.0 // indirect github.com/charmbracelet/lipgloss v0.13.0 // indirect - github.com/charmbracelet/x/ansi v0.2.2 // indirect + github.com/charmbracelet/x/ansi v0.2.3 // indirect github.com/charmbracelet/x/exp/strings v0.0.0-20240722160745-212f7b056ed0 // indirect github.com/charmbracelet/x/term v0.2.0 // indirect github.com/cloudwego/base64x v0.1.4 // indirect @@ -147,7 +147,7 @@ require ( github.com/json-iterator/go v1.1.12 // indirect github.com/julienschmidt/httprouter v1.3.0 // indirect github.com/klauspost/compress v1.17.9 // indirect - github.com/klauspost/cpuid/v2 v2.2.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.8 // indirect github.com/leodido/go-urn v1.4.0 // indirect github.com/lestrrat-go/blackmagic v1.0.2 // indirect github.com/lestrrat-go/httpcc v1.0.1 // indirect @@ -162,8 +162,8 @@ require ( github.com/mattn/go-isatty v0.0.20 // indirect github.com/mattn/go-localereader v0.0.1 // indirect github.com/mattn/go-runewidth v0.0.16 // indirect - github.com/mholt/acmez/v2 v2.0.1 // indirect - github.com/miekg/dns v1.1.59 // indirect + github.com/mholt/acmez/v2 v2.0.3 // indirect + github.com/miekg/dns v1.1.62 // indirect github.com/mitchellh/go-testing-interface v1.0.0 // indirect github.com/mitchellh/hashstructure/v2 v2.0.2 // indirect github.com/moby/docker-image-spec v1.3.1 // indirect @@ -195,7 +195,7 @@ require ( github.com/x448/float16 v0.8.4 // indirect github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect - github.com/zeebo/blake3 v0.2.3 // indirect + github.com/zeebo/blake3 v0.2.4 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0 // indirect go.opentelemetry.io/otel v1.28.0 // indirect go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.28.0 // indirect @@ -204,12 +204,12 @@ require ( go.opentelemetry.io/otel/trace v1.28.0 // indirect go.uber.org/zap v1.27.0 // indirect golang.org/x/arch v0.8.0 // indirect - golang.org/x/mod v0.17.0 // indirect - golang.org/x/sys v0.24.0 // indirect + golang.org/x/mod v0.18.0 // indirect + golang.org/x/sys v0.26.0 // indirect golang.org/x/time v0.5.0 // indirect - golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240722135656-d784300faade // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240723171418-e6d459c13d2a // indirect + golang.org/x/tools v0.22.0 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gotest.tools/v3 v3.4.0 // indirect diff --git a/go.sum b/go.sum index 85d2fc7b3..cfb359917 100644 --- a/go.sum +++ b/go.sum @@ -48,8 +48,8 @@ github.com/bytedance/sonic v1.11.6 h1:oUp34TzMlL+OY1OUWxHqsdkgC/Zfc85zGqw9siXjrc github.com/bytedance/sonic v1.11.6/go.mod h1:LysEHSvpvDySVdC2f87zGWf6CIKJcAvqab1ZaiQtds4= github.com/bytedance/sonic/loader v0.1.1 h1:c+e5Pt1k/cy5wMveRDyk2X4B9hF4g7an8N3zCYjJFNM= github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= -github.com/caddyserver/certmagic v0.21.3 h1:pqRRry3yuB4CWBVq9+cUqu+Y6E2z8TswbhNx1AZeYm0= -github.com/caddyserver/certmagic v0.21.3/go.mod h1:Zq6pklO9nVRl3DIFUw9gVUfXKdpc/0qwTUAQMBlfgtI= +github.com/caddyserver/certmagic v0.21.4 h1:e7VobB8rffHv8ZZpSiZtEwnLDHUwLVYLWzWSa1FfKI0= +github.com/caddyserver/certmagic v0.21.4/go.mod h1:swUXjQ1T9ZtMv95qj7/InJvWLXURU85r+CfG0T+ZbDE= github.com/caddyserver/zerossl v0.1.3 h1:onS+pxp3M8HnHpN5MMbOMyNjmTheJyWRaZYwn+YTAyA= github.com/caddyserver/zerossl v0.1.3/go.mod h1:CxA0acn7oEGO6//4rtrRjYgEoa4MFw/XofZnrYwGqG4= github.com/catppuccin/go v0.2.0 h1:ktBeIrIP42b/8FGiScP9sgrWOss3lw0Z5SktRoithGA= @@ -58,18 +58,18 @@ github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK3 github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/charmbracelet/bubbles v0.19.0 h1:gKZkKXPP6GlDk6EcfujDK19PCQqRjaJZQ7QRERx1UF0= -github.com/charmbracelet/bubbles v0.19.0/go.mod h1:WILteEqZ+krG5c3ntGEMeG99nCupcuIk7V0/zOP0tOA= -github.com/charmbracelet/bubbletea v0.27.0 h1:Mznj+vvYuYagD9Pn2mY7fuelGvP0HAXtZYGgRBCbHvU= -github.com/charmbracelet/bubbletea v0.27.0/go.mod h1:5MdP9XH6MbQkgGhnlxUqCNmBXf9I74KRQ8HIidRxV1Y= -github.com/charmbracelet/huh v0.5.3 h1:3KLP4a/K1/S4dq4xFMTNMt3XWhgMl/yx8NYtygQ0bmg= -github.com/charmbracelet/huh v0.5.3/go.mod h1:OZC3lshuF+/y8laj//DoZdFSHxC51OrtXLJI8xWVouQ= +github.com/charmbracelet/bubbles v0.20.0 h1:jSZu6qD8cRQ6k9OMfR1WlM+ruM8fkPWkHvQWD9LIutE= +github.com/charmbracelet/bubbles v0.20.0/go.mod h1:39slydyswPy+uVOHZ5x/GjwVAFkCsV8IIVy+4MhzwwU= +github.com/charmbracelet/bubbletea v1.1.0 h1:FjAl9eAL3HBCHenhz/ZPjkKdScmaS5SK69JAK2YJK9c= +github.com/charmbracelet/bubbletea v1.1.0/go.mod h1:9Ogk0HrdbHolIKHdjfFpyXJmiCzGwy+FesYkZr7hYU4= +github.com/charmbracelet/huh v0.6.0 h1:mZM8VvZGuE0hoDXq6XLxRtgfWyTI3b2jZNKh0xWmax8= +github.com/charmbracelet/huh v0.6.0/go.mod h1:GGNKeWCeNzKpEOh/OJD8WBwTQjV3prFAtQPpLv+AVwU= github.com/charmbracelet/huh/spinner v0.0.0-20240327025511-ec643317aa10 h1:/HZJSyFVH5rB1MlCDfkhQhRbLPD2Er29ngWXiUQ8bik= github.com/charmbracelet/huh/spinner v0.0.0-20240327025511-ec643317aa10/go.mod h1:nrBG0YEHaxdbqHXW1xvG1hPqkuac9Eg7RTMvogiXuz0= github.com/charmbracelet/lipgloss v0.13.0 h1:4X3PPeoWEDCMvzDvGmTajSyYPcZM4+y8sCA/SsA3cjw= github.com/charmbracelet/lipgloss v0.13.0/go.mod h1:nw4zy0SBX/F/eAO1cWdcvy6qnkDUxr8Lw7dvFrAIbbY= -github.com/charmbracelet/x/ansi v0.2.2 h1:BC7xzaVpfWIYZRNE8NhO9zo8KA4eGUL6L/JWXDh3GF0= -github.com/charmbracelet/x/ansi v0.2.2/go.mod h1:dk73KoMTT5AX5BsX0KrqhsTqAnhZZoCBjs7dGWp4Ktw= +github.com/charmbracelet/x/ansi v0.2.3 h1:VfFN0NUpcjBRd4DnKfRaIRo53KRgey/nhOoEqosGDEY= +github.com/charmbracelet/x/ansi v0.2.3/go.mod h1:dk73KoMTT5AX5BsX0KrqhsTqAnhZZoCBjs7dGWp4Ktw= github.com/charmbracelet/x/exp/strings v0.0.0-20240722160745-212f7b056ed0 h1:qko3AQ4gK1MTS/de7F5hPGx6/k1u0w4TeYmBFwzYVP4= github.com/charmbracelet/x/exp/strings v0.0.0-20240722160745-212f7b056ed0/go.mod h1:pBhA0ybfXv6hDjQUZ7hk1lVxBiUbupdw5R31yPUViVQ= github.com/charmbracelet/x/term v0.2.0 h1:cNB9Ot9q8I711MyZ7myUR5HFWL/lc3OpU8jZ4hwm0x0= @@ -107,10 +107,10 @@ github.com/denisenkom/go-mssqldb v0.12.3/go.mod h1:k0mtMFOnU+AihqFxPMiF05rtiDror github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= -github.com/docker/cli v27.1.2+incompatible h1:nYviRv5Y+YAKx3dFrTvS1ErkyVVunKOhoweCTE1BsnI= -github.com/docker/cli v27.1.2+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= -github.com/docker/docker v27.1.2+incompatible h1:AhGzR1xaQIy53qCkxARaFluI00WPGtXn0AJuoQsVYTY= -github.com/docker/docker v27.1.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/cli v27.3.1+incompatible h1:qEGdFBF3Xu6SCvCYhc7CzaQTlBmqDuzxPDpigSyeKQQ= +github.com/docker/cli v27.3.1+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/docker v27.3.1+incompatible h1:KttF0XoteNTicmUtBO0L2tP+J7FGRFTjaEF4k6WdhfI= +github.com/docker/docker v27.3.1+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.8.0 h1:YQFtbBQb4VrpoPxhFuzEBPQ9E16qz5SpHLS+uswaCp8= github.com/docker/docker-credential-helpers v0.8.0/go.mod h1:UGFXcuoQ5TxPiB54nHOZ32AWRqQdECoh/Mg0AlEYb40= github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj1Br63c= @@ -302,8 +302,8 @@ github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0f github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v1.3.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/jellydator/ttlcache/v3 v3.2.1 h1:eS8ljnYY7BllYGkXw/TfczWZrXUu/CH7SIkC6ugn9Js= -github.com/jellydator/ttlcache/v3 v3.2.1/go.mod h1:bj2/e0l4jRnQdrnSTaGTsh4GSXvMjQcy41i7th0GVGw= +github.com/jellydator/ttlcache/v3 v3.3.0 h1:BdoC9cE81qXfrxeb9eoJi9dWrdhSuwXMAnHTbnBm4Wc= +github.com/jellydator/ttlcache/v3 v3.3.0/go.mod h1:bj2/e0l4jRnQdrnSTaGTsh4GSXvMjQcy41i7th0GVGw= github.com/jhump/protoreflect v1.15.1 h1:HUMERORf3I3ZdX05WaQ6MIpd/NJ434hTp5YiKgfCL6c= github.com/jhump/protoreflect v1.15.1/go.mod h1:jD/2GMKKE6OqX8qTjhADU1e6DShO+gavG9e0Q693nKo= github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= @@ -317,16 +317,15 @@ github.com/julienschmidt/httprouter v1.3.0 h1:U0609e9tgbseu3rBINet9P48AI/D3oJs4d github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= -github.com/kinbiko/jsonassert v1.1.1 h1:DB12divY+YB+cVpHULLuKePSi6+ui4M/shHSzJISkSE= -github.com/kinbiko/jsonassert v1.1.1/go.mod h1:NO4lzrogohtIdNUNzx8sdzB55M4R4Q1bsrWVdqQ7C+A= +github.com/kinbiko/jsonassert v1.2.0 h1:+/JthIVXdIrThrOtSN9ry0mNtWKXMWuvxR0nU7gQ+tI= +github.com/kinbiko/jsonassert v1.2.0/go.mod h1:pCc3uudOt+lVAbkji9O0uw8MSVt4s+1ZJ0y8Ux2F1Og= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.0.12/go.mod h1:g2LTdtYhdyuGPqyWyv7qRAmj1WBqxuObKfj5c0PQa7c= -github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= -github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.8 h1:+StwCXwm9PdpiEkPyzBXIy+M9KUb4ODm0Zarf1kS5BM= +github.com/klauspost/cpuid/v2 v2.2.8/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -387,12 +386,12 @@ github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6T github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-sqlite3 v1.14.15/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= github.com/mattn/go-sqlite3 v1.14.16/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= -github.com/mattn/go-sqlite3 v1.14.22 h1:2gZY6PC6kBnID23Tichd1K+Z0oS6nE/XwU+Vz/5o4kU= -github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= -github.com/mholt/acmez/v2 v2.0.1 h1:3/3N0u1pLjMK4sNEAFSI+bcvzbPhRpY383sy1kLHJ6k= -github.com/mholt/acmez/v2 v2.0.1/go.mod h1:fX4c9r5jYwMyMsC+7tkYRxHibkOTgta5DIFGoe67e1U= -github.com/miekg/dns v1.1.59 h1:C9EXc/UToRwKLhK5wKU/I4QVsBUc8kE6MkHBkeypWZs= -github.com/miekg/dns v1.1.59/go.mod h1:nZpewl5p6IvctfgrckopVx2OlSEHPRO/U4SYkRklrEk= +github.com/mattn/go-sqlite3 v1.14.24 h1:tpSp2G2KyMnnQu99ngJ47EIkWVmliIizyZBfPrBWDRM= +github.com/mattn/go-sqlite3 v1.14.24/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= +github.com/mholt/acmez/v2 v2.0.3 h1:CgDBlEwg3QBp6s45tPQmFIBrkRIkBT4rW4orMM6p4sw= +github.com/mholt/acmez/v2 v2.0.3/go.mod h1:pQ1ysaDeGrIMvJ9dfJMk5kJNkn7L2sb3UhyrX6Q91cw= +github.com/miekg/dns v1.1.62 h1:cN8OuEF1/x5Rq6Np+h1epln8OiyPWV+lROx9LxcGgIQ= +github.com/miekg/dns v1.1.62/go.mod h1:mvDlcItzm+br7MToIKqkglaGhlFMHJ9DTNNWONWXbNQ= github.com/mitchellh/go-testing-interface v1.0.0 h1:fzU/JVNcaqHQEcVFAKeR41fkiLdIPrefOvVG1VZ96U0= github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= github.com/mitchellh/hashstructure/v2 v2.0.2 h1:vGKWl0YJqUNxE8d+h8f6NJLcCJrgbhC4NcD46KavDd4= @@ -401,8 +400,8 @@ github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyua github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= -github.com/moby/moby v27.1.2+incompatible h1:vqOs4c7YktTdEBnPQNm0Q+M+IOuxxTCkrYJLBAVsEHQ= -github.com/moby/moby v27.1.2+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc= +github.com/moby/moby v27.3.1+incompatible h1:KQbXBjo7PavKpzIl7UkHT31y9lw/e71Uvrqhr4X+zMA= +github.com/moby/moby v27.3.1+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc= github.com/moby/term v0.5.0 h1:xt8Q1nalod/v7BqbG21f8mQPqH+xAaC9C3N3wfWbVP0= github.com/moby/term v0.5.0/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -453,8 +452,8 @@ github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= +github.com/prometheus/client_golang v1.20.4 h1:Tgh3Yr67PaOv/uTqloMsCEdeuFTatm5zIq5+qNN23vI= +github.com/prometheus/client_golang v1.20.4/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.55.0 h1:KEi6DK7lXW/m7Ig5i47x0vRzuBsHuvJdi5ee6Y3G1dc= @@ -530,8 +529,8 @@ github.com/urfave/cli/v3 v3.0.0-alpha9.0.20240811205807-fc07a8c3673f h1:C3vgiHDZ github.com/urfave/cli/v3 v3.0.0-alpha9.0.20240811205807-fc07a8c3673f/go.mod h1:Z1ItyMma7t6I7zHG9OpbExhHQOSkFf/96n+mAZ9MtVI= github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= -github.com/xanzy/go-gitlab v0.108.0 h1:IEvEUWFR5G1seslRhJ8gC//INiIUqYXuSUoBd7/gFKE= -github.com/xanzy/go-gitlab v0.108.0/go.mod h1:wKNKh3GkYDMOsGmnfuX+ITCmDuSDWFO0G+C4AygL9RY= +github.com/xanzy/go-gitlab v0.109.0 h1:RcRme5w8VpLXTSTTMZdVoQWY37qTJWg+gwdQl4aAttE= +github.com/xanzy/go-gitlab v0.109.0/go.mod h1:wKNKh3GkYDMOsGmnfuX+ITCmDuSDWFO0G+C4AygL9RY= github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb h1:zGWFAtiMcyryUHoUjUJX0/lt1H2+i2Ka2n+D3DImSNo= github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= @@ -548,8 +547,8 @@ github.com/zalando/go-keyring v0.2.5 h1:Bc2HHpjALryKD62ppdEzaFG6VxL6Bc+5v0LYpN8L github.com/zalando/go-keyring v0.2.5/go.mod h1:HL4k+OXQfJUWaMnqyuSOc0drfGPX2b51Du6K+MRgZMk= github.com/zeebo/assert v1.1.0 h1:hU1L1vLTHsnO8x8c9KAR5GmM5QscxHg5RNU5z5qbUWY= github.com/zeebo/assert v1.1.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0= -github.com/zeebo/blake3 v0.2.3 h1:TFoLXsjeXqRNFxSbk35Dk4YtszE/MQQGK10BH4ptoTg= -github.com/zeebo/blake3 v0.2.3/go.mod h1:mjJjZpnsyIVtVgTOSpJ9vmRE4wgDeyt2HU3qXvvKCaQ= +github.com/zeebo/blake3 v0.2.4 h1:KYQPkhpRtcqh0ssGYcKLG1JYvddkEA8QwCM/yBqhaZI= +github.com/zeebo/blake3 v0.2.4/go.mod h1:7eeQ6d2iXWRGF6npfaxl2CU+xy2Fjo2gxeyZGCRUjcE= github.com/zeebo/pcg v1.0.1 h1:lyqfGeWiv4ahac6ttHs+I5hwtH/+1mrhlCtVNQM2kHo= github.com/zeebo/pcg v1.0.1/go.mod h1:09F0S9iiKrwn9rlI5yjLkmrug154/YRW6KnnXVDM/l4= github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= @@ -604,16 +603,16 @@ golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= -golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= -golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= +golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw= +golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U= golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= -golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.18.0 h1:5+9lSbEzPSdWkH32vYPBwEpX8KwDbM52Ud9xBUvNlb0= +golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= @@ -627,10 +626,10 @@ golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= -golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA= -golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= +golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs= +golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -667,14 +666,14 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= -golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= +golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24= +golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -682,8 +681,8 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -700,20 +699,20 @@ golang.org/x/tools v0.0.0-20201124115921-2c860bdd6e78/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= -golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA= +golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/api v0.0.0-20240722135656-d784300faade h1:WxZOF2yayUHpHSbUE6NMzumUzBxYc3YGwo0YHnbzsJY= -google.golang.org/genproto/googleapis/api v0.0.0-20240722135656-d784300faade/go.mod h1:mw8MG/Qz5wfgYr6VqVCiZcHe/GJEfI+oGGDCohaVgB0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240723171418-e6d459c13d2a h1:hqK4+jJZXCU4pW7jsAdGOVFIfLHQeV7LaizZKnZ84HI= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240723171418-e6d459c13d2a/go.mod h1:Ue6ibwXGpU+dqIcODieyLOcgj7z8+IcskoNIgZxtrFY= -google.golang.org/grpc v1.65.0 h1:bs/cUb4lp1G5iImFFd3u5ixQzweKizoZJAwBNLR42lc= -google.golang.org/grpc v1.65.0/go.mod h1:WgYC2ypjlB0EiQi6wdKixMqukr6lBc0Vo+oOgjrM5ZQ= +google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142 h1:wKguEg1hsxI2/L3hUYrpo1RVi48K+uTyzKqprwLXsb8= +google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142/go.mod h1:d6be+8HhtEtucleCbxpPW9PA9XwISACu8nvpPqF0BVo= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -740,12 +739,12 @@ gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools/v3 v3.4.0 h1:ZazjZUfuVeZGLAmlKKuyv3IKP5orXcwtOwDQH6YVr6o= gotest.tools/v3 v3.4.0/go.mod h1:CtbdzLSsqVhDgMtKsx03ird5YTGB3ar27v0u/yKBW5g= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -k8s.io/api v0.31.0 h1:b9LiSjR2ym/SzTOlfMHm1tr7/21aD7fSkqgD/CVJBCo= -k8s.io/api v0.31.0/go.mod h1:0YiFF+JfFxMM6+1hQei8FY8M7s1Mth+z/q7eF1aJkTE= -k8s.io/apimachinery v0.31.0 h1:m9jOiSr3FoSSL5WO9bjm1n6B9KROYYgNZOb4tyZ1lBc= -k8s.io/apimachinery v0.31.0/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo= -k8s.io/client-go v0.31.0 h1:QqEJzNjbN2Yv1H79SsS+SWnXkBgVu4Pj3CJQgbx0gI8= -k8s.io/client-go v0.31.0/go.mod h1:Y9wvC76g4fLjmU0BA+rV+h2cncoadjvjjkkIGoTLcGU= +k8s.io/api v0.31.1 h1:Xe1hX/fPW3PXYYv8BlozYqw63ytA92snr96zMW9gWTU= +k8s.io/api v0.31.1/go.mod h1:sbN1g6eY6XVLeqNsZGLnI5FwVseTrZX7Fv3O26rhAaI= +k8s.io/apimachinery v0.31.1 h1:mhcUBbj7KUjaVhyXILglcVjuS4nYXiwC+KKFBgIVy7U= +k8s.io/apimachinery v0.31.1/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo= +k8s.io/client-go v0.31.1 h1:f0ugtWSbWpxHR7sjVpQwuvw9a3ZKLXX0u0itkFXufb0= +k8s.io/client-go v0.31.1/go.mod h1:sKI8871MJN2OyeqRlmA4W4KM9KBdBUpDLu/43eGemCg= k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 h1:BZqlfIlq5YbRMFko6/PM7FjZpUb45WallggurYhKGag= From bffd2d9fac85641af6392f673e400012b102b820 Mon Sep 17 00:00:00 2001 From: Patrick Schratz Date: Sat, 5 Oct 2024 10:08:07 +0200 Subject: [PATCH 193/547] renovate: set `automergetype=pr` (#4162) --- .cspell.json | 1 + .github/renovate.json | 1 + 2 files changed, 2 insertions(+) diff --git a/.cspell.json b/.cspell.json index 1dea08fca..bcd060e80 100644 --- a/.cspell.json +++ b/.cspell.json @@ -15,6 +15,7 @@ "apimachinery", "Archlinux", "autoincr", + "automerge", "autoscaler", "backporting", "backports", diff --git a/.github/renovate.json b/.github/renovate.json index 758ff2b22..12bfdacfa 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -1,6 +1,7 @@ { "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": ["github>woodpecker-ci/renovate-config"], + "automergeType": "pr", "customManagers": [ { "customType": "regex", From 20b749e364852e3ec543eb6d12de61aebefaa600 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 5 Oct 2024 09:15:16 +0100 Subject: [PATCH 194/547] chore(deps): update dependency vite to v5.4.6 [security] (#4163) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- web/pnpm-lock.yaml | 58 +++++++++++++++++++++++++++++----------------- 1 file changed, 37 insertions(+), 21 deletions(-) diff --git a/web/pnpm-lock.yaml b/web/pnpm-lock.yaml index 7e7eadca6..05ffa8ca8 100644 --- a/web/pnpm-lock.yaml +++ b/web/pnpm-lock.yaml @@ -95,7 +95,7 @@ importers: version: 1.4.6 '@vitejs/plugin-vue': specifier: ^5.1.2 - version: 5.1.2(vite@5.4.1(@types/node@20.14.15)(stylus@0.57.0))(vue@3.4.38(typescript@5.5.4)) + version: 5.1.2(vite@5.4.6(@types/node@20.14.15)(stylus@0.57.0))(vue@3.4.38(typescript@5.5.4)) '@vue/compiler-sfc': specifier: ^3.4.38 version: 3.4.38 @@ -128,13 +128,13 @@ importers: version: 5.5.4 vite: specifier: ^5.4.1 - version: 5.4.1(@types/node@20.14.15)(stylus@0.57.0) + version: 5.4.6(@types/node@20.14.15)(stylus@0.57.0) vite-plugin-prismjs: specifier: ^0.0.11 version: 0.0.11(prismjs@1.29.0) vite-plugin-windicss: specifier: ^1.9.3 - version: 1.9.3(vite@5.4.1(@types/node@20.14.15)(stylus@0.57.0)) + version: 1.9.3(vite@5.4.6(@types/node@20.14.15)(stylus@0.57.0)) vite-svg-loader: specifier: ^5.1.0 version: 5.1.0(vue@3.4.38(typescript@5.5.4)) @@ -2193,6 +2193,10 @@ packages: resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==} engines: {node: ^10 || ^12 || >=14} + postcss@8.4.47: + resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} + engines: {node: ^10 || ^12 || >=14} + prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -2350,6 +2354,10 @@ packages: resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + source-map-resolve@0.6.0: resolution: {integrity: sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==} deprecated: See https://github.com/lydell/source-map-resolve#deprecated @@ -2582,8 +2590,8 @@ packages: peerDependencies: vue: '>=3.2.13' - vite@5.4.1: - resolution: {integrity: sha512-1oE6yuNXssjrZdblI9AfBbHCC41nnyoVoEZxQnID6yvQZAFBzxxkqoFLtHUMkYunL8hwOLEjgTuxpkRxvba3kA==} + vite@5.4.6: + resolution: {integrity: sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -2988,7 +2996,7 @@ snapshots: '@es-joy/jsdoccomment@0.43.1': dependencies: '@types/eslint': 8.56.11 - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@typescript-eslint/types': 7.18.0 comment-parser: 1.4.1 esquery: 1.6.0 @@ -3325,7 +3333,7 @@ snapshots: '@types/eslint@8.56.11': dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@types/json-schema': 7.0.15 '@types/eslint@9.6.0': @@ -3335,7 +3343,7 @@ snapshots: '@types/eslint@9.6.1': dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@types/json-schema': 7.0.15 '@types/eslint__js@8.42.3': @@ -3491,9 +3499,9 @@ snapshots: '@typescript-eslint/types': 8.4.0 eslint-visitor-keys: 3.4.3 - '@vitejs/plugin-vue@5.1.2(vite@5.4.1(@types/node@20.14.15)(stylus@0.57.0))(vue@3.4.38(typescript@5.5.4))': + '@vitejs/plugin-vue@5.1.2(vite@5.4.6(@types/node@20.14.15)(stylus@0.57.0))(vue@3.4.38(typescript@5.5.4))': dependencies: - vite: 5.4.1(@types/node@20.14.15)(stylus@0.57.0) + vite: 5.4.6(@types/node@20.14.15)(stylus@0.57.0) vue: 3.4.38(typescript@5.5.4) '@vitest/eslint-plugin@1.1.0(@typescript-eslint/utils@8.4.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)(vitest@2.0.5(@types/node@20.14.15)(jsdom@25.0.0)(stylus@0.57.0))': @@ -3879,12 +3887,12 @@ snapshots: css-tree@2.2.1: dependencies: mdn-data: 2.0.28 - source-map-js: 1.2.0 + source-map-js: 1.2.1 css-tree@2.3.1: dependencies: mdn-data: 2.0.30 - source-map-js: 1.2.0 + source-map-js: 1.2.1 css-what@6.1.0: {} @@ -4334,7 +4342,7 @@ snapshots: estree-walker@3.0.3: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 esutils@2.0.3: {} @@ -4976,6 +4984,12 @@ snapshots: picocolors: 1.0.1 source-map-js: 1.2.0 + postcss@8.4.47: + dependencies: + nanoid: 3.3.7 + picocolors: 1.1.0 + source-map-js: 1.2.1 + prelude-ls@1.2.1: {} prettier@3.3.3: {} @@ -5118,6 +5132,8 @@ snapshots: source-map-js@1.2.0: {} + source-map-js@1.2.1: {} + source-map-resolve@0.6.0: dependencies: atob: 2.1.2 @@ -5300,13 +5316,13 @@ snapshots: dependencies: browserslist: 4.23.2 escalade: 3.1.2 - picocolors: 1.0.1 + picocolors: 1.1.0 update-browserslist-db@1.1.0(browserslist@4.23.3): dependencies: browserslist: 4.23.3 escalade: 3.1.2 - picocolors: 1.0.1 + picocolors: 1.1.0 uri-js@4.4.1: dependencies: @@ -5330,7 +5346,7 @@ snapshots: debug: 4.3.6 pathe: 1.1.2 tinyrainbow: 1.2.0 - vite: 5.4.1(@types/node@20.14.15)(stylus@0.57.0) + vite: 5.4.6(@types/node@20.14.15)(stylus@0.57.0) transitivePeerDependencies: - '@types/node' - less @@ -5350,12 +5366,12 @@ snapshots: - prismjs - supports-color - vite-plugin-windicss@1.9.3(vite@5.4.1(@types/node@20.14.15)(stylus@0.57.0)): + vite-plugin-windicss@1.9.3(vite@5.4.6(@types/node@20.14.15)(stylus@0.57.0)): dependencies: '@windicss/plugin-utils': 1.9.3 debug: 4.3.6 kolorist: 1.8.0 - vite: 5.4.1(@types/node@20.14.15)(stylus@0.57.0) + vite: 5.4.6(@types/node@20.14.15)(stylus@0.57.0) windicss: 3.5.6 transitivePeerDependencies: - supports-color @@ -5365,10 +5381,10 @@ snapshots: svgo: 3.3.2 vue: 3.4.38(typescript@5.5.4) - vite@5.4.1(@types/node@20.14.15)(stylus@0.57.0): + vite@5.4.6(@types/node@20.14.15)(stylus@0.57.0): dependencies: esbuild: 0.21.5 - postcss: 8.4.41 + postcss: 8.4.47 rollup: 4.24.0 optionalDependencies: '@types/node': 20.14.15 @@ -5393,7 +5409,7 @@ snapshots: tinybench: 2.9.0 tinypool: 1.0.0 tinyrainbow: 1.2.0 - vite: 5.4.1(@types/node@20.14.15)(stylus@0.57.0) + vite: 5.4.6(@types/node@20.14.15)(stylus@0.57.0) vite-node: 2.0.5(@types/node@20.14.15)(stylus@0.57.0) why-is-node-running: 2.3.0 optionalDependencies: From 7627b7782b90dcbd90dc173f97ce839cabcafc9f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 5 Oct 2024 09:32:09 +0100 Subject: [PATCH 195/547] chore(deps): update docs npm deps non-major (#4164) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Patrick Schratz --- docs/package.json | 3 +- docs/pnpm-lock.yaml | 838 +++++--------------------------------------- 2 files changed, 81 insertions(+), 760 deletions(-) diff --git a/docs/package.json b/docs/package.json index 5ca818d9f..45881acb3 100644 --- a/docs/package.json +++ b/docs/package.json @@ -54,7 +54,8 @@ "pnpm": { "overrides": { "got": "^14.0.0", - "path-to-regexp": "^3.3.0" + "path-to-regexp": "^3.3.0", + "cookie": "^0.7.0" } } } diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml index 3172dc67b..28de10474 100644 --- a/docs/pnpm-lock.yaml +++ b/docs/pnpm-lock.yaml @@ -7,6 +7,7 @@ settings: overrides: got: ^14.0.0 path-to-regexp: ^3.3.0 + cookie: ^0.7.0 importers: @@ -93,14 +94,14 @@ importers: version: 18.3.1(react@18.3.1) yaml: specifier: ^2.4.2 - version: 2.5.0 + version: 2.5.1 devDependencies: '@docusaurus/module-type-aliases': specifier: ^3.3.2 version: 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/theme-classic': specifier: ^3.3.2 - version: 3.5.2(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + version: 3.5.2(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/types': specifier: ^3.3.2 version: 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -109,25 +110,25 @@ importers: version: 2.0.3 '@types/node': specifier: ^20.12.13 - version: 20.14.15 + version: 20.16.10 axios: specifier: ^1.7.2 - version: 1.7.4 + version: 1.7.7 concurrently: specifier: ^8.2.2 version: 8.2.2 isomorphic-dompurify: specifier: ^2.11.0 - version: 2.14.0 + version: 2.16.0 marked: specifier: ^14.0.0 - version: 14.0.0 + version: 14.1.2 tslib: specifier: ^2.6.2 - version: 2.6.3 + version: 2.7.0 typescript: specifier: ^5.4.5 - version: 5.5.4 + version: 5.6.2 packages: @@ -1586,9 +1587,6 @@ packages: '@types/node@17.0.45': resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} - '@types/node@20.14.15': - resolution: {integrity: sha512-Fz1xDMCF/B00/tYSVMlmK7hVeLh7jE5f3B7X1/hmV0MJBwE27KlS7EvD/Yp+z1lm8mVhwV5w+n8jOZG8AfTlKw==} - '@types/node@20.16.10': resolution: {integrity: sha512-vQUKgWTjEIRFCvK6CyriPH3MZYiYlNy0fKiEYHWbcoWLEgs4opurGGKlebrTLqdSMIbXImH6XExNiIyNUv3WpA==} @@ -1868,8 +1866,8 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - axios@1.7.4: - resolution: {integrity: sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==} + axios@1.7.7: + resolution: {integrity: sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==} babel-loader@9.2.1: resolution: {integrity: sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==} @@ -2190,8 +2188,8 @@ packages: cookie-signature@1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} - cookie@0.6.0: - resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + cookie@0.7.1: + resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==} engines: {node: '>= 0.6'} copy-text-to-clipboard@3.2.0: @@ -2338,8 +2336,8 @@ packages: resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} - cssstyle@4.0.1: - resolution: {integrity: sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==} + cssstyle@4.1.0: + resolution: {integrity: sha512-h66W1URKpBS5YMI/V8PyXvTMFT8SupJ1IzoIV8IeBC/ji8WVmrO8dGlTi+2dh6whmdk6BiKJLD/ZBkhWbcg6nA==} engines: {node: '>=18'} csstype@3.1.3: @@ -2376,15 +2374,6 @@ packages: supports-color: optional: true - debug@4.3.6: - resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.3.7: resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} @@ -2519,9 +2508,6 @@ packages: resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} engines: {node: '>= 4'} - dompurify@3.1.6: - resolution: {integrity: sha512-cTOAhc36AalkjtBpfG6O8JimdTMWNXjiePT2xQH/ppBGi/4uIpmj8eKyIkMJErXWARyINV/sB38yf8JCLF5pbQ==} - dompurify@3.1.7: resolution: {integrity: sha512-VaTstWtsneJY8xzy7DekmYWEOZcmzIe3Qb3zPd4STve1OBTa+e+WmS1ITQec1fZYXI3HCsOZZiSMpG6oxoWMWQ==} @@ -2824,15 +2810,6 @@ packages: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} hasBin: true - follow-redirects@1.15.6: - resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - follow-redirects@1.15.9: resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} engines: {node: '>=4.0'} @@ -3479,8 +3456,8 @@ packages: resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} engines: {node: '>=0.10.0'} - isomorphic-dompurify@2.14.0: - resolution: {integrity: sha512-7xyjuzBf3P/HBt0PbOpmv5LuV38TmfvidBFvgyuSWVMLwCGDITBPHWsBZ/L1a8DpcGz5PEintBeGdlrKzUqt5A==} + isomorphic-dompurify@2.16.0: + resolution: {integrity: sha512-cXhX2owp8rPxafCr0ywqy2CGI/4ceLNgWkWBEvUz64KTbtg3oRL2ZRqq/zW0pzt4YtDjkHLbwcp/lozpKzAQjg==} engines: {node: '>=18'} jest-util@29.7.0: @@ -3517,8 +3494,8 @@ packages: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true - jsdom@24.1.1: - resolution: {integrity: sha512-5O1wWV99Jhq4DV7rCLIoZ/UIhyQeDR7wHVyZAHAshbrvZsLs+Xzz7gtwnlJTJDjleiTKh54F4dXrX70vJQTyJQ==} + jsdom@25.0.1: + resolution: {integrity: sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw==} engines: {node: '>=18'} peerDependencies: canvas: ^2.11.2 @@ -3664,8 +3641,8 @@ packages: markdown-table@3.0.3: resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} - marked@14.0.0: - resolution: {integrity: sha512-uIj4+faQ+MgHgwUW1l2PsPglZLOLOT1uErt06dAPtx2kjteLAkbsd/0FiYg/MGS+i7ZKLb7w2WClxHkzOOuryQ==} + marked@14.1.2: + resolution: {integrity: sha512-f3r0yqpz31VXiDB/wj9GaOB0a2PRLQl6vJmXiFrniNwjkKdvakqJRULhjFKJpxOchlCRiG5fcacoUZY5Xa6PEQ==} engines: {node: '>= 18'} hasBin: true @@ -3978,9 +3955,6 @@ packages: ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -4056,8 +4030,8 @@ packages: nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} - nwsapi@2.2.12: - resolution: {integrity: sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==} + nwsapi@2.2.13: + resolution: {integrity: sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==} oas-kit-common@1.0.8: resolution: {integrity: sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==} @@ -4567,9 +4541,6 @@ packages: proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - psl@1.9.0: - resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} - punycode@1.4.1: resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} @@ -4585,9 +4556,6 @@ packages: resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} engines: {node: '>=0.6'} - querystringify@2.2.0: - resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} - queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -4873,9 +4841,6 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true - rrweb-cssom@0.6.0: - resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} - rrweb-cssom@0.7.1: resolution: {integrity: sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==} @@ -5282,6 +5247,13 @@ packages: tiny-warning@1.0.3: resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} + tldts-core@6.1.50: + resolution: {integrity: sha512-na2EcZqmdA2iV9zHV7OHQDxxdciEpxrjbkp+aHmZgnZKHzoElLajP59np5/4+sare9fQBfixgvXKx8ev1d7ytw==} + + tldts@6.1.50: + resolution: {integrity: sha512-q9GOap6q3KCsLMdOjXhWU5jVZ8/1dIib898JBRLsN+tBhENpBDcAVQbE0epADOjw11FhQQy9AcbqKGBQPUfTQA==} + hasBin: true + to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} @@ -5298,9 +5270,9 @@ packages: resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} engines: {node: '>=6'} - tough-cookie@4.1.4: - resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} - engines: {node: '>=6'} + tough-cookie@5.0.0: + resolution: {integrity: sha512-FRKsF7cz96xIIeMZ82ehjC3xW2E+O2+v11udrDYewUbszngYhsGa8z6YUMMzO9QJZzzyd0nGGXnML/TReX6W8Q==} + engines: {node: '>=16'} tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} @@ -5322,9 +5294,6 @@ packages: tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - tslib@2.6.3: - resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} - tslib@2.7.0: resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} @@ -5363,11 +5332,6 @@ packages: typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - typescript@5.5.4: - resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} - engines: {node: '>=14.17'} - hasBin: true - typescript@5.6.2: resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==} engines: {node: '>=14.17'} @@ -5376,9 +5340,6 @@ packages: unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} - undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - undici-types@6.19.8: resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} @@ -5431,10 +5392,6 @@ packages: unist-util-visit@5.0.0: resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} - universalify@0.2.0: - resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} - engines: {node: '>= 4.0.0'} - universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} @@ -5469,9 +5426,6 @@ packages: file-loader: optional: true - url-parse@1.5.10: - resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} - url-template@2.0.8: resolution: {integrity: sha512-XdVKMF4SJ0nP/O7XIPB0JwAEuT9lDIYnNsK8yGVe43y0AWoKeJNdv3ZNWh7ksJ6KqQFjOO6ox/VEitLnaVNufw==} @@ -5699,8 +5653,8 @@ packages: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} - yaml@2.5.0: - resolution: {integrity: sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==} + yaml@2.5.1: + resolution: {integrity: sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==} engines: {node: '>= 14'} hasBin: true @@ -6818,190 +6772,6 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/core@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': - dependencies: - '@babel/core': 7.25.7 - '@babel/generator': 7.25.7 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.7) - '@babel/plugin-transform-runtime': 7.25.7(@babel/core@7.25.7) - '@babel/preset-env': 7.25.7(@babel/core@7.25.7) - '@babel/preset-react': 7.25.7(@babel/core@7.25.7) - '@babel/preset-typescript': 7.25.7(@babel/core@7.25.7) - '@babel/runtime': 7.25.7 - '@babel/runtime-corejs3': 7.25.7 - '@babel/traverse': 7.25.7 - '@docusaurus/cssnano-preset': 3.5.2 - '@docusaurus/logger': 3.5.2 - '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - '@mdx-js/react': 3.0.1(@types/react@18.3.11)(react@18.3.1) - autoprefixer: 10.4.20(postcss@8.4.47) - babel-loader: 9.2.1(@babel/core@7.25.7)(webpack@5.95.0) - babel-plugin-dynamic-import-node: 2.3.3 - boxen: 6.2.1 - chalk: 4.1.2 - chokidar: 3.6.0 - clean-css: 5.3.3 - cli-table3: 0.6.5 - combine-promises: 1.2.0 - commander: 5.1.0 - copy-webpack-plugin: 11.0.0(webpack@5.95.0) - core-js: 3.38.1 - css-loader: 6.11.0(webpack@5.95.0) - css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(webpack@5.95.0) - cssnano: 6.1.2(postcss@8.4.47) - del: 6.1.1 - detect-port: 1.6.1 - escape-html: 1.0.3 - eta: 2.2.0 - eval: 0.1.8 - file-loader: 6.2.0(webpack@5.95.0) - fs-extra: 11.2.0 - html-minifier-terser: 7.2.0 - html-tags: 3.3.1 - html-webpack-plugin: 5.6.0(webpack@5.95.0) - leven: 3.1.0 - lodash: 4.17.21 - mini-css-extract-plugin: 2.9.1(webpack@5.95.0) - p-map: 4.0.0 - postcss: 8.4.47 - postcss-loader: 7.3.4(postcss@8.4.47)(typescript@5.5.4)(webpack@5.95.0) - prompts: 2.4.2 - react: 18.3.1 - react-dev-utils: 12.0.1(typescript@5.5.4)(webpack@5.95.0) - react-dom: 18.3.1(react@18.3.1) - react-helmet-async: 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)' - react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.95.0) - react-router: 5.3.4(react@18.3.1) - react-router-config: 5.1.1(react-router@5.3.4(react@18.3.1))(react@18.3.1) - react-router-dom: 5.3.4(react@18.3.1) - rtl-detect: 1.1.2 - semver: 7.6.3 - serve-handler: 6.1.5 - shelljs: 0.8.5 - terser-webpack-plugin: 5.3.10(webpack@5.95.0) - tslib: 2.7.0 - update-notifier: 6.0.2 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.95.0))(webpack@5.95.0) - webpack: 5.95.0 - webpack-bundle-analyzer: 4.10.2 - webpack-dev-server: 4.15.2(debug@4.3.7)(webpack@5.95.0) - webpack-merge: 5.10.0 - webpackbar: 5.0.2(webpack@5.95.0) - transitivePeerDependencies: - - '@docusaurus/types' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - bufferutil - - csso - - debug - - esbuild - - eslint - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli - - '@docusaurus/core@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': - dependencies: - '@babel/core': 7.25.7 - '@babel/generator': 7.25.7 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.7) - '@babel/plugin-transform-runtime': 7.25.7(@babel/core@7.25.7) - '@babel/preset-env': 7.25.7(@babel/core@7.25.7) - '@babel/preset-react': 7.25.7(@babel/core@7.25.7) - '@babel/preset-typescript': 7.25.7(@babel/core@7.25.7) - '@babel/runtime': 7.25.7 - '@babel/runtime-corejs3': 7.25.7 - '@babel/traverse': 7.25.7 - '@docusaurus/cssnano-preset': 3.5.2 - '@docusaurus/logger': 3.5.2 - '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) - '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) - '@mdx-js/react': 3.0.1(@types/react@18.3.11)(react@18.3.1) - autoprefixer: 10.4.20(postcss@8.4.47) - babel-loader: 9.2.1(@babel/core@7.25.7)(webpack@5.95.0) - babel-plugin-dynamic-import-node: 2.3.3 - boxen: 6.2.1 - chalk: 4.1.2 - chokidar: 3.6.0 - clean-css: 5.3.3 - cli-table3: 0.6.5 - combine-promises: 1.2.0 - commander: 5.1.0 - copy-webpack-plugin: 11.0.0(webpack@5.95.0) - core-js: 3.38.1 - css-loader: 6.11.0(webpack@5.95.0) - css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(webpack@5.95.0) - cssnano: 6.1.2(postcss@8.4.47) - del: 6.1.1 - detect-port: 1.6.1 - escape-html: 1.0.3 - eta: 2.2.0 - eval: 0.1.8 - file-loader: 6.2.0(webpack@5.95.0) - fs-extra: 11.2.0 - html-minifier-terser: 7.2.0 - html-tags: 3.3.1 - html-webpack-plugin: 5.6.0(webpack@5.95.0) - leven: 3.1.0 - lodash: 4.17.21 - mini-css-extract-plugin: 2.9.1(webpack@5.95.0) - p-map: 4.0.0 - postcss: 8.4.47 - postcss-loader: 7.3.4(postcss@8.4.47)(typescript@5.6.2)(webpack@5.95.0) - prompts: 2.4.2 - react: 18.3.1 - react-dev-utils: 12.0.1(typescript@5.6.2)(webpack@5.95.0) - react-dom: 18.3.1(react@18.3.1) - react-helmet-async: 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)' - react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.95.0) - react-router: 5.3.4(react@18.3.1) - react-router-config: 5.1.1(react-router@5.3.4(react@18.3.1))(react@18.3.1) - react-router-dom: 5.3.4(react@18.3.1) - rtl-detect: 1.1.2 - semver: 7.6.3 - serve-handler: 6.1.5 - shelljs: 0.8.5 - terser-webpack-plugin: 5.3.10(webpack@5.95.0) - tslib: 2.7.0 - update-notifier: 6.0.2 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.95.0))(webpack@5.95.0) - webpack: 5.95.0 - webpack-bundle-analyzer: 4.10.2 - webpack-dev-server: 4.15.2(debug@4.3.7)(webpack@5.95.0) - webpack-merge: 5.10.0 - webpackbar: 5.0.2(webpack@5.95.0) - transitivePeerDependencies: - - '@docusaurus/types' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - bufferutil - - csso - - debug - - esbuild - - eslint - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli - '@docusaurus/cssnano-preset@3.5.2': dependencies: cssnano-preset-advanced: 6.1.2(postcss@8.4.47) @@ -7014,43 +6784,6 @@ snapshots: chalk: 4.1.2 tslib: 2.7.0 - '@docusaurus/mdx-loader@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': - dependencies: - '@docusaurus/logger': 3.5.2 - '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - '@mdx-js/mdx': 3.0.1 - '@slorber/remark-comment': 1.0.0 - escape-html: 1.0.3 - estree-util-value-to-estree: 3.1.2 - file-loader: 6.2.0(webpack@5.95.0) - fs-extra: 11.2.0 - image-size: 1.1.1 - mdast-util-mdx: 3.0.0 - mdast-util-to-string: 4.0.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - rehype-raw: 7.0.0 - remark-directive: 3.0.0 - remark-emoji: 4.0.1 - remark-frontmatter: 5.0.0 - remark-gfm: 4.0.0 - stringify-object: 3.3.0 - tslib: 2.7.0 - unified: 11.0.5 - unist-util-visit: 5.0.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.95.0))(webpack@5.95.0) - vfile: 6.0.3 - webpack: 5.95.0 - transitivePeerDependencies: - - '@docusaurus/types' - - '@swc/core' - - esbuild - - supports-color - - typescript - - uglify-js - - webpack-cli - '@docusaurus/mdx-loader@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': dependencies: '@docusaurus/logger': 3.5.2 @@ -7106,54 +6839,12 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/plugin-content-blog@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': - dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/logger': 3.5.2 - '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - cheerio: 1.0.0-rc.12 - feed: 4.2.2 - fs-extra: 11.2.0 - lodash: 4.17.21 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - reading-time: 1.5.0 - srcset: 4.0.0 - tslib: 2.7.0 - unist-util-visit: 5.0.0 - utility-types: 3.11.0 - webpack: 5.95.0 - transitivePeerDependencies: - - '@mdx-js/react' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - bufferutil - - csso - - debug - - esbuild - - eslint - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli - '@docusaurus/plugin-content-blog@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(debug@4.3.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/logger': 3.5.2 '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(debug@4.3.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) @@ -7230,120 +6921,9 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': - dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/logger': 3.5.2 - '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/module-type-aliases': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - '@types/react-router-config': 5.0.11 - combine-promises: 1.2.0 - fs-extra: 11.2.0 - js-yaml: 4.1.0 - lodash: 4.17.21 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - tslib: 2.7.0 - utility-types: 3.11.0 - webpack: 5.95.0 - transitivePeerDependencies: - - '@mdx-js/react' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - bufferutil - - csso - - debug - - esbuild - - eslint - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli - - '@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': - dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/logger': 3.5.2 - '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/module-type-aliases': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) - '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) - '@types/react-router-config': 5.0.11 - combine-promises: 1.2.0 - fs-extra: 11.2.0 - js-yaml: 4.1.0 - lodash: 4.17.21 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - tslib: 2.7.0 - utility-types: 3.11.0 - webpack: 5.95.0 - transitivePeerDependencies: - - '@mdx-js/react' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - bufferutil - - csso - - debug - - esbuild - - eslint - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli - - '@docusaurus/plugin-content-pages@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': - dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - fs-extra: 11.2.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - tslib: 2.7.0 - webpack: 5.95.0 - transitivePeerDependencies: - - '@mdx-js/react' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - bufferutil - - csso - - debug - - esbuild - - eslint - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli - '@docusaurus/plugin-content-pages@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(debug@4.3.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) @@ -7374,7 +6954,7 @@ snapshots: '@docusaurus/plugin-debug@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(debug@4.3.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) fs-extra: 11.2.0 @@ -7403,7 +6983,7 @@ snapshots: '@docusaurus/plugin-google-analytics@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(debug@4.3.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) react: 18.3.1 @@ -7430,7 +7010,7 @@ snapshots: '@docusaurus/plugin-google-gtag@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(debug@4.3.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) '@types/gtag.js': 0.0.12 @@ -7458,7 +7038,7 @@ snapshots: '@docusaurus/plugin-google-tag-manager@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(debug@4.3.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) react: 18.3.1 @@ -7485,7 +7065,7 @@ snapshots: '@docusaurus/plugin-sitemap@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(debug@4.3.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/logger': 3.5.2 '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) @@ -7517,9 +7097,9 @@ snapshots: '@docusaurus/preset-classic@3.5.2(@algolia/client-search@4.24.0)(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)(typescript@5.6.2)': dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(debug@4.3.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/plugin-content-blog': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(debug@4.3.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/plugin-content-pages': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/plugin-debug': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/plugin-google-analytics': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) @@ -7559,61 +7139,13 @@ snapshots: '@types/react': 18.3.11 react: 18.3.1 - '@docusaurus/theme-classic@3.5.2(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': - dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/module-type-aliases': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/plugin-content-blog': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/plugin-content-pages': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/theme-translations': 3.5.2 - '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - '@mdx-js/react': 3.0.1(@types/react@18.3.11)(react@18.3.1) - clsx: 2.1.1 - copy-text-to-clipboard: 3.2.0 - infima: 0.2.0-alpha.44 - lodash: 4.17.21 - nprogress: 0.2.0 - postcss: 8.4.41 - prism-react-renderer: 2.4.0(react@18.3.1) - prismjs: 1.29.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-router-dom: 5.3.4(react@18.3.1) - rtlcss: 4.2.0 - tslib: 2.6.3 - utility-types: 3.11.0 - transitivePeerDependencies: - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@types/react' - - bufferutil - - csso - - debug - - esbuild - - eslint - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli - '@docusaurus/theme-classic@3.5.2(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': dependencies: - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(debug@4.3.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/module-type-aliases': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/plugin-content-blog': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(debug@4.3.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/plugin-content-pages': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/theme-translations': 3.5.2 @@ -7634,7 +7166,7 @@ snapshots: react-dom: 18.3.1(react@18.3.1) react-router-dom: 5.3.4(react@18.3.1) rtlcss: 4.2.0 - tslib: 2.6.3 + tslib: 2.7.0 utility-types: 3.11.0 transitivePeerDependencies: - '@parcel/css' @@ -7655,37 +7187,11 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/theme-common@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4)': - dependencies: - '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/module-type-aliases': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) - '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@types/history': 4.7.11 - '@types/react': 18.3.11 - '@types/react-router-config': 5.0.11 - clsx: 2.1.1 - parse-numeric-range: 1.3.0 - prism-react-renderer: 2.4.0(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - tslib: 2.7.0 - utility-types: 3.11.0 - transitivePeerDependencies: - - '@docusaurus/types' - - '@swc/core' - - esbuild - - supports-color - - typescript - - uglify-js - - webpack-cli - '@docusaurus/theme-common@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)': dependencies: '@docusaurus/mdx-loader': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/module-type-aliases': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(debug@4.3.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@types/history': 4.7.11 @@ -7710,9 +7216,9 @@ snapshots: '@docusaurus/theme-search-algolia@3.5.2(@algolia/client-search@4.24.0)(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)(typescript@5.6.2)': dependencies: '@docsearch/react': 3.6.2(@algolia/client-search@4.24.0)(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0) - '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(debug@4.3.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/logger': 3.5.2 - '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) + '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(debug@4.3.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/theme-translations': 3.5.2 '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) @@ -7783,25 +7289,6 @@ snapshots: optionalDependencies: '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4)': - dependencies: - '@docusaurus/logger': 3.5.2 - '@docusaurus/utils': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - fs-extra: 11.2.0 - joi: 17.13.3 - js-yaml: 4.1.0 - lodash: 4.17.21 - tslib: 2.7.0 - transitivePeerDependencies: - - '@docusaurus/types' - - '@swc/core' - - esbuild - - supports-color - - typescript - - uglify-js - - webpack-cli - '@docusaurus/utils-validation@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2)': dependencies: '@docusaurus/logger': 3.5.2 @@ -7821,38 +7308,6 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/utils@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4)': - dependencies: - '@docusaurus/logger': 3.5.2 - '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@svgr/webpack': 8.1.0(typescript@5.5.4) - escape-string-regexp: 4.0.0 - file-loader: 6.2.0(webpack@5.95.0) - fs-extra: 11.2.0 - github-slugger: 1.5.0 - globby: 11.1.0 - gray-matter: 4.0.3 - jiti: 1.21.6 - js-yaml: 4.1.0 - lodash: 4.17.21 - micromatch: 4.0.8 - prompts: 2.4.2 - resolve-pathname: 3.0.0 - shelljs: 0.8.5 - tslib: 2.7.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.95.0))(webpack@5.95.0) - utility-types: 3.11.0 - webpack: 5.95.0 - optionalDependencies: - '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - transitivePeerDependencies: - - '@swc/core' - - esbuild - - supports-color - - typescript - - uglify-js - - webpack-cli - '@docusaurus/utils@3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2)': dependencies: '@docusaurus/logger': 3.5.2 @@ -8288,17 +7743,6 @@ snapshots: '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.25.7) '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.25.7) - '@svgr/core@8.1.0(typescript@5.5.4)': - dependencies: - '@babel/core': 7.25.7 - '@svgr/babel-preset': 8.1.0(@babel/core@7.25.7) - camelcase: 6.3.0 - cosmiconfig: 8.3.6(typescript@5.5.4) - snake-case: 3.0.4 - transitivePeerDependencies: - - supports-color - - typescript - '@svgr/core@8.1.0(typescript@5.6.2)': dependencies: '@babel/core': 7.25.7 @@ -8325,15 +7769,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.6.2))(typescript@5.5.4)': - dependencies: - '@svgr/core': 8.1.0(typescript@5.6.2) - cosmiconfig: 8.3.6(typescript@5.5.4) - deepmerge: 4.3.1 - svgo: 3.3.2 - transitivePeerDependencies: - - typescript - '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.6.2))(typescript@5.6.2)': dependencies: '@svgr/core': 8.1.0(typescript@5.6.2) @@ -8343,20 +7778,6 @@ snapshots: transitivePeerDependencies: - typescript - '@svgr/webpack@8.1.0(typescript@5.5.4)': - dependencies: - '@babel/core': 7.25.7 - '@babel/plugin-transform-react-constant-elements': 7.25.7(@babel/core@7.25.7) - '@babel/preset-env': 7.25.7(@babel/core@7.25.7) - '@babel/preset-react': 7.25.7(@babel/core@7.25.7) - '@babel/preset-typescript': 7.25.7(@babel/core@7.25.7) - '@svgr/core': 8.1.0(typescript@5.5.4) - '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.6.2)) - '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.6.2))(typescript@5.5.4) - transitivePeerDependencies: - - supports-color - - typescript - '@svgr/webpack@8.1.0(typescript@5.6.2)': dependencies: '@babel/core': 7.25.7 @@ -8487,10 +7908,6 @@ snapshots: '@types/node@17.0.45': {} - '@types/node@20.14.15': - dependencies: - undici-types: 5.26.5 - '@types/node@20.16.10': dependencies: undici-types: 6.19.8 @@ -8679,7 +8096,7 @@ snapshots: agent-base@7.1.1: dependencies: - debug: 4.3.6 + debug: 4.3.7 transitivePeerDependencies: - supports-color @@ -8827,9 +8244,9 @@ snapshots: dependencies: possible-typed-array-names: 1.0.0 - axios@1.7.4: + axios@1.7.7: dependencies: - follow-redirects: 1.15.6 + follow-redirects: 1.15.9(debug@4.3.7) form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -9201,7 +8618,7 @@ snapshots: cookie-signature@1.0.6: {} - cookie@0.6.0: {} + cookie@0.7.1: {} copy-text-to-clipboard@3.2.0: {} @@ -9233,15 +8650,6 @@ snapshots: path-type: 4.0.0 yaml: 1.10.2 - cosmiconfig@8.3.6(typescript@5.5.4): - dependencies: - import-fresh: 3.3.0 - js-yaml: 4.1.0 - parse-json: 5.2.0 - path-type: 4.0.0 - optionalDependencies: - typescript: 5.5.4 - cosmiconfig@8.3.6(typescript@5.6.2): dependencies: import-fresh: 3.3.0 @@ -9387,9 +8795,9 @@ snapshots: dependencies: css-tree: 2.2.1 - cssstyle@4.0.1: + cssstyle@4.1.0: dependencies: - rrweb-cssom: 0.6.0 + rrweb-cssom: 0.7.1 csstype@3.1.3: {} @@ -9426,10 +8834,6 @@ snapshots: dependencies: ms: 2.0.0 - debug@4.3.6: - dependencies: - ms: 2.1.2 - debug@4.3.7: dependencies: ms: 2.1.3 @@ -9584,8 +8988,6 @@ snapshots: dependencies: domelementtype: 2.3.0 - dompurify@3.1.6: {} - dompurify@3.1.7: {} domutils@2.8.0: @@ -9891,7 +9293,7 @@ snapshots: body-parser: 1.20.3 content-disposition: 0.5.4 content-type: 1.0.5 - cookie: 0.6.0 + cookie: 0.7.1 cookie-signature: 1.0.6 debug: 2.6.9 depd: 2.0.0 @@ -10007,8 +9409,6 @@ snapshots: flat@5.0.2: {} - follow-redirects@1.15.6: {} - follow-redirects@1.15.9(debug@4.3.7): optionalDependencies: debug: 4.3.7 @@ -10019,24 +9419,6 @@ snapshots: foreach@2.0.6: {} - fork-ts-checker-webpack-plugin@6.5.3(typescript@5.5.4)(webpack@5.95.0): - dependencies: - '@babel/code-frame': 7.25.7 - '@types/json-schema': 7.0.15 - chalk: 4.1.2 - chokidar: 3.6.0 - cosmiconfig: 6.0.0 - deepmerge: 4.3.1 - fs-extra: 9.1.0 - glob: 7.2.3 - memfs: 3.5.3 - minimatch: 3.1.2 - schema-utils: 2.7.0 - semver: 7.6.3 - tapable: 1.1.3 - typescript: 5.5.4 - webpack: 5.95.0 - fork-ts-checker-webpack-plugin@6.5.3(typescript@5.6.2)(webpack@5.95.0): dependencies: '@babel/code-frame': 7.25.7 @@ -10469,7 +9851,7 @@ snapshots: http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.1 - debug: 4.3.6 + debug: 4.3.7 transitivePeerDependencies: - supports-color @@ -10503,7 +9885,7 @@ snapshots: https-proxy-agent@7.0.5: dependencies: agent-base: 7.1.1 - debug: 4.3.6 + debug: 4.3.7 transitivePeerDependencies: - supports-color @@ -10726,11 +10108,11 @@ snapshots: isobject@3.0.1: {} - isomorphic-dompurify@2.14.0: + isomorphic-dompurify@2.16.0: dependencies: '@types/dompurify': 3.0.5 - dompurify: 3.1.6 - jsdom: 24.1.1 + dompurify: 3.1.7 + jsdom: 25.0.1 transitivePeerDependencies: - bufferutil - canvas @@ -10782,9 +10164,9 @@ snapshots: dependencies: argparse: 2.0.1 - jsdom@24.1.1: + jsdom@25.0.1: dependencies: - cssstyle: 4.0.1 + cssstyle: 4.1.0 data-urls: 5.0.0 decimal.js: 10.4.3 form-data: 4.0.0 @@ -10792,12 +10174,12 @@ snapshots: http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.5 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.12 + nwsapi: 2.2.13 parse5: 7.1.2 rrweb-cssom: 0.7.1 saxes: 6.0.0 symbol-tree: 3.2.4 - tough-cookie: 4.1.4 + tough-cookie: 5.0.0 w3c-xmlserializer: 5.0.0 webidl-conversions: 7.0.0 whatwg-encoding: 3.1.1 @@ -10922,7 +10304,7 @@ snapshots: markdown-table@3.0.3: {} - marked@14.0.0: {} + marked@14.1.2: {} marked@4.3.0: {} @@ -11496,8 +10878,6 @@ snapshots: ms@2.0.0: {} - ms@2.1.2: {} - ms@2.1.3: {} multicast-dns@7.2.5: @@ -11562,7 +10942,7 @@ snapshots: dependencies: boolbase: 1.0.0 - nwsapi@2.2.12: {} + nwsapi@2.2.13: {} oas-kit-common@1.0.8: dependencies: @@ -11838,16 +11218,6 @@ snapshots: postcss: 8.4.47 postcss-selector-parser: 6.1.2 - postcss-loader@7.3.4(postcss@8.4.47)(typescript@5.5.4)(webpack@5.95.0): - dependencies: - cosmiconfig: 8.3.6(typescript@5.5.4) - jiti: 1.21.6 - postcss: 8.4.47 - semver: 7.6.3 - webpack: 5.95.0 - transitivePeerDependencies: - - typescript - postcss-loader@7.3.4(postcss@8.4.47)(typescript@5.6.2)(webpack@5.95.0): dependencies: cosmiconfig: 8.3.6(typescript@5.6.2) @@ -12078,8 +11448,6 @@ snapshots: proxy-from-env@1.1.0: {} - psl@1.9.0: {} - punycode@1.4.1: {} punycode@2.3.1: {} @@ -12092,8 +11460,6 @@ snapshots: dependencies: side-channel: 1.0.6 - querystringify@2.2.0: {} - queue-microtask@1.2.3: {} queue@6.0.2: @@ -12135,40 +11501,6 @@ snapshots: minimist: 1.2.8 strip-json-comments: 2.0.1 - react-dev-utils@12.0.1(typescript@5.5.4)(webpack@5.95.0): - dependencies: - '@babel/code-frame': 7.25.7 - address: 1.2.2 - browserslist: 4.24.0 - chalk: 4.1.2 - cross-spawn: 7.0.3 - detect-port-alt: 1.1.6 - escape-string-regexp: 4.0.0 - filesize: 8.0.7 - find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(typescript@5.5.4)(webpack@5.95.0) - global-modules: 2.0.0 - globby: 11.1.0 - gzip-size: 6.0.0 - immer: 9.0.21 - is-root: 2.1.0 - loader-utils: 3.3.1 - open: 8.4.2 - pkg-up: 3.1.0 - prompts: 2.4.2 - react-error-overlay: 6.0.11 - recursive-readdir: 2.2.3 - shell-quote: 1.8.1 - strip-ansi: 6.0.1 - text-table: 0.2.0 - webpack: 5.95.0 - optionalDependencies: - typescript: 5.5.4 - transitivePeerDependencies: - - eslint - - supports-color - - vue-template-compiler - react-dev-utils@12.0.1(typescript@5.6.2)(webpack@5.95.0): dependencies: '@babel/code-frame': 7.25.7 @@ -12536,8 +11868,6 @@ snapshots: dependencies: glob: 7.2.3 - rrweb-cssom@0.6.0: {} - rrweb-cssom@0.7.1: {} rst-selector-parser@2.2.3: @@ -12560,7 +11890,7 @@ snapshots: rxjs@7.8.1: dependencies: - tslib: 2.6.3 + tslib: 2.7.0 safe-array-concat@1.1.2: dependencies: @@ -13017,6 +12347,12 @@ snapshots: tiny-warning@1.0.3: {} + tldts-core@6.1.50: {} + + tldts@6.1.50: + dependencies: + tldts-core: 6.1.50 + to-fast-properties@2.0.0: {} to-regex-range@5.0.1: @@ -13027,12 +12363,9 @@ snapshots: totalist@3.0.1: {} - tough-cookie@4.1.4: + tough-cookie@5.0.0: dependencies: - psl: 1.9.0 - punycode: 2.3.1 - universalify: 0.2.0 - url-parse: 1.5.10 + tldts: 6.1.50 tr46@0.0.3: {} @@ -13048,8 +12381,6 @@ snapshots: tslib@2.6.2: {} - tslib@2.6.3: {} - tslib@2.7.0: {} type-fest@1.4.0: {} @@ -13099,8 +12430,6 @@ snapshots: dependencies: is-typedarray: 1.0.0 - typescript@5.5.4: {} - typescript@5.6.2: {} unbox-primitive@1.0.2: @@ -13110,8 +12439,6 @@ snapshots: has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 - undici-types@5.26.5: {} - undici-types@6.19.8: {} undici@6.19.8: {} @@ -13170,8 +12497,6 @@ snapshots: unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.1 - universalify@0.2.0: {} - universalify@2.0.1: {} unpipe@1.0.0: {} @@ -13214,11 +12539,6 @@ snapshots: optionalDependencies: file-loader: 6.2.0(webpack@5.95.0) - url-parse@1.5.10: - dependencies: - querystringify: 2.2.0 - requires-port: 1.0.0 - url-template@2.0.8: {} use-sync-external-store@1.2.2(react@18.3.1): @@ -13488,7 +12808,7 @@ snapshots: yaml@1.10.2: {} - yaml@2.5.0: {} + yaml@2.5.1: {} yargs-parser@21.1.1: {} From 5bf43daf96cbfb016d3c2326b6039fdf24f4e232 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 5 Oct 2024 11:07:41 +0200 Subject: [PATCH 196/547] chore(deps): update node.js to v22 (#4180) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .woodpecker/docs.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.woodpecker/docs.yaml b/.woodpecker/docs.yaml index bc59052d6..9e278e1e4 100644 --- a/.woodpecker/docs.yaml +++ b/.woodpecker/docs.yaml @@ -1,6 +1,6 @@ variables: - &golang_image 'docker.io/golang:1.22' - - &node_image 'docker.io/node:21-alpine' + - &node_image 'docker.io/node:22-alpine' - &alpine_image 'docker.io/alpine:3.19' - path: &when_path - 'docs/**' From 340a3c0daf4a16077f151b6d948d5f88ff35b7da Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 5 Oct 2024 10:32:30 +0100 Subject: [PATCH 197/547] chore(deps): update docker.io/golang docker tag to v1.23 (#4170) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .woodpecker/docs.yaml | 2 +- .woodpecker/test.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.woodpecker/docs.yaml b/.woodpecker/docs.yaml index 9e278e1e4..735096dc6 100644 --- a/.woodpecker/docs.yaml +++ b/.woodpecker/docs.yaml @@ -1,5 +1,5 @@ variables: - - &golang_image 'docker.io/golang:1.22' + - &golang_image 'docker.io/golang:1.23' - &node_image 'docker.io/node:22-alpine' - &alpine_image 'docker.io/alpine:3.19' - path: &when_path diff --git a/.woodpecker/test.yaml b/.woodpecker/test.yaml index 0d39cfa2d..5d48bf774 100644 --- a/.woodpecker/test.yaml +++ b/.woodpecker/test.yaml @@ -1,5 +1,5 @@ variables: - - &golang_image 'docker.io/golang:1.22' + - &golang_image 'docker.io/golang:1.23' - &when - path: &when_path # related config files - '.woodpecker/test.yaml' From 5d13dc649e6392aa3859874415d7ee5677f1161f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 5 Oct 2024 10:34:02 +0100 Subject: [PATCH 198/547] chore(deps): update pre-commit non-major (#4173) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com> --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 305726233..7abc75f8f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -10,11 +10,11 @@ repos: - id: end-of-file-fixer - id: trailing-whitespace - repo: https://github.com/golangci/golangci-lint - rev: v1.59.1 + rev: v1.61.0 hooks: - id: golangci-lint - repo: https://github.com/igorshubovych/markdownlint-cli - rev: v0.41.0 + rev: v0.42.0 hooks: - id: markdownlint exclude: '^(docs/versioned_docs/.*|CHANGELOG.md)$' From 8bd97470c280624560409488a9de5130c0e065c8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 5 Oct 2024 10:39:34 +0100 Subject: [PATCH 199/547] chore(deps): update postgres docker tag to v17 (#4181) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- docker-compose.gitpod.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.gitpod.yaml b/docker-compose.gitpod.yaml index 8b111d791..b0fc5c7d2 100644 --- a/docker-compose.gitpod.yaml +++ b/docker-compose.gitpod.yaml @@ -3,7 +3,7 @@ version: '3' services: gitea-database: - image: postgres:16.3-alpine + image: postgres:17.0-alpine environment: POSTGRES_USER: gitea POSTGRES_PASSWORD: 123456 From cabe7497981956d04b05c8c3a1e81a89c106c10d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 5 Oct 2024 10:54:14 +0100 Subject: [PATCH 200/547] fix(deps): update github.com/muesli/termenv digest to 82936c5 (#4165) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 61e2ac41b..235f89148 100644 --- a/go.mod +++ b/go.mod @@ -45,7 +45,7 @@ require ( github.com/mitchellh/mapstructure v1.5.0 github.com/moby/moby v27.3.1+incompatible github.com/moby/term v0.5.0 - github.com/muesli/termenv v0.15.3-0.20240618155329-98d742f6907a + github.com/muesli/termenv v0.15.3-0.20240912151726-82936c5ea257 github.com/neticdk/go-bitbucket v1.0.0 github.com/oklog/ulid/v2 v2.1.0 github.com/pkg/errors v0.9.1 diff --git a/go.sum b/go.sum index cfb359917..d1c58119d 100644 --- a/go.sum +++ b/go.sum @@ -418,8 +418,8 @@ github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 h1:ZK8zHtRHOkbHy6Mmr5D github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6/go.mod h1:CJlz5H+gyd6CUWT45Oy4q24RdLyn7Md9Vj2/ldJBSIo= github.com/muesli/cancelreader v0.2.2 h1:3I4Kt4BQjOR54NavqnDogx/MIoWBFa0StPA8ELUXHmA= github.com/muesli/cancelreader v0.2.2/go.mod h1:3XuTXfFS2VjM+HTLZY9Ak0l6eUKfijIfMUZ4EgX0QYo= -github.com/muesli/termenv v0.15.3-0.20240618155329-98d742f6907a h1:2MaM6YC3mGu54x+RKAA6JiFFHlHDY1UbkxqppT7wYOg= -github.com/muesli/termenv v0.15.3-0.20240618155329-98d742f6907a/go.mod h1:hxSnBBYLK21Vtq/PHd0S2FYCxBXzBua8ov5s1RobyRQ= +github.com/muesli/termenv v0.15.3-0.20240912151726-82936c5ea257 h1:RNw/zu+CJemcRlDFPjElZUbY2UlI/MA2B3I6PM3Isiw= +github.com/muesli/termenv v0.15.3-0.20240912151726-82936c5ea257/go.mod h1:hxSnBBYLK21Vtq/PHd0S2FYCxBXzBua8ov5s1RobyRQ= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/neticdk/go-bitbucket v1.0.0 h1:FPvHEgPHoDwD2VHbpyu2R2gnoWQ867RxZd2FivS4wSw= From d96ae567652bfa5c80ab63fc072360d422665842 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 5 Oct 2024 11:02:06 +0100 Subject: [PATCH 201/547] chore(deps): update woodpeckerci/plugin-ready-release-go docker tag to v2 (#4182) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com> --- .woodpecker/release-helper.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.woodpecker/release-helper.yaml b/.woodpecker/release-helper.yaml index b9c19c553..fbffef869 100644 --- a/.woodpecker/release-helper.yaml +++ b/.woodpecker/release-helper.yaml @@ -1,6 +1,6 @@ steps: release-helper: - image: woodpeckerci/plugin-ready-release-go:1.2.0 + image: woodpeckerci/plugin-ready-release-go:2.0.0 pull: true settings: release_branch: ${CI_REPO_DEFAULT_BRANCH} From 65f8c69da77deae36ac0e25927c12d2a39cd1ee9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 5 Oct 2024 11:06:45 +0100 Subject: [PATCH 202/547] chore(deps): update woodpeckerci/plugin-release docker tag to v0.2.1 (#4175) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com> --- .woodpecker/binaries.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.woodpecker/binaries.yaml b/.woodpecker/binaries.yaml index 509dccbda..e854b06a6 100644 --- a/.woodpecker/binaries.yaml +++ b/.woodpecker/binaries.yaml @@ -97,7 +97,7 @@ steps: release: depends_on: - checksums - image: woodpeckerci/plugin-release:0.1.0 + image: woodpeckerci/plugin-release:0.2.1 settings: api_key: from_secret: github_token From 408f37d7f967ad29688e35c38b2e6192b69acfe3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 5 Oct 2024 12:39:36 +0100 Subject: [PATCH 203/547] chore(deps): update docker.io/woodpeckerci/plugin-surge-preview docker tag to v1.3.2 (#4168) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .woodpecker/docs.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.woodpecker/docs.yaml b/.woodpecker/docs.yaml index 735096dc6..12273d11d 100644 --- a/.woodpecker/docs.yaml +++ b/.woodpecker/docs.yaml @@ -60,7 +60,7 @@ steps: - event: manual deploy-preview: - image: docker.io/woodpeckerci/plugin-surge-preview:1.3.0 + image: docker.io/woodpeckerci/plugin-surge-preview:1.3.2 settings: path: 'docs/build/' surge_token: From 4a6185557f3b0b5f7e1c93ea801560d63bc62ee0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 5 Oct 2024 13:10:02 +0100 Subject: [PATCH 204/547] fix(deps): update github.com/urfave/cli/v3 digest to 20ef97b (#4166) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 235f89148..3a5db153d 100644 --- a/go.mod +++ b/go.mod @@ -56,7 +56,7 @@ require ( github.com/swaggo/gin-swagger v1.6.0 github.com/swaggo/swag v1.16.3 github.com/urfave/cli-docs/v3 v3.0.0-alpha5.0.20240714105325-1da00919bcb4 - github.com/urfave/cli/v3 v3.0.0-alpha9.0.20240811205807-fc07a8c3673f + github.com/urfave/cli/v3 v3.0.0-alpha9.0.20241004184838-20ef97b2155a github.com/xanzy/go-gitlab v0.109.0 github.com/xeipuuv/gojsonschema v1.2.0 github.com/yaronf/httpsign v0.3.1 diff --git a/go.sum b/go.sum index d1c58119d..2fb1eb786 100644 --- a/go.sum +++ b/go.sum @@ -525,8 +525,8 @@ github.com/ugorji/go/codec v1.2.12 h1:9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65E github.com/ugorji/go/codec v1.2.12/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= github.com/urfave/cli-docs/v3 v3.0.0-alpha5.0.20240714105325-1da00919bcb4 h1:exFN/ZOxXslYr9t2AjrniP7wPjp/VLLAJhgazj92EBg= github.com/urfave/cli-docs/v3 v3.0.0-alpha5.0.20240714105325-1da00919bcb4/go.mod h1:AIqom6Q60U4tiqHp41i7+/AB2XHgi1WvQ7jOFlccmZ4= -github.com/urfave/cli/v3 v3.0.0-alpha9.0.20240811205807-fc07a8c3673f h1:C3vgiHDZBVKtNLp3PCQ9//V2NBhGOwUhLILmZhB6/jY= -github.com/urfave/cli/v3 v3.0.0-alpha9.0.20240811205807-fc07a8c3673f/go.mod h1:Z1ItyMma7t6I7zHG9OpbExhHQOSkFf/96n+mAZ9MtVI= +github.com/urfave/cli/v3 v3.0.0-alpha9.0.20241004184838-20ef97b2155a h1:ipFw/N7kumxX+CA9UoKXX86MNfYsfsom8YOdUC+Rsfw= +github.com/urfave/cli/v3 v3.0.0-alpha9.0.20241004184838-20ef97b2155a/go.mod h1:Z1ItyMma7t6I7zHG9OpbExhHQOSkFf/96n+mAZ9MtVI= github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= github.com/xanzy/go-gitlab v0.109.0 h1:RcRme5w8VpLXTSTTMZdVoQWY37qTJWg+gwdQl4aAttE= From 18edc0189f644dc5dc04f655f9841f311a37bc6b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 5 Oct 2024 15:21:36 +0300 Subject: [PATCH 205/547] chore(deps): update docker.io/alpine docker tag to v3.20 (#4169) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .woodpecker/docs.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.woodpecker/docs.yaml b/.woodpecker/docs.yaml index 12273d11d..6cfcb1da3 100644 --- a/.woodpecker/docs.yaml +++ b/.woodpecker/docs.yaml @@ -1,7 +1,7 @@ variables: - &golang_image 'docker.io/golang:1.23' - &node_image 'docker.io/node:22-alpine' - - &alpine_image 'docker.io/alpine:3.19' + - &alpine_image 'docker.io/alpine:3.20' - path: &when_path - 'docs/**' - '.woodpecker/docs.yaml' From d78cb9ed718f32a7ebb400beaade905e99986ce9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 5 Oct 2024 15:33:19 +0300 Subject: [PATCH 206/547] chore(deps): update docker.io/mysql docker tag to v9 (#4178) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .woodpecker/test.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.woodpecker/test.yaml b/.woodpecker/test.yaml index 5d48bf774..21045c47d 100644 --- a/.woodpecker/test.yaml +++ b/.woodpecker/test.yaml @@ -153,7 +153,7 @@ services: when: *when mysql: - image: docker.io/mysql:8.2.0 + image: docker.io/mysql:9.0.1 ports: ['3306'] environment: MYSQL_DATABASE: test From bc74af507ec6d3501a43fdd939c77676ace9de36 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 5 Oct 2024 15:46:36 +0300 Subject: [PATCH 207/547] fix(deps): update module github.com/google/go-github/v64 to v65 (#4185) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- server/forge/github/convert.go | 2 +- server/forge/github/convert_test.go | 2 +- server/forge/github/github.go | 2 +- server/forge/github/parse.go | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/go.mod b/go.mod index 3a5db153d..f7e6f326f 100644 --- a/go.mod +++ b/go.mod @@ -32,7 +32,7 @@ require ( github.com/gitsight/go-vcsurl v1.0.1 github.com/go-sql-driver/mysql v1.8.1 github.com/golang-jwt/jwt/v5 v5.2.1 - github.com/google/go-github/v64 v64.0.0 + github.com/google/go-github/v65 v65.0.0 github.com/google/tink/go v1.7.0 github.com/gorilla/securecookie v1.1.2 github.com/hashicorp/go-hclog v1.6.3 diff --git a/go.sum b/go.sum index 2fb1eb786..b98c1b6f3 100644 --- a/go.sum +++ b/go.sum @@ -222,8 +222,8 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-github/v64 v64.0.0 h1:4G61sozmY3eiPAjjoOHponXDBONm+utovTKbyUb2Qdg= -github.com/google/go-github/v64 v64.0.0/go.mod h1:xB3vqMQNdHzilXBiO2I+M7iEFtHf+DP/omBOv6tQzVo= +github.com/google/go-github/v65 v65.0.0 h1:pQ7BmO3DZivvFk92geC0jB0q2m3gyn8vnYPgV7GSLhQ= +github.com/google/go-github/v65 v65.0.0/go.mod h1:DvrqWo5hvsdhJvHd4WyVF9ttANN3BniqjP8uTFMNb60= github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= diff --git a/server/forge/github/convert.go b/server/forge/github/convert.go index 5184cf4b9..62d960a97 100644 --- a/server/forge/github/convert.go +++ b/server/forge/github/convert.go @@ -18,7 +18,7 @@ package github import ( "fmt" - "github.com/google/go-github/v64/github" + "github.com/google/go-github/v65/github" "go.woodpecker-ci.org/woodpecker/v2/server/model" ) diff --git a/server/forge/github/convert_test.go b/server/forge/github/convert_test.go index dd366467c..f8ba67654 100644 --- a/server/forge/github/convert_test.go +++ b/server/forge/github/convert_test.go @@ -19,7 +19,7 @@ import ( "testing" "github.com/franela/goblin" - "github.com/google/go-github/v64/github" + "github.com/google/go-github/v65/github" "go.woodpecker-ci.org/woodpecker/v2/server/model" ) diff --git a/server/forge/github/github.go b/server/forge/github/github.go index 768b40fd5..eac6753cb 100644 --- a/server/forge/github/github.go +++ b/server/forge/github/github.go @@ -26,7 +26,7 @@ import ( "strconv" "strings" - "github.com/google/go-github/v64/github" + "github.com/google/go-github/v65/github" "github.com/rs/zerolog/log" "golang.org/x/oauth2" diff --git a/server/forge/github/parse.go b/server/forge/github/parse.go index f47e91751..e556201dd 100644 --- a/server/forge/github/parse.go +++ b/server/forge/github/parse.go @@ -22,7 +22,7 @@ import ( "net/http" "strings" - "github.com/google/go-github/v64/github" + "github.com/google/go-github/v65/github" "go.woodpecker-ci.org/woodpecker/v2/server/forge/types" "go.woodpecker-ci.org/woodpecker/v2/server/model" From cb25ccdef2e5724e457f6e606f2116b802d9b5bd Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 5 Oct 2024 13:52:14 +0100 Subject: [PATCH 208/547] chore(deps): update docker.io/woodpeckerci/plugin-codecov docker tag to v2.1.5 (#4167) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com> --- .woodpecker/test.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.woodpecker/test.yaml b/.woodpecker/test.yaml index 21045c47d..a709ec54c 100644 --- a/.woodpecker/test.yaml +++ b/.woodpecker/test.yaml @@ -129,7 +129,7 @@ steps: - test - sqlite pull: true - image: docker.io/woodpeckerci/plugin-codecov:2.1.2 + image: docker.io/woodpeckerci/plugin-codecov:2.1.5 settings: files: - agent-coverage.out From 1995b0fb6adc0a27276987c2ae17715dfa71fdb9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 5 Oct 2024 13:56:26 +0100 Subject: [PATCH 209/547] fix(deps): update dependency @vueuse/core to v11 (#4184) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- web/package.json | 2 +- web/pnpm-lock.yaml | 26 +++++++++++++------------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/web/package.json b/web/package.json index 73614bf43..c46b861d5 100644 --- a/web/package.json +++ b/web/package.json @@ -21,7 +21,7 @@ "@intlify/unplugin-vue-i18n": "^4.0.0", "@kyvg/vue3-notification": "^3.2.1", "@mdi/js": "^7.4.47", - "@vueuse/core": "^10.11.1", + "@vueuse/core": "^11.0.0", "ansi_up": "^6.0.2", "dayjs": "^1.11.12", "fuse.js": "^7.0.0", diff --git a/web/pnpm-lock.yaml b/web/pnpm-lock.yaml index 05ffa8ca8..d2c786f12 100644 --- a/web/pnpm-lock.yaml +++ b/web/pnpm-lock.yaml @@ -21,8 +21,8 @@ importers: specifier: ^7.4.47 version: 7.4.47 '@vueuse/core': - specifier: ^10.11.1 - version: 10.11.1(vue@3.4.38(typescript@5.5.4)) + specifier: ^11.0.0 + version: 11.1.0(vue@3.4.38(typescript@5.5.4)) ansi_up: specifier: ^6.0.2 version: 6.0.2 @@ -925,14 +925,14 @@ packages: '@vue/test-utils@2.4.6': resolution: {integrity: sha512-FMxEjOpYNYiFe0GkaHsnJPXFHxQ6m4t8vI/ElPGpMWxZKpmRvQ33OIrvRXemy6yha03RxhOlQuy+gZMC3CQSow==} - '@vueuse/core@10.11.1': - resolution: {integrity: sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==} + '@vueuse/core@11.1.0': + resolution: {integrity: sha512-P6dk79QYA6sKQnghrUz/1tHi0n9mrb/iO1WTMk/ElLmTyNqgDeSZ3wcDf6fRBGzRJbeG1dxzEOvLENMjr+E3fg==} - '@vueuse/metadata@10.11.1': - resolution: {integrity: sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==} + '@vueuse/metadata@11.1.0': + resolution: {integrity: sha512-l9Q502TBTaPYGanl1G+hPgd3QX5s4CGnpXriVBR5fEZ/goI6fvDaVmIl3Td8oKFurOxTmbXvBPSsgrd6eu6HYg==} - '@vueuse/shared@10.11.1': - resolution: {integrity: sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==} + '@vueuse/shared@11.1.0': + resolution: {integrity: sha512-YUtIpY122q7osj+zsNMFAfMTubGz0sn5QzE5gPzAIiCmtt2ha3uQUY1+JPyL4gRCTsLPX82Y9brNbo/aqlA91w==} '@windicss/config@1.9.3': resolution: {integrity: sha512-u8GUjsfC9r5X1AGYhzb1lX3zZj8wqk6SH1DYex8XUGmZ1M2UpvnUPOFi63XFViduspQ6l2xTX84QtG+lUzhEoQ==} @@ -3636,19 +3636,19 @@ snapshots: js-beautify: 1.15.1 vue-component-type-helpers: 2.0.29 - '@vueuse/core@10.11.1(vue@3.4.38(typescript@5.5.4))': + '@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4))': dependencies: '@types/web-bluetooth': 0.0.20 - '@vueuse/metadata': 10.11.1 - '@vueuse/shared': 10.11.1(vue@3.4.38(typescript@5.5.4)) + '@vueuse/metadata': 11.1.0 + '@vueuse/shared': 11.1.0(vue@3.4.38(typescript@5.5.4)) vue-demi: 0.14.10(vue@3.4.38(typescript@5.5.4)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/metadata@10.11.1': {} + '@vueuse/metadata@11.1.0': {} - '@vueuse/shared@10.11.1(vue@3.4.38(typescript@5.5.4))': + '@vueuse/shared@11.1.0(vue@3.4.38(typescript@5.5.4))': dependencies: vue-demi: 0.14.10(vue@3.4.38(typescript@5.5.4)) transitivePeerDependencies: From 7473c4b2e74423d114d71e0a4c067cee3daaa6ed Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 5 Oct 2024 14:03:23 +0100 Subject: [PATCH 210/547] fix(deps): update dependency @intlify/unplugin-vue-i18n to v5 (#4183) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- web/package.json | 2 +- web/pnpm-lock.yaml | 131 +++++++++++++++++++++++++++++++++++++-------- 2 files changed, 111 insertions(+), 22 deletions(-) diff --git a/web/package.json b/web/package.json index c46b861d5..265a87fdc 100644 --- a/web/package.json +++ b/web/package.json @@ -18,7 +18,7 @@ "test": "vitest" }, "dependencies": { - "@intlify/unplugin-vue-i18n": "^4.0.0", + "@intlify/unplugin-vue-i18n": "^5.0.0", "@kyvg/vue3-notification": "^3.2.1", "@mdi/js": "^7.4.47", "@vueuse/core": "^11.0.0", diff --git a/web/pnpm-lock.yaml b/web/pnpm-lock.yaml index d2c786f12..336f1ca7b 100644 --- a/web/pnpm-lock.yaml +++ b/web/pnpm-lock.yaml @@ -12,8 +12,8 @@ importers: .: dependencies: '@intlify/unplugin-vue-i18n': - specifier: ^4.0.0 - version: 4.0.0(rollup@4.24.0)(vue-i18n@9.13.1(vue@3.4.38(typescript@5.5.4))) + specifier: ^5.0.0 + version: 5.2.0(@vue/compiler-dom@3.4.38)(eslint@9.9.0(jiti@1.21.6))(rollup@4.24.0)(typescript@5.5.4)(vue-i18n@9.13.1(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4)) '@kyvg/vue3-notification': specifier: ^3.2.1 version: 3.2.1(vue@3.4.38(typescript@5.5.4)) @@ -493,9 +493,9 @@ packages: '@vue/compiler-sfc': optional: true - '@intlify/bundle-utils@8.0.0': - resolution: {integrity: sha512-1B++zykRnMwQ+20SpsZI1JCnV/YJt9Oq7AGlEurzkWJOFtFAVqaGc/oV36PBRYeiKnTbY9VYfjBimr2Vt42wLQ==} - engines: {node: '>= 14.16'} + '@intlify/bundle-utils@9.0.0-beta.0': + resolution: {integrity: sha512-xVaMrgbr60fYE1Jkq+k6grs2ZoXqh1EU71RVKkHkKh3KP7T6OYtG1Vbp1T09/jCUbv1GBd8Ir5WdZDyN+e8BpQ==} + engines: {node: '>= 18'} peerDependencies: petite-vue-i18n: '*' vue-i18n: '*' @@ -515,27 +515,51 @@ packages: peerDependencies: eslint: ^8.0.0 || ^9.0.0-0 + '@intlify/message-compiler@10.0.0': + resolution: {integrity: sha512-OcaWc63NC/9p1cMdgoNKBj4d61BH8sUW1Hfs6YijTd9656ZR4rNqXAlRnBrfS5ABq0vjQjpa8VnyvH9hK49yBw==} + engines: {node: '>= 16'} + '@intlify/message-compiler@9.13.1': resolution: {integrity: sha512-SKsVa4ajYGBVm7sHMXd5qX70O2XXjm55zdZB3VeMFCvQyvLew/dLvq3MqnaIsTMF1VkkOb9Ttr6tHcMlyPDL9w==} engines: {node: '>= 16'} + '@intlify/shared@10.0.0': + resolution: {integrity: sha512-6ngLfI7DOTew2dcF9WMJx+NnMWghMBhIiHbGg+wRvngpzD5KZJZiJVuzMsUQE1a5YebEmtpTEfUrDp/NqVGdiw==} + engines: {node: '>= 16'} + '@intlify/shared@9.13.1': resolution: {integrity: sha512-u3b6BKGhE6j/JeRU6C/RL2FgyJfy6LakbtfeVF8fJXURpZZTzfh3e05J0bu0XPw447Q6/WUp3C4ajv4TMS4YsQ==} engines: {node: '>= 16'} - '@intlify/unplugin-vue-i18n@4.0.0': - resolution: {integrity: sha512-q2Mhqa/mLi0tulfLFO4fMXXvEbkSZpI5yGhNNsLTNJJ41icEGUuyDe+j5zRZIKSkOJRgX6YbCyibTDJdRsukmw==} - engines: {node: '>= 14.16'} + '@intlify/unplugin-vue-i18n@5.2.0': + resolution: {integrity: sha512-pmRiPY2Nj9mmSrixT69aO45XxGUr5fDBy/IIw4ajLlDTJm5TSmQKA5YNdsH0uxVDCPWy5tlQrF18hkDwI7UJvg==} + engines: {node: '>= 18'} peerDependencies: petite-vue-i18n: '*' + vue: ^3.2.25 vue-i18n: '*' - vue-i18n-bridge: '*' peerDependenciesMeta: petite-vue-i18n: optional: true vue-i18n: optional: true - vue-i18n-bridge: + + '@intlify/vue-i18n-extensions@7.0.0': + resolution: {integrity: sha512-MtvfJnb4aklpCU5Q/dkWkBT/vGsp3qERiPIwtTq5lX4PCLHtUprAJZp8wQj5ZcwDaFCU7+yVMjYbeXpIf927cA==} + engines: {node: '>= 18'} + peerDependencies: + '@intlify/shared': ^9.0.0 || ^10.0.0 + '@vue/compiler-dom': ^3.0.0 + vue: ^3.0.0 + vue-i18n: ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + '@intlify/shared': + optional: true + '@vue/compiler-dom': + optional: true + vue: + optional: true + vue-i18n: optional: true '@isaacs/cliui@8.0.2': @@ -763,6 +787,10 @@ packages: typescript: optional: true + '@typescript-eslint/scope-manager@7.18.0': + resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} + engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/scope-manager@8.1.0': resolution: {integrity: sha512-DsuOZQji687sQUjm4N6c9xABJa7fjvfIdjqpSIIVOgaENf2jFXiM9hIBZOL3hb6DHK9Nvd2d7zZnoMLf9e0OtQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -792,6 +820,15 @@ packages: resolution: {integrity: sha512-T1RB3KQdskh9t3v/qv7niK6P8yvn7ja1mS7QK7XfRVL6wtZ8/mFs/FHf4fKvTA0rKnqnYxl/uHFNbnEt0phgbw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@7.18.0': + resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/typescript-estree@8.1.0': resolution: {integrity: sha512-NTHhmufocEkMiAord/g++gWKb0Fr34e9AExBRdqgWdVBaKoei2dIyYKD9Q0jBnvfbEA5zaf8plUFMUH6kQ0vGg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -822,6 +859,10 @@ packages: peerDependencies: eslint: ^8.57.0 || ^9.0.0 + '@typescript-eslint/visitor-keys@7.18.0': + resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} + engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/visitor-keys@8.1.0': resolution: {integrity: sha512-ba0lNI19awqZ5ZNKh6wCModMwoZs457StTebQ0q1NP58zSi2F6MOZRXwfKZy+jB78JNJ/WH8GSh2IQNzXX8Nag==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -3136,16 +3177,16 @@ snapshots: transitivePeerDependencies: - supports-color - '@intlify/bundle-utils@8.0.0(vue-i18n@9.13.1(vue@3.4.38(typescript@5.5.4)))': + '@intlify/bundle-utils@9.0.0-beta.0(vue-i18n@9.13.1(vue@3.4.38(typescript@5.5.4)))': dependencies: - '@intlify/message-compiler': 9.13.1 - '@intlify/shared': 9.13.1 + '@intlify/message-compiler': 10.0.0 + '@intlify/shared': 10.0.0 acorn: 8.12.1 escodegen: 2.1.0 estree-walker: 2.0.2 jsonc-eslint-parser: 2.4.0 mlly: 1.7.1 - source-map-js: 1.2.0 + source-map-js: 1.2.1 yaml-eslint-parser: 1.2.3 optionalDependencies: vue-i18n: 9.13.1(vue@3.4.38(typescript@5.5.4)) @@ -3180,32 +3221,55 @@ snapshots: transitivePeerDependencies: - supports-color + '@intlify/message-compiler@10.0.0': + dependencies: + '@intlify/shared': 10.0.0 + source-map-js: 1.2.1 + '@intlify/message-compiler@9.13.1': dependencies: '@intlify/shared': 9.13.1 source-map-js: 1.2.0 + '@intlify/shared@10.0.0': {} + '@intlify/shared@9.13.1': {} - '@intlify/unplugin-vue-i18n@4.0.0(rollup@4.24.0)(vue-i18n@9.13.1(vue@3.4.38(typescript@5.5.4)))': + '@intlify/unplugin-vue-i18n@5.2.0(@vue/compiler-dom@3.4.38)(eslint@9.9.0(jiti@1.21.6))(rollup@4.24.0)(typescript@5.5.4)(vue-i18n@9.13.1(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4))': dependencies: - '@intlify/bundle-utils': 8.0.0(vue-i18n@9.13.1(vue@3.4.38(typescript@5.5.4))) - '@intlify/shared': 9.13.1 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) + '@intlify/bundle-utils': 9.0.0-beta.0(vue-i18n@9.13.1(vue@3.4.38(typescript@5.5.4))) + '@intlify/shared': 10.0.0 + '@intlify/vue-i18n-extensions': 7.0.0(@intlify/shared@10.0.0)(@vue/compiler-dom@3.4.38)(vue-i18n@9.13.1(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4)) '@rollup/pluginutils': 5.1.0(rollup@4.24.0) - '@vue/compiler-sfc': 3.4.38 + '@typescript-eslint/scope-manager': 7.18.0 + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4) debug: 4.3.6 fast-glob: 3.3.2 js-yaml: 4.1.0 json5: 2.2.3 pathe: 1.1.2 - picocolors: 1.0.1 - source-map-js: 1.2.0 + picocolors: 1.1.0 + source-map-js: 1.2.1 unplugin: 1.12.0 + vue: 3.4.38(typescript@5.5.4) optionalDependencies: vue-i18n: 9.13.1(vue@3.4.38(typescript@5.5.4)) transitivePeerDependencies: + - '@vue/compiler-dom' + - eslint - rollup - supports-color + - typescript + + '@intlify/vue-i18n-extensions@7.0.0(@intlify/shared@10.0.0)(@vue/compiler-dom@3.4.38)(vue-i18n@9.13.1(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4))': + dependencies: + '@babel/parser': 7.25.3 + optionalDependencies: + '@intlify/shared': 10.0.0 + '@vue/compiler-dom': 3.4.38 + vue: 3.4.38(typescript@5.5.4) + vue-i18n: 9.13.1(vue@3.4.38(typescript@5.5.4)) '@isaacs/cliui@8.0.2': dependencies: @@ -3260,7 +3324,7 @@ snapshots: '@rollup/pluginutils@5.1.0(rollup@4.24.0)': dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 estree-walker: 2.0.2 picomatch: 2.3.1 optionalDependencies: @@ -3409,6 +3473,11 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/scope-manager@7.18.0': + dependencies: + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/visitor-keys': 7.18.0 + '@typescript-eslint/scope-manager@8.1.0': dependencies: '@typescript-eslint/types': 8.1.0 @@ -3437,6 +3506,21 @@ snapshots: '@typescript-eslint/types@8.4.0': {} + '@typescript-eslint/typescript-estree@7.18.0(typescript@5.5.4)': + dependencies: + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/visitor-keys': 7.18.0 + debug: 4.3.6 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.6.3 + ts-api-utils: 1.3.0(typescript@5.5.4) + optionalDependencies: + typescript: 5.5.4 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/typescript-estree@8.1.0(typescript@5.5.4)': dependencies: '@typescript-eslint/types': 8.1.0 @@ -3489,6 +3573,11 @@ snapshots: - supports-color - typescript + '@typescript-eslint/visitor-keys@7.18.0': + dependencies: + '@typescript-eslint/types': 7.18.0 + eslint-visitor-keys: 3.4.3 + '@typescript-eslint/visitor-keys@8.1.0': dependencies: '@typescript-eslint/types': 8.1.0 From 45a9b6eb465bae2cca7d50c3db167ad93600013c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 5 Oct 2024 16:10:51 +0300 Subject: [PATCH 211/547] chore(deps): update dependency concurrently to v9 (#4176) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- docs/plugins/woodpecker-plugins/package.json | 2 +- docs/pnpm-lock.yaml | 43 ++++---------------- 2 files changed, 8 insertions(+), 37 deletions(-) diff --git a/docs/plugins/woodpecker-plugins/package.json b/docs/plugins/woodpecker-plugins/package.json index 6e71e12ff..44e4ddc05 100644 --- a/docs/plugins/woodpecker-plugins/package.json +++ b/docs/plugins/woodpecker-plugins/package.json @@ -16,7 +16,7 @@ "@tsconfig/docusaurus": "^2.0.3", "@types/node": "^20.12.13", "axios": "^1.7.2", - "concurrently": "^8.2.2", + "concurrently": "^9.0.0", "isomorphic-dompurify": "^2.11.0", "marked": "^14.0.0", "tslib": "^2.6.2", diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml index 28de10474..8f29eb70c 100644 --- a/docs/pnpm-lock.yaml +++ b/docs/pnpm-lock.yaml @@ -115,8 +115,8 @@ importers: specifier: ^1.7.2 version: 1.7.7 concurrently: - specifier: ^8.2.2 - version: 8.2.2 + specifier: ^9.0.0 + version: 9.0.1 isomorphic-dompurify: specifier: ^2.11.0 version: 2.16.0 @@ -827,10 +827,6 @@ packages: resolution: {integrity: sha512-gMmIEhg35sXk9Te5qbGp3W9YKrvLt3HV658/d3odWrHSqT0JeG5OzsJWFHRLiOohRyjRsJc/x03DhJm3i8VJxg==} engines: {node: '>=6.9.0'} - '@babel/runtime@7.25.0': - resolution: {integrity: sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==} - engines: {node: '>=6.9.0'} - '@babel/runtime@7.25.7': resolution: {integrity: sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w==} engines: {node: '>=6.9.0'} @@ -2151,9 +2147,9 @@ packages: concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - concurrently@8.2.2: - resolution: {integrity: sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==} - engines: {node: ^14.13.0 || >=16.0.0} + concurrently@9.0.1: + resolution: {integrity: sha512-wYKvCd/f54sTXJMSfV6Ln/B8UrfLBKOYa+lzc6CHay3Qek+LorVSBdMVfyewFhRbH0Rbabsk4D+3PL/VjQ5gzg==} + engines: {node: '>=18'} hasBin: true config-chain@1.1.13: @@ -2359,10 +2355,6 @@ packages: resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} engines: {node: '>= 0.4'} - date-fns@2.30.0: - resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} - engines: {node: '>=0.11'} - debounce@1.2.1: resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} @@ -2629,10 +2621,6 @@ packages: engines: {node: '>=12'} hasBin: true - escalade@3.1.2: - resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} - engines: {node: '>=6'} - escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} @@ -5066,9 +5054,6 @@ packages: space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} - spawn-command@0.0.2: - resolution: {integrity: sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==} - spdy-transport@3.0.0: resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} @@ -6616,10 +6601,6 @@ snapshots: core-js-pure: 3.38.1 regenerator-runtime: 0.14.1 - '@babel/runtime@7.25.0': - dependencies: - regenerator-runtime: 0.14.1 - '@babel/runtime@7.25.7': dependencies: regenerator-runtime: 0.14.1 @@ -8577,14 +8558,12 @@ snapshots: concat-map@0.0.1: {} - concurrently@8.2.2: + concurrently@9.0.1: dependencies: chalk: 4.1.2 - date-fns: 2.30.0 lodash: 4.17.21 rxjs: 7.8.1 shell-quote: 1.8.1 - spawn-command: 0.0.2 supports-color: 8.1.1 tree-kill: 1.2.2 yargs: 17.7.2 @@ -8824,10 +8803,6 @@ snapshots: es-errors: 1.3.0 is-data-view: 1.0.1 - date-fns@2.30.0: - dependencies: - '@babel/runtime': 7.25.0 - debounce@1.2.1: {} debug@2.6.9: @@ -9196,8 +9171,6 @@ snapshots: '@esbuild/win32-ia32': 0.21.5 '@esbuild/win32-x64': 0.21.5 - escalade@3.1.2: {} - escalade@3.2.0: {} escape-goat@4.0.0: {} @@ -12144,8 +12117,6 @@ snapshots: space-separated-tokens@2.0.2: {} - spawn-command@0.0.2: {} - spdy-transport@3.0.0: dependencies: debug: 4.3.7 @@ -12815,7 +12786,7 @@ snapshots: yargs@17.7.2: dependencies: cliui: 8.0.1 - escalade: 3.1.2 + escalade: 3.2.0 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 From 0c96f3611c84673390427039340b5db6acc5115f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 5 Oct 2024 16:23:53 +0300 Subject: [PATCH 212/547] chore(deps): update docker.io/postgres docker tag to v17 (#4179) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .woodpecker/test.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.woodpecker/test.yaml b/.woodpecker/test.yaml index a709ec54c..c0ec62058 100644 --- a/.woodpecker/test.yaml +++ b/.woodpecker/test.yaml @@ -145,7 +145,7 @@ steps: services: postgres: - image: docker.io/postgres:16 + image: docker.io/postgres:17 ports: ['5432'] environment: POSTGRES_USER: postgres From 73c0fe2cf8cc9cc840f34c8ec5ec4ecb6f43894e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 5 Oct 2024 14:37:00 +0100 Subject: [PATCH 213/547] chore(deps): update web npm deps non-major (#4174) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: qwerty287 --- web/.prettierrc.js | 1 + web/package.json | 2 +- web/pnpm-lock.yaml | 2221 +++++++++++++++++++++++++------------------- web/vite.config.ts | 1 - 4 files changed, 1287 insertions(+), 938 deletions(-) diff --git a/web/.prettierrc.js b/web/.prettierrc.js index d44e794b4..1fb217ea6 100644 --- a/web/.prettierrc.js +++ b/web/.prettierrc.js @@ -1,5 +1,6 @@ import { readFile } from 'node:fs/promises'; +// eslint-disable-next-line antfu/no-top-level-await const config = JSON.parse(await readFile(new URL('../.prettierrc.json', import.meta.url))); export default { diff --git a/web/package.json b/web/package.json index 265a87fdc..455ffc57b 100644 --- a/web/package.json +++ b/web/package.json @@ -57,7 +57,7 @@ "prettier": "^3.3.3", "replace-in-file": "^8.1.0", "tinycolor2": "^1.6.0", - "typescript": "5.5.4", + "typescript": "5.6.2", "vite": "^5.4.1", "vite-plugin-prismjs": "^0.0.11", "vite-plugin-windicss": "^1.9.3", diff --git a/web/pnpm-lock.yaml b/web/pnpm-lock.yaml index 336f1ca7b..01a1dca51 100644 --- a/web/pnpm-lock.yaml +++ b/web/pnpm-lock.yaml @@ -13,22 +13,22 @@ importers: dependencies: '@intlify/unplugin-vue-i18n': specifier: ^5.0.0 - version: 5.2.0(@vue/compiler-dom@3.4.38)(eslint@9.9.0(jiti@1.21.6))(rollup@4.24.0)(typescript@5.5.4)(vue-i18n@9.13.1(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4)) + version: 5.2.0(@vue/compiler-dom@3.5.11)(eslint@9.12.0(jiti@1.21.6))(rollup@4.24.0)(typescript@5.6.2)(vue-i18n@9.14.1(vue@3.5.11(typescript@5.6.2)))(vue@3.5.11(typescript@5.6.2)) '@kyvg/vue3-notification': specifier: ^3.2.1 - version: 3.2.1(vue@3.4.38(typescript@5.5.4)) + version: 3.3.0(vue@3.5.11(typescript@5.6.2)) '@mdi/js': specifier: ^7.4.47 version: 7.4.47 '@vueuse/core': specifier: ^11.0.0 - version: 11.1.0(vue@3.4.38(typescript@5.5.4)) + version: 11.1.0(vue@3.5.11(typescript@5.6.2)) ansi_up: specifier: ^6.0.2 version: 6.0.2 dayjs: specifier: ^1.11.12 - version: 1.11.12 + version: 1.11.13 fuse.js: specifier: ^7.0.0 version: 7.0.0 @@ -43,7 +43,7 @@ importers: version: 2.1.3 pinia: specifier: ^2.2.1 - version: 2.2.1(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + version: 2.2.4(typescript@5.6.2)(vue@3.5.11(typescript@5.6.2)) prismjs: specifier: ^1.29.0 version: 1.29.0 @@ -52,38 +52,38 @@ importers: version: 7.6.3 simple-icons: specifier: ^13.5.0 - version: 13.5.0 + version: 13.12.0 vue: specifier: ^3.4.38 - version: 3.4.38(typescript@5.5.4) + version: 3.5.11(typescript@5.6.2) vue-i18n: specifier: ^9.13.1 - version: 9.13.1(vue@3.4.38(typescript@5.5.4)) + version: 9.14.1(vue@3.5.11(typescript@5.6.2)) vue-router: specifier: ^4.4.3 - version: 4.4.3(vue@3.4.38(typescript@5.5.4)) + version: 4.4.5(vue@3.5.11(typescript@5.6.2)) devDependencies: '@antfu/eslint-config': specifier: ^3.3.2 - version: 3.3.2(@typescript-eslint/utils@8.4.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(@vue/compiler-sfc@3.4.38)(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)(vitest@2.0.5(@types/node@20.14.15)(jsdom@25.0.0)(stylus@0.57.0)) + version: 3.7.3(@typescript-eslint/utils@8.8.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2))(@vue/compiler-sfc@3.5.11)(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2)(vitest@2.1.2(@types/node@20.16.10)(jsdom@25.0.1)(stylus@0.57.0)) '@eslint/js': specifier: ^9.9.0 - version: 9.9.0 + version: 9.12.0 '@ianvs/prettier-plugin-sort-imports': specifier: ^4.3.1 - version: 4.3.1(@vue/compiler-sfc@3.4.38)(prettier@3.3.3) + version: 4.3.1(@vue/compiler-sfc@3.5.11)(prettier@3.3.3) '@intlify/eslint-plugin-vue-i18n': specifier: 3.0.0 - version: 3.0.0(eslint@9.9.0(jiti@1.21.6)) + version: 3.0.0(eslint@9.12.0(jiti@1.21.6)) '@types/eslint__js': specifier: ^8.42.3 version: 8.42.3 '@types/lodash': specifier: ^4.17.7 - version: 4.17.7 + version: 4.17.10 '@types/node': specifier: ^20.14.15 - version: 20.14.15 + version: 20.16.10 '@types/prismjs': specifier: ^1.26.4 version: 1.26.4 @@ -95,55 +95,55 @@ importers: version: 1.4.6 '@vitejs/plugin-vue': specifier: ^5.1.2 - version: 5.1.2(vite@5.4.6(@types/node@20.14.15)(stylus@0.57.0))(vue@3.4.38(typescript@5.5.4)) + version: 5.1.4(vite@5.4.8(@types/node@20.16.10)(stylus@0.57.0))(vue@3.5.11(typescript@5.6.2)) '@vue/compiler-sfc': specifier: ^3.4.38 - version: 3.4.38 + version: 3.5.11 '@vue/test-utils': specifier: ^2.4.6 version: 2.4.6 eslint: specifier: ^9.9.0 - version: 9.9.0(jiti@1.21.6) + version: 9.12.0(jiti@1.21.6) eslint-plugin-promise: specifier: ^7.1.0 - version: 7.1.0(eslint@9.9.0(jiti@1.21.6)) + version: 7.1.0(eslint@9.12.0(jiti@1.21.6)) eslint-plugin-vue-scoped-css: specifier: ^2.8.1 - version: 2.8.1(eslint@9.9.0(jiti@1.21.6))(vue-eslint-parser@9.4.3(eslint@9.9.0(jiti@1.21.6))) + version: 2.8.1(eslint@9.12.0(jiti@1.21.6))(vue-eslint-parser@9.4.3(eslint@9.12.0(jiti@1.21.6))) jsdom: specifier: ^25.0.0 - version: 25.0.0 + version: 25.0.1 prettier: specifier: ^3.3.3 version: 3.3.3 replace-in-file: specifier: ^8.1.0 - version: 8.1.0 + version: 8.2.0 tinycolor2: specifier: ^1.6.0 version: 1.6.0 typescript: - specifier: 5.5.4 - version: 5.5.4 + specifier: 5.6.2 + version: 5.6.2 vite: specifier: ^5.4.1 - version: 5.4.6(@types/node@20.14.15)(stylus@0.57.0) + version: 5.4.8(@types/node@20.16.10)(stylus@0.57.0) vite-plugin-prismjs: specifier: ^0.0.11 version: 0.0.11(prismjs@1.29.0) vite-plugin-windicss: specifier: ^1.9.3 - version: 1.9.3(vite@5.4.6(@types/node@20.14.15)(stylus@0.57.0)) + version: 1.9.3(vite@5.4.8(@types/node@20.16.10)(stylus@0.57.0)) vite-svg-loader: specifier: ^5.1.0 - version: 5.1.0(vue@3.4.38(typescript@5.5.4)) + version: 5.1.0(vue@3.5.11(typescript@5.6.2)) vitest: specifier: ^2.0.5 - version: 2.0.5(@types/node@20.14.15)(jsdom@25.0.0)(stylus@0.57.0) + version: 2.1.2(@types/node@20.16.10)(jsdom@25.0.1)(stylus@0.57.0) vue-tsc: specifier: ^2.0.29 - version: 2.0.29(typescript@5.5.4) + version: 2.1.6(typescript@5.6.2) windicss: specifier: ^3.5.6 version: 3.5.6 @@ -154,15 +154,15 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@antfu/eslint-config@3.3.2': - resolution: {integrity: sha512-cHWbGP7CccmuUz/Aj6KORuLitkxuj2sONX+4PN+fvfJKTkVc2WXs9xlhO4AxhF1CU4Pn05M07OjDBXErqEmHzw==} + '@antfu/eslint-config@3.7.3': + resolution: {integrity: sha512-vzhKtzQT+f/xBV8T5U8SFy3D7uAqL2CEcjsJVqtA7F8tdKvGuC/96uWeEKMHk5lRfijgj+xRvb+c4qQn60YlIA==} hasBin: true peerDependencies: '@eslint-react/eslint-plugin': ^1.5.8 '@prettier/plugin-xml': ^3.4.1 '@unocss/eslint-plugin': '>=0.50.0' astro-eslint-parser: ^1.0.2 - eslint: ^9.5.0 + eslint: ^9.10.0 eslint-plugin-astro: ^1.2.0 eslint-plugin-format: '>=0.1.0' eslint-plugin-react-hooks: ^4.6.0 @@ -210,6 +210,10 @@ packages: resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} + '@babel/code-frame@7.25.7': + resolution: {integrity: sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==} + engines: {node: '>=6.9.0'} + '@babel/compat-data@7.25.2': resolution: {integrity: sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==} engines: {node: '>=6.9.0'} @@ -244,10 +248,18 @@ packages: resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} engines: {node: '>=6.9.0'} + '@babel/helper-string-parser@7.25.7': + resolution: {integrity: sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==} + engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.24.7': resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.25.7': + resolution: {integrity: sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==} + engines: {node: '>=6.9.0'} + '@babel/helper-validator-option@7.24.8': resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} engines: {node: '>=6.9.0'} @@ -260,13 +272,17 @@ packages: resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} + '@babel/highlight@7.25.7': + resolution: {integrity: sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==} + engines: {node: '>=6.9.0'} + '@babel/parser@7.25.0': resolution: {integrity: sha512-CzdIU9jdP0dg7HdyB+bHvDJGagUv+qtzZt5rYCWwW6tITNqV9odjp6Qu41gkG0ca5UfdDUWrKkiAnHHdGRnOrA==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/parser@7.25.3': - resolution: {integrity: sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==} + '@babel/parser@7.25.7': + resolution: {integrity: sha512-aZn7ETtQsjjGG5HruveUK06cU3Hljuhd9Iojm4M8WWv3wLE6OkE5PWbDUkItmMgegmccaITudyuW5RPYrYlgWw==} engines: {node: '>=6.0.0'} hasBin: true @@ -286,6 +302,10 @@ packages: resolution: {integrity: sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==} engines: {node: '>=6.9.0'} + '@babel/types@7.25.7': + resolution: {integrity: sha512-vwIVdXG+j+FOpkwqHRcBgHLYNL7XMkufrlaFvL9o6Ai9sJn9+PdyIL5qa0XzTZw084c+u9LOls53eoZWP/W5WQ==} + engines: {node: '>=6.9.0'} + '@clack/core@0.3.4': resolution: {integrity: sha512-H4hxZDXgHtWTwV3RAVenqcC4VbJZNegbBjlPvzOzCouXtS2y3sDvlO3IsbrPNWuLWPPlYVYPghQdSF64683Ldw==} @@ -294,10 +314,6 @@ packages: bundledDependencies: - is-unicode-supported - '@es-joy/jsdoccomment@0.43.1': - resolution: {integrity: sha512-I238eDtOolvCuvtxrnqtlBaw0BwdQuYqK7eA6XIonicMdOOOb75mqdIzkGDUbS04+1Di007rgm9snFRNeVrOog==} - engines: {node: '>=16'} - '@es-joy/jsdoccomment@0.48.0': resolution: {integrity: sha512-G6QUWIcC+KvSwXNsJyDTHvqUdNoAVJPPgkc3+Uk4WBKqZvoXhlvazOgm9aL0HwihJLQf0l+tOE2UFzXBqCqgDw==} engines: {node: '>=16'} @@ -452,36 +468,61 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.11.0': - resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} + '@eslint-community/regexpp@4.11.1': + resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/compat@1.1.1': - resolution: {integrity: sha512-lpHyRyplhGPL5mGEh6M9O5nnKk0Gz4bFI+Zu6tKlPpDUN7XshWvH9C/px4UVm87IAANE0W81CEsNGbS1KlzXpA==} + '@eslint/compat@1.2.0': + resolution: {integrity: sha512-CkPWddN7J9JPrQedEr2X7AjK9y1jaMJtxZ4A/+jTMFA2+n5BWhcKHW/EbJyARqg2zzQfgtWUtVmG3hrG6+nGpg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^9.10.0 + peerDependenciesMeta: + eslint: + optional: true + + '@eslint/config-array@0.18.0': + resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/config-array@0.17.1': - resolution: {integrity: sha512-BlYOpej8AQ8Ev9xVqroV7a02JK3SkBAaN9GfMMH9W6Ch8FlQlkjGw4Ir7+FgYwfirivAf4t+GtzuAxqfukmISA==} + '@eslint/core@0.6.0': + resolution: {integrity: sha512-8I2Q8ykA4J0x0o7cg67FPVnehcqWTBehu/lmY+bolPFHGjh49YzGBMXTvpqVgEbBdvNCSxj6iFgiIyHzf03lzg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/eslintrc@3.1.0': resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.9.0': - resolution: {integrity: sha512-hhetes6ZHP3BlXLxmd8K2SNgkhNSi+UcecbnwWKwpP7kyi/uC75DJ1lOOBO3xrC4jyojtGE3YxKZPHfk4yrgug==} + '@eslint/js@9.12.0': + resolution: {integrity: sha512-eohesHH8WFRUprDNyEREgqP6beG6htMeUYeCpkEgBCieCMme5r9zFWjzAJp//9S+Kub4rqE+jXe9Cp1a7IYIIA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/markdown@6.2.0': + resolution: {integrity: sha512-ZLWZ6RNy5flf1Nk2DBt0V77MQpQEo8snkjVT75P5J0SJkE/QNoqgy7+dBvNjlyZuj664pU43uDXWg3J8AfF0IQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.4': resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/plugin-kit@0.2.0': + resolution: {integrity: sha512-vH9PiIMMwvhCx31Af3HiGzsVNULDbyVkHXwlemn/B0TFj/00ho3y55efXrUZTfQipxoHC5u4xq6zblww1zm1Ig==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@humanfs/core@0.19.0': + resolution: {integrity: sha512-2cbWIHbZVEweE853g8jymffCA+NCMiuqeECeBBLm8dg2oFdjuGJhgN4UAbI+6v0CKbbhvtXA4qV8YR5Ji86nmw==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.5': + resolution: {integrity: sha512-KSPA4umqSG4LHYRodq31VDwKAvaTF4xmVlzM8Aeh4PlU1JQ3IG0wiA8C25d3RQ9nJyM3mBHyI53K06VVL/oFFg==} + engines: {node: '>=18.18.0'} + '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/retry@0.3.0': - resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==} + '@humanwhocodes/retry@0.3.1': + resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} engines: {node: '>=18.18'} '@ianvs/prettier-plugin-sort-imports@4.3.1': @@ -509,6 +550,10 @@ packages: resolution: {integrity: sha512-+bcQRkJO9pcX8d0gel9ZNfrzU22sZFSA0WVhfXrf5jdJOS24a+Bp8pozuS9sBI9Hk/tGz83pgKfmqcn/Ci7/8w==} engines: {node: '>= 16'} + '@intlify/core-base@9.14.1': + resolution: {integrity: sha512-rG5/hlNW6Qfve41go37szEf0mVLcfhYuOu83JcY0jZKasnwsrcZYYWDzebCcuO5I/6Sy1JFWo9p+nvkQS1Dy+w==} + engines: {node: '>= 16'} + '@intlify/eslint-plugin-vue-i18n@3.0.0': resolution: {integrity: sha512-s4fe+VOiqMZGhDrXWnL1xLyHbcFWBcEBeD/KpVrkOtL+utH2LPTi7uZ8RvWSthMS0mUL/7L74hFJ//OUU7AYww==} engines: {node: '>=18.0.0'} @@ -523,6 +568,10 @@ packages: resolution: {integrity: sha512-SKsVa4ajYGBVm7sHMXd5qX70O2XXjm55zdZB3VeMFCvQyvLew/dLvq3MqnaIsTMF1VkkOb9Ttr6tHcMlyPDL9w==} engines: {node: '>= 16'} + '@intlify/message-compiler@9.14.1': + resolution: {integrity: sha512-MY8hwukJBnXvGAncVKlHsqKDQ5ZcQx4peqEmI8wBUTXn4pezrtTGYXNoz81cLyEEHB+L/zlKWVBSh5TiX4gYoQ==} + engines: {node: '>= 16'} + '@intlify/shared@10.0.0': resolution: {integrity: sha512-6ngLfI7DOTew2dcF9WMJx+NnMWghMBhIiHbGg+wRvngpzD5KZJZiJVuzMsUQE1a5YebEmtpTEfUrDp/NqVGdiw==} engines: {node: '>= 16'} @@ -531,6 +580,10 @@ packages: resolution: {integrity: sha512-u3b6BKGhE6j/JeRU6C/RL2FgyJfy6LakbtfeVF8fJXURpZZTzfh3e05J0bu0XPw447Q6/WUp3C4ajv4TMS4YsQ==} engines: {node: '>= 16'} + '@intlify/shared@9.14.1': + resolution: {integrity: sha512-XjHu6PEQup9MnP1x0W9y0nXXfq9jFftAYSfV11hryjtH4XqXP8HrzMvXI+ZVifF+jZLszaTzIhvukllplxTQTg==} + engines: {node: '>= 16'} + '@intlify/unplugin-vue-i18n@5.2.0': resolution: {integrity: sha512-pmRiPY2Nj9mmSrixT69aO45XxGUr5fDBy/IIw4ajLlDTJm5TSmQKA5YNdsH0uxVDCPWy5tlQrF18hkDwI7UJvg==} engines: {node: '>= 18'} @@ -584,8 +637,8 @@ packages: '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - '@kyvg/vue3-notification@3.2.1': - resolution: {integrity: sha512-qn4bCBBCxW0Ya+RmHXu2SYBVwGXWsAGdlDKqCqyLryaZTbtFXi32iSSLnuKjSUVxFqQRToFc6g1zp1XLTyHrvw==} + '@kyvg/vue3-notification@3.3.0': + resolution: {integrity: sha512-8kv8jfGgK/1F2L+BzojUEWCaWkLOICui4y4SsxwZeTnWA7ZAZrc9r+OL8gM2F9D/UzDNoB9dNEqi8B8bgsmoVA==} peerDependencies: vue: ^3.0.0 @@ -708,8 +761,8 @@ packages: resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} engines: {node: '>=10'} - '@stylistic/eslint-plugin@2.7.2': - resolution: {integrity: sha512-3DVLU5HEuk2pQoBmXJlzvrxbKNpu2mJ0SRqz5O/CJjyNCr12ZiPcYMEtuArTyPOk5i7bsAU44nywh1rGfe3gKQ==} + '@stylistic/eslint-plugin@2.9.0': + resolution: {integrity: sha512-OrDyFAYjBT61122MIY1a3SfEgy3YCMgt2vL4eoPmvTwDBwyQhAXurxNQznlRD/jESNfYWfID8Ej+31LljvF7Xg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.40.0' @@ -718,35 +771,32 @@ packages: resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} engines: {node: '>=10.13.0'} - '@types/eslint@8.56.11': - resolution: {integrity: sha512-sVBpJMf7UPo/wGecYOpk2aQya2VUGeHhe38WG7/mN5FufNSubf5VT9Uh9Uyp8/eLJpu1/tuhJ/qTo4mhSB4V4Q==} + '@types/debug@4.1.12': + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} '@types/eslint@9.6.0': resolution: {integrity: sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg==} - '@types/eslint@9.6.1': - resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} - '@types/eslint__js@8.42.3': resolution: {integrity: sha512-alfG737uhmPdnvkrLdZLcEKJ/B8s9Y4hrZ+YAdzUeoArBlSUERA2E87ROfOaS4jd/C45fzOoZzidLc1IPwLqOw==} - '@types/estree@1.0.5': - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - '@types/estree@1.0.6': resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@types/lodash@4.17.7': - resolution: {integrity: sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA==} + '@types/lodash@4.17.10': + resolution: {integrity: sha512-YpS0zzoduEhuOWjAotS6A5AVCva7X4lVlYLF0FYHAY9sdraBfnatttHItlWeZdGhuEkf+OzMNg2ZYAx8t+52uQ==} - '@types/mdast@3.0.15': - resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} - '@types/node@20.14.15': - resolution: {integrity: sha512-Fz1xDMCF/B00/tYSVMlmK7hVeLh7jE5f3B7X1/hmV0MJBwE27KlS7EvD/Yp+z1lm8mVhwV5w+n8jOZG8AfTlKw==} + '@types/ms@0.7.34': + resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + + '@types/node@20.16.10': + resolution: {integrity: sha512-vQUKgWTjEIRFCvK6CyriPH3MZYiYlNy0fKiEYHWbcoWLEgs4opurGGKlebrTLqdSMIbXImH6XExNiIyNUv3WpA==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -760,14 +810,14 @@ packages: '@types/tinycolor2@1.4.6': resolution: {integrity: sha512-iEN8J0BoMnsWBqjVbWH/c0G0Hh7O21lpR2/+PrvAVgWdzL7eexIFm4JN/Wn10PTcmNdtS6U67r499mlWMXOxNw==} - '@types/unist@2.0.11': - resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} '@types/web-bluetooth@0.0.20': resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} - '@typescript-eslint/eslint-plugin@8.4.0': - resolution: {integrity: sha512-rg8LGdv7ri3oAlenMACk9e+AR4wUV0yrrG+XKsGKOK0EVgeEDqurkXMPILG2836fW4ibokTB5v4b6Z9+GYQDEw==} + '@typescript-eslint/eslint-plugin@8.8.0': + resolution: {integrity: sha512-wORFWjU30B2WJ/aXBfOm1LX9v9nyt9D3jsSOxC3cCaTQGCW5k4jNpmjFv3U7p/7s4yvdjHzwtv2Sd2dOyhjS0A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 @@ -777,8 +827,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@8.4.0': - resolution: {integrity: sha512-NHgWmKSgJk5K9N16GIhQ4jSobBoJwrmURaLErad0qlLjrpP5bECYg+wxVTGlGZmJbU03jj/dfnb6V9bw+5icsA==} + '@typescript-eslint/parser@8.8.0': + resolution: {integrity: sha512-uEFUsgR+tl8GmzmLjRqz+VrDv4eoaMqMXW7ruXfgThaAShO9JTciKpEsB+TvnfFfbg5IpujgMXVV36gOJRLtZg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -791,16 +841,12 @@ packages: resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/scope-manager@8.1.0': - resolution: {integrity: sha512-DsuOZQji687sQUjm4N6c9xABJa7fjvfIdjqpSIIVOgaENf2jFXiM9hIBZOL3hb6DHK9Nvd2d7zZnoMLf9e0OtQ==} + '@typescript-eslint/scope-manager@8.8.0': + resolution: {integrity: sha512-EL8eaGC6gx3jDd8GwEFEV091210U97J0jeEHrAYvIYosmEGet4wJ+g0SYmLu+oRiAwbSA5AVrt6DxLHfdd+bUg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.4.0': - resolution: {integrity: sha512-n2jFxLeY0JmKfUqy3P70rs6vdoPjHK8P/w+zJcV3fk0b0BwRXC/zxRTEnAsgYT7MwdQDt/ZEbtdzdVC+hcpF0A==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/type-utils@8.4.0': - resolution: {integrity: sha512-pu2PAmNrl9KX6TtirVOrbLPLwDmASpZhK/XU7WvoKoCUkdtq9zF7qQ7gna0GBZFN0hci0vHaSusiL2WpsQk37A==} + '@typescript-eslint/type-utils@8.8.0': + resolution: {integrity: sha512-IKwJSS7bCqyCeG4NVGxnOP6lLT9Okc3Zj8hLO96bpMkJab+10HIfJbMouLrlpyOr3yrQ1cA413YPFiGd1mW9/Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -812,12 +858,8 @@ packages: resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/types@8.1.0': - resolution: {integrity: sha512-q2/Bxa0gMOu/2/AKALI0tCKbG2zppccnRIRCW6BaaTlRVaPKft4oVYPp7WOPpcnsgbr0qROAVCVKCvIQ0tbWog==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/types@8.4.0': - resolution: {integrity: sha512-T1RB3KQdskh9t3v/qv7niK6P8yvn7ja1mS7QK7XfRVL6wtZ8/mFs/FHf4fKvTA0rKnqnYxl/uHFNbnEt0phgbw==} + '@typescript-eslint/types@8.8.0': + resolution: {integrity: sha512-QJwc50hRCgBd/k12sTykOJbESe1RrzmX6COk8Y525C9l7oweZ+1lw9JiU56im7Amm8swlz00DRIlxMYLizr2Vw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/typescript-estree@7.18.0': @@ -829,8 +871,8 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@8.1.0': - resolution: {integrity: sha512-NTHhmufocEkMiAord/g++gWKb0Fr34e9AExBRdqgWdVBaKoei2dIyYKD9Q0jBnvfbEA5zaf8plUFMUH6kQ0vGg==} + '@typescript-eslint/typescript-estree@8.8.0': + resolution: {integrity: sha512-ZaMJwc/0ckLz5DaAZ+pNLmHv8AMVGtfWxZe/x2JVEkD5LnmhWiQMMcYT7IY7gkdJuzJ9P14fRy28lUrlDSWYdw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -838,23 +880,8 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@8.4.0': - resolution: {integrity: sha512-kJ2OIP4dQw5gdI4uXsaxUZHRwWAGpREJ9Zq6D5L0BweyOrWsL6Sz0YcAZGWhvKnH7fm1J5YFE1JrQL0c9dd53A==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/utils@8.1.0': - resolution: {integrity: sha512-ypRueFNKTIFwqPeJBfeIpxZ895PQhNyH4YID6js0UoBImWYoSjBsahUn9KMiJXh94uOjVBgHD9AmkyPsPnFwJA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - - '@typescript-eslint/utils@8.4.0': - resolution: {integrity: sha512-swULW8n1IKLjRAgciCkTCafyTHHfwVQFt8DovmaF69sKbOxTSFMmIZaSHjqO9i/RV0wIblaawhzvtva8Nmm7lQ==} + '@typescript-eslint/utils@8.8.0': + resolution: {integrity: sha512-QE2MgfOTem00qrlPgyByaCHay9yb1+9BjnMFnSFkUKQfu7adBXDTnCAivURnuPPAG/qiB+kzKkZKmKfaMT0zVg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -863,105 +890,109 @@ packages: resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/visitor-keys@8.1.0': - resolution: {integrity: sha512-ba0lNI19awqZ5ZNKh6wCModMwoZs457StTebQ0q1NP58zSi2F6MOZRXwfKZy+jB78JNJ/WH8GSh2IQNzXX8Nag==} + '@typescript-eslint/visitor-keys@8.8.0': + resolution: {integrity: sha512-8mq51Lx6Hpmd7HnA2fcHQo3YgfX1qbccxQOgZcb4tvasu//zXRaA1j5ZRFeCw/VRAdFi4mRM9DnZw0Nu0Q2d1g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/visitor-keys@8.4.0': - resolution: {integrity: sha512-zTQD6WLNTre1hj5wp09nBIDiOc2U5r/qmzo7wxPn4ZgAjHql09EofqhF9WF+fZHzL5aCyaIpPcT2hyxl73kr9A==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@vitejs/plugin-vue@5.1.2': - resolution: {integrity: sha512-nY9IwH12qeiJqumTCLJLE7IiNx7HZ39cbHaysEUd+Myvbz9KAqd2yq+U01Kab1R/H1BmiyM2ShTYlNH32Fzo3A==} + '@vitejs/plugin-vue@5.1.4': + resolution: {integrity: sha512-N2XSI2n3sQqp5w7Y/AN/L2XDjBIRGqXko+eDp42sydYSBeJuSm5a1sLf8zakmo8u7tA8NmBgoDLA1HeOESjp9A==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^5.0.0 vue: ^3.2.25 - '@vitest/eslint-plugin@1.1.0': - resolution: {integrity: sha512-Ur80Y27Wbw8gFHJ3cv6vypcjXmrx6QHfw+q435h6Q2L+tf+h4Xf5pJTCL4YU/Jps9EVeggQxS85OcUZU7sdXRw==} + '@vitest/eslint-plugin@1.1.6': + resolution: {integrity: sha512-sFuAnD9iycnOzLHHhNCULXeb6ejOSo5Lcq/ODhdlUOoUrXkQPcVeYqXurZMA3neOqf+wNCQ6YuU1zyoYH/WEcg==} peerDependencies: '@typescript-eslint/utils': '>= 8.0' eslint: '>= 8.57.0' typescript: '>= 5.0.0' vitest: '*' peerDependenciesMeta: - '@typescript-eslint/utils': - optional: true typescript: optional: true - vitest: + + '@vitest/expect@2.1.2': + resolution: {integrity: sha512-FEgtlN8mIUSEAAnlvn7mP8vzaWhEaAEvhSXCqrsijM7K6QqjB11qoRZYEd4AKSCDz8p0/+yH5LzhZ47qt+EyPg==} + + '@vitest/mocker@2.1.2': + resolution: {integrity: sha512-ExElkCGMS13JAJy+812fw1aCv2QO/LBK6CyO4WOPAzLTmve50gydOlWhgdBJPx2ztbADUq3JVI0C5U+bShaeEA==} + peerDependencies: + '@vitest/spy': 2.1.2 + msw: ^2.3.5 + vite: ^5.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: optional: true - '@vitest/expect@2.0.5': - resolution: {integrity: sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==} + '@vitest/pretty-format@2.1.2': + resolution: {integrity: sha512-FIoglbHrSUlOJPDGIrh2bjX1sNars5HbxlcsFKCtKzu4+5lpsRhOCVcuzp0fEhAGHkPZRIXVNzPcpSlkoZ3LuA==} - '@vitest/pretty-format@2.0.5': - resolution: {integrity: sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==} + '@vitest/runner@2.1.2': + resolution: {integrity: sha512-UCsPtvluHO3u7jdoONGjOSil+uON5SSvU9buQh3lP7GgUXHp78guN1wRmZDX4wGK6J10f9NUtP6pO+SFquoMlw==} - '@vitest/runner@2.0.5': - resolution: {integrity: sha512-TfRfZa6Bkk9ky4tW0z20WKXFEwwvWhRY+84CnSEtq4+3ZvDlJyY32oNTJtM7AW9ihW90tX/1Q78cb6FjoAs+ig==} + '@vitest/snapshot@2.1.2': + resolution: {integrity: sha512-xtAeNsZ++aRIYIUsek7VHzry/9AcxeULlegBvsdLncLmNCR6tR8SRjn8BbDP4naxtccvzTqZ+L1ltZlRCfBZFA==} - '@vitest/snapshot@2.0.5': - resolution: {integrity: sha512-SgCPUeDFLaM0mIUHfaArq8fD2WbaXG/zVXjRupthYfYGzc8ztbFbu6dUNOblBG7XLMR1kEhS/DNnfCZ2IhdDew==} + '@vitest/spy@2.1.2': + resolution: {integrity: sha512-GSUi5zoy+abNRJwmFhBDC0yRuVUn8WMlQscvnbbXdKLXX9dE59YbfwXxuJ/mth6eeqIzofU8BB5XDo/Ns/qK2A==} - '@vitest/spy@2.0.5': - resolution: {integrity: sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==} + '@vitest/utils@2.1.2': + resolution: {integrity: sha512-zMO2KdYy6mx56btx9JvAqAZ6EyS3g49krMPPrgOp1yxGZiA93HumGk+bZ5jIZtOg5/VBYl5eBmGRQHqq4FG6uQ==} - '@vitest/utils@2.0.5': - resolution: {integrity: sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==} + '@volar/language-core@2.4.5': + resolution: {integrity: sha512-F4tA0DCO5Q1F5mScHmca0umsi2ufKULAnMOVBfMsZdT4myhVl4WdKRwCaKcfOkIEuyrAVvtq1ESBdZ+rSyLVww==} - '@volar/language-core@2.4.0-alpha.18': - resolution: {integrity: sha512-JAYeJvYQQROmVRtSBIczaPjP3DX4QW1fOqW1Ebs0d3Y3EwSNRglz03dSv0Dm61dzd0Yx3WgTW3hndDnTQqgmyg==} + '@volar/source-map@2.4.5': + resolution: {integrity: sha512-varwD7RaKE2J/Z+Zu6j3mNNJbNT394qIxXwdvz/4ao/vxOfyClZpSDtLKkwWmecinkOVos5+PWkWraelfMLfpw==} - '@volar/source-map@2.4.0-alpha.18': - resolution: {integrity: sha512-MTeCV9MUwwsH0sNFiZwKtFrrVZUK6p8ioZs3xFzHc2cvDXHWlYN3bChdQtwKX+FY2HG6H3CfAu1pKijolzIQ8g==} + '@volar/typescript@2.4.5': + resolution: {integrity: sha512-mcT1mHvLljAEtHviVcBuOyAwwMKz1ibXTi5uYtP/pf4XxoAzpdkQ+Br2IC0NPCvLCbjPZmbf3I0udndkfB1CDg==} - '@volar/typescript@2.4.0-alpha.18': - resolution: {integrity: sha512-sXh5Y8sqGUkgxpMWUGvRXggxYHAVxg0Pa1C42lQZuPDrW6vHJPR0VCK8Sr7WJsAW530HuNQT/ZIskmXtxjybMQ==} + '@vue/compiler-core@3.5.11': + resolution: {integrity: sha512-PwAdxs7/9Hc3ieBO12tXzmTD+Ln4qhT/56S+8DvrrZ4kLDn4Z/AMUr8tXJD0axiJBS0RKIoNaR0yMuQB9v9Udg==} - '@vue/compiler-core@3.4.38': - resolution: {integrity: sha512-8IQOTCWnLFqfHzOGm9+P8OPSEDukgg3Huc92qSG49if/xI2SAwLHQO2qaPQbjCWPBcQoO1WYfXfTACUrWV3c5A==} + '@vue/compiler-dom@3.5.11': + resolution: {integrity: sha512-pyGf8zdbDDRkBrEzf8p7BQlMKNNF5Fk/Cf/fQ6PiUz9at4OaUfyXW0dGJTo2Vl1f5U9jSLCNf0EZJEogLXoeew==} - '@vue/compiler-dom@3.4.38': - resolution: {integrity: sha512-Osc/c7ABsHXTsETLgykcOwIxFktHfGSUDkb05V61rocEfsFDcjDLH/IHJSNJP+/Sv9KeN2Lx1V6McZzlSb9EhQ==} + '@vue/compiler-sfc@3.5.11': + resolution: {integrity: sha512-gsbBtT4N9ANXXepprle+X9YLg2htQk1sqH/qGJ/EApl+dgpUBdTv3yP7YlR535uHZY3n6XaR0/bKo0BgwwDniw==} - '@vue/compiler-sfc@3.4.38': - resolution: {integrity: sha512-s5QfZ+9PzPh3T5H4hsQDJtI8x7zdJaew/dCGgqZ2630XdzaZ3AD8xGZfBqpT8oaD/p2eedd+pL8tD5vvt5ZYJQ==} - - '@vue/compiler-ssr@3.4.38': - resolution: {integrity: sha512-YXznKFQ8dxYpAz9zLuVvfcXhc31FSPFDcqr0kyujbOwNhlmaNvL2QfIy+RZeJgSn5Fk54CWoEUeW+NVBAogGaw==} + '@vue/compiler-ssr@3.5.11': + resolution: {integrity: sha512-P4+GPjOuC2aFTk1Z4WANvEhyOykcvEd5bIj2KVNGKGfM745LaXGr++5njpdBTzVz5pZifdlR1kpYSJJpIlSePA==} '@vue/compiler-vue2@2.7.16': resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} - '@vue/devtools-api@6.6.3': - resolution: {integrity: sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw==} + '@vue/devtools-api@6.6.4': + resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} - '@vue/language-core@2.0.29': - resolution: {integrity: sha512-o2qz9JPjhdoVj8D2+9bDXbaI4q2uZTHQA/dbyZT4Bj1FR9viZxDJnLcKVHfxdn6wsOzRgpqIzJEEmSSvgMvDTQ==} + '@vue/language-core@2.1.6': + resolution: {integrity: sha512-MW569cSky9R/ooKMh6xa2g1D0AtRKbL56k83dzus/bx//RDJk24RHWkMzbAlXjMdDNyxAaagKPRquBIxkxlCkg==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true - '@vue/reactivity@3.4.38': - resolution: {integrity: sha512-4vl4wMMVniLsSYYeldAKzbk72+D3hUnkw9z8lDeJacTxAkXeDAP1uE9xr2+aKIN0ipOL8EG2GPouVTH6yF7Gnw==} + '@vue/reactivity@3.5.11': + resolution: {integrity: sha512-Nqo5VZEn8MJWlCce8XoyVqHZbd5P2NH+yuAaFzuNSR96I+y1cnuUiq7xfSG+kyvLSiWmaHTKP1r3OZY4mMD50w==} - '@vue/runtime-core@3.4.38': - resolution: {integrity: sha512-21z3wA99EABtuf+O3IhdxP0iHgkBs1vuoCAsCKLVJPEjpVqvblwBnTj42vzHRlWDCyxu9ptDm7sI2ZMcWrQqlA==} + '@vue/runtime-core@3.5.11': + resolution: {integrity: sha512-7PsxFGqwfDhfhh0OcDWBG1DaIQIVOLgkwA5q6MtkPiDFjp5gohVnJEahSktwSFLq7R5PtxDKy6WKURVN1UDbzA==} - '@vue/runtime-dom@3.4.38': - resolution: {integrity: sha512-afZzmUreU7vKwKsV17H1NDThEEmdYI+GCAK/KY1U957Ig2NATPVjCROv61R19fjZNzMmiU03n79OMnXyJVN0UA==} + '@vue/runtime-dom@3.5.11': + resolution: {integrity: sha512-GNghjecT6IrGf0UhuYmpgaOlN7kxzQBhxWEn08c/SQDxv1yy4IXI1bn81JgEpQ4IXjRxWtPyI8x0/7TF5rPfYQ==} - '@vue/server-renderer@3.4.38': - resolution: {integrity: sha512-NggOTr82FbPEkkUvBm4fTGcwUY8UuTsnWC/L2YZBmvaQ4C4Jl/Ao4HHTB+l7WnFCt5M/dN3l0XLuyjzswGYVCA==} + '@vue/server-renderer@3.5.11': + resolution: {integrity: sha512-cVOwYBxR7Wb1B1FoxYvtjJD8X/9E5nlH4VSkJy2uMA1MzYNdzAAB//l8nrmN9py/4aP+3NjWukf9PZ3TeWULaA==} peerDependencies: - vue: 3.4.38 + vue: 3.5.11 - '@vue/shared@3.4.38': - resolution: {integrity: sha512-q0xCiLkuWWQLzVrecPb0RMsNWyxICOjPrcrwxTUEHb1fsnvni4dcuyG7RT/Ie7VPTvnjzIaWzRMUBsrqNj/hhw==} + '@vue/shared@3.5.11': + resolution: {integrity: sha512-W8GgysJVnFo81FthhzurdRAWP/byq3q2qIw70e0JWblzVhjgOMiC2GyovXrZTFQJnFVryYaKGP3Tc9vYzYm6PQ==} '@vue/test-utils@2.4.6': resolution: {integrity: sha512-FMxEjOpYNYiFe0GkaHsnJPXFHxQ6m4t8vI/ElPGpMWxZKpmRvQ33OIrvRXemy6yha03RxhOlQuy+gZMC3CQSow==} @@ -1006,8 +1037,8 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} engines: {node: '>=12'} ansi-styles@3.2.1: @@ -1082,8 +1113,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true - browserslist@4.23.3: - resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} + browserslist@4.24.0: + resolution: {integrity: sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -1102,8 +1133,11 @@ packages: caniuse-lite@1.0.30001644: resolution: {integrity: sha512-YGvlOZB4QhZuiis+ETS0VXR+MExbFf4fZYYeMTEE0aTQd/RdIjkTyZjLrbYVKnHzppDvnOhritRVv+i7Go6mHw==} - caniuse-lite@1.0.30001651: - resolution: {integrity: sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==} + caniuse-lite@1.0.30001667: + resolution: {integrity: sha512-7LTwJjcRkzKFmtqGsibMeuXmvFDfZq/nzIjnmgCGzKKRVzjD72selLDK1oPF/Oxzmt4fNcPvTDvGqSDG4tCALw==} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} chai@5.1.1: resolution: {integrity: sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==} @@ -1125,14 +1159,8 @@ packages: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} - character-entities-legacy@1.1.4: - resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} - - character-entities@1.2.4: - resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} - - character-reference-invalid@1.1.4: - resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} check-error@2.1.1: resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} @@ -1198,8 +1226,8 @@ packages: convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - core-js-compat@3.38.0: - resolution: {integrity: sha512-75LAicdLa4OJVwFxFbQR3NdnZjNgX6ILpVcVzcC4T2smerB5lELMrJQQQoWV6TiuC/vlaFqgU2tKQx9w5s0e0A==} + core-js-compat@3.38.1: + resolution: {integrity: sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==} cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} @@ -1232,8 +1260,8 @@ packages: resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} - cssstyle@4.0.1: - resolution: {integrity: sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==} + cssstyle@4.1.0: + resolution: {integrity: sha512-h66W1URKpBS5YMI/V8PyXvTMFT8SupJ1IzoIV8IeBC/ji8WVmrO8dGlTi+2dh6whmdk6BiKJLD/ZBkhWbcg6nA==} engines: {node: '>=18'} csstype@3.1.3: @@ -1243,8 +1271,8 @@ packages: resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} engines: {node: '>=18'} - dayjs@1.11.12: - resolution: {integrity: sha512-Rt2g+nTbLlDWZTwwrIXjy9MeiZmSDI375FvZs72ngxx8PDC6YXOeR3q5LAuPzjZQxhiWdRKac7RKV+YyQYfYIg==} + dayjs@1.11.13: + resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} de-indent@1.0.2: resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} @@ -1266,9 +1294,21 @@ packages: supports-color: optional: true + debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + decimal.js@10.4.3: resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + decode-named-character-reference@1.0.2: + resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + decode-uri-component@0.2.2: resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} engines: {node: '>=0.10'} @@ -1284,6 +1324,13 @@ packages: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -1316,8 +1363,8 @@ packages: electron-to-chromium@1.5.3: resolution: {integrity: sha512-QNdYSS5i8D9axWp/6XIezRObRHqaav/ur9z1VzCDUCH1XIFOr9WQk5xmgunhsTpjjgDy3oLxO/WMOVZlpUQrlA==} - electron-to-chromium@1.5.8: - resolution: {integrity: sha512-4Nx0gP2tPNBLTrFxBMHpkQbtn2hidPVr/+/FTtcCiBYTucqc70zRyVZiOLj17Ui3wTO7SQ1/N+hkHYzJjBzt6A==} + electron-to-chromium@1.5.32: + resolution: {integrity: sha512-M+7ph0VGBQqqpTT2YrabjNKSQ2fEl9PVx6AK3N558gDH9NO8O6XN9SXXFWRo9u9PbEg/bWq+tjXQr+eXmxubCw==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -1351,6 +1398,10 @@ packages: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} @@ -1359,6 +1410,10 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + escodegen@2.1.0: resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} engines: {node: '>=6.0'} @@ -1375,8 +1430,8 @@ packages: peerDependencies: eslint: ^9.5.0 - eslint-flat-config-utils@0.3.1: - resolution: {integrity: sha512-eFT3EaoJN1hlN97xw4FIEX//h0TiFUobgl2l5uLkIwhVN9ahGq95Pbs+i1/B5UACA78LO3rco3JzuvxLdTUOPA==} + eslint-flat-config-utils@0.4.0: + resolution: {integrity: sha512-kfd5kQZC+BMO0YwTol6zxjKX1zAsk8JfSAopbKjKqmENTJcew+yBejuvccAg37cvOrN0Mh+DVbeyznuNWEjt4A==} eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} @@ -1386,13 +1441,13 @@ packages: peerDependencies: eslint: '*' - eslint-plugin-antfu@2.5.0: - resolution: {integrity: sha512-YLIWE22/ERe6Jpqt6bJdvALw8SWvf4x2DQjvVpRvAv8LrdHbwWckkoueAf8oQFgSOLsL1R/axa+exjpubPp0fw==} + eslint-plugin-antfu@2.7.0: + resolution: {integrity: sha512-gZM3jq3ouqaoHmUNszb1Zo2Ux7RckSvkGksjLWz9ipBYGSv1EwwBETN6AdiUXn+RpVHXTbEMPAPlXJazcA6+iA==} peerDependencies: eslint: '*' - eslint-plugin-command@0.2.3: - resolution: {integrity: sha512-1bBYNfjZg60N2ZpLV5ATYSYyueIJ+zl5yKrTs0UFDdnyu07dNSZ7Xplnc+Wb6SXTdc1sIaoIrnuyhvztcltX6A==} + eslint-plugin-command@0.2.6: + resolution: {integrity: sha512-T0bHZ1oblW1xUHUVoBKZJR2osSNNGkfZuK4iqboNwuNS/M7tdp3pmURaJtTi/XDzitxaQ02lvOdFH0mUd5QLvQ==} peerDependencies: eslint: '*' @@ -1402,14 +1457,14 @@ packages: peerDependencies: eslint: '>=8' - eslint-plugin-import-x@4.2.1: - resolution: {integrity: sha512-WWi2GedccIJa0zXxx3WDnTgouGQTtdYK1nhXMwywbqqAgB0Ov+p1pYBsWh3VaB0bvBOwLse6OfVII7jZD9xo5Q==} + eslint-plugin-import-x@4.3.1: + resolution: {integrity: sha512-5TriWkXulDl486XnYYRgsL+VQoS/7mhN/2ci02iLCuL7gdhbiWxnsuL/NTcaKY9fpMgsMFjWZBtIGW7pb+RX0g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - eslint-plugin-jsdoc@50.2.2: - resolution: {integrity: sha512-i0ZMWA199DG7sjxlzXn5AeYZxpRfMJjDPUl7lL9eJJX8TPRoIaxJU4ys/joP5faM5AXE1eqW/dslCj3uj4Nqpg==} + eslint-plugin-jsdoc@50.3.1: + resolution: {integrity: sha512-SY9oUuTMr6aWoJggUS40LtMjsRzJPB5ZT7F432xZIHK3EfHF+8i48GbUBpwanrtlL9l1gILNTHK9o8gEhYLcKA==} engines: {node: '>=18'} peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 @@ -1420,14 +1475,8 @@ packages: peerDependencies: eslint: '>=6.0.0' - eslint-plugin-markdown@5.1.0: - resolution: {integrity: sha512-SJeyKko1K6GwI0AN6xeCDToXDkfKZfXcexA6B+O2Wr2btUS9GrC+YgwSyVli5DJnctUHjFXcQ2cqTaAmVoLi2A==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: '>=8' - - eslint-plugin-n@17.10.2: - resolution: {integrity: sha512-e+s4eAf5NtJaxPhTNu3qMO0Iz40WANS93w9LQgYcvuljgvDmWi/a3rh+OrNyMHeng6aOWGJO0rCg5lH4zi8yTw==} + eslint-plugin-n@17.10.3: + resolution: {integrity: sha512-ySZBfKe49nQZWR1yFaA0v/GsH6Fgp8ah6XV0WDz6CN8WO0ek4McMzb7A2xnf4DCYV43frjCygvb9f/wx7UUxRw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.23.0' @@ -1436,14 +1485,14 @@ packages: resolution: {integrity: sha512-brcKcxGnISN2CcVhXJ/kEQlNa0MEfGRtwKtWA16SkqXHKitaKIMrfemJKLKX1YqDU5C/5JY3PvZXd5jEW04e0Q==} engines: {node: '>=5.0.0'} - eslint-plugin-perfectionist@3.4.0: - resolution: {integrity: sha512-vXyd1sFg3H/7aKgBUie62bA6E0EN3Dh0LCD5r4vR/IYtTljxOnyckI1AV0Arw4eYjC/W9T1X04Pl2mdLsdWtMA==} + eslint-plugin-perfectionist@3.8.0: + resolution: {integrity: sha512-BYJWbQVOjvIGK9V1xUfn790HuvkePjxti8epOi1H6sdzo0N4RehBmQ8coHPbgA/f12BUG1NIoDtQhI9mUm+o2A==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: astro-eslint-parser: ^1.0.2 eslint: '>=8.0.0' svelte: '>=3.0.0' - svelte-eslint-parser: ^0.41.0 + svelte-eslint-parser: ^0.41.1 vue-eslint-parser: '>=9.0.0' peerDependenciesMeta: astro-eslint-parser: @@ -1479,8 +1528,8 @@ packages: peerDependencies: eslint: '>=8.56.0' - eslint-plugin-unused-imports@4.1.3: - resolution: {integrity: sha512-lqrNZIZjFMUr7P06eoKtQLwyVRibvG7N+LtfKtObYGizAAGrcqLkc3tDx+iAik2z7q0j/XI3ihjupIqxhFabFA==} + eslint-plugin-unused-imports@4.1.4: + resolution: {integrity: sha512-YptD6IzQjDardkl0POxnnRBhU1OEePMV0nd6siHaRBbd+lyh6NAhFEobiznKU7kTsSsDeSD62Pe7kAM1b7dAZQ==} peerDependencies: '@typescript-eslint/eslint-plugin': ^8.0.0-0 || ^7.0.0 || ^6.0.0 || ^5.0.0 eslint: ^9.0.0 || ^8.0.0 @@ -1517,20 +1566,20 @@ packages: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint-scope@8.0.2: - resolution: {integrity: sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==} + eslint-scope@8.1.0: + resolution: {integrity: sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint-visitor-keys@4.0.0: - resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} + eslint-visitor-keys@4.1.0: + resolution: {integrity: sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.9.0: - resolution: {integrity: sha512-JfiKJrbx0506OEerjK2Y1QlldtBxkAlLxT5OEcRF8uaQ86noDe2k31Vw9rnSWv+MXZHj7OOUV/dA0AhdLFcyvA==} + eslint@9.12.0: + resolution: {integrity: sha512-UVIOlTEWxwIopRL1wgSQYdnVDcEvs2wyaO6DGo5mXqe3r16IoCNWkR29iHhyaP4cICWjbgbmFUGAhh0GJRuGZw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -1539,8 +1588,8 @@ packages: jiti: optional: true - espree@10.1.0: - resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==} + espree@10.2.0: + resolution: {integrity: sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} espree@9.6.1: @@ -1574,10 +1623,6 @@ packages: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} - execa@8.0.1: - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} - engines: {node: '>=16.17'} - fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -1624,8 +1669,8 @@ packages: flatted@3.3.1: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - foreground-child@3.2.1: - resolution: {integrity: sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==} + foreground-child@3.3.0: + resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} engines: {node: '>=14'} form-data@4.0.0: @@ -1658,12 +1703,8 @@ packages: get-func-name@2.0.2: resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} - - get-tsconfig@4.7.6: - resolution: {integrity: sha512-ZAqrLlu18NbDdRaHq+AKXzAmqIUPswPWKUchfytdAjiRFnCe5ojG2bstg6mRiZabkKfCoL/e98pbBELIV/YCeA==} + get-tsconfig@4.8.1: + resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==} glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} @@ -1693,12 +1734,12 @@ packages: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} - globals@15.8.0: - resolution: {integrity: sha512-VZAJ4cewHTExBWDHR6yptdIBlx9YSSZuwojj9Nt5mBRXQzrKakDsVKQ1J63sklLvzAJm0X5+RpO4i3Y2hcOnFw==} + globals@15.10.0: + resolution: {integrity: sha512-tqFIbz83w4Y5TCbtgjZjApohbuh7K9BxGYFm7ifwDR240tvdb7P9x+/9VvUKlmkPoiknoJtanI8UOrqxS3a7lQ==} engines: {node: '>=18'} - globals@15.9.0: - resolution: {integrity: sha512-SmSKyLLKFbSr6rptvP8izbyxJL4ILwqO9Jg23UA0sDlGlu58V59D1//I3vlc0KJphVdUR7vMjHIplYnzBxorQA==} + globals@15.8.0: + resolution: {integrity: sha512-VZAJ4cewHTExBWDHR6yptdIBlx9YSSZuwojj9Nt5mBRXQzrKakDsVKQ1J63sklLvzAJm0X5+RpO4i3Y2hcOnFw==} engines: {node: '>=18'} globby@11.1.0: @@ -1742,10 +1783,6 @@ packages: resolution: {integrity: sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==} engines: {node: '>= 14'} - human-signals@5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} - iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} @@ -1780,12 +1817,6 @@ packages: ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - is-alphabetical@1.0.4: - resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} - - is-alphanumerical@1.0.4: - resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} - is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} @@ -1797,13 +1828,10 @@ packages: resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} engines: {node: '>=6'} - is-core-module@2.15.0: - resolution: {integrity: sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==} + is-core-module@2.15.1: + resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} engines: {node: '>= 0.4'} - is-decimal@1.0.4: - resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} - is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -1816,9 +1844,6 @@ packages: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} - is-hexadecimal@1.0.4: - resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} - is-language-code@3.1.0: resolution: {integrity: sha512-zJdQ3QTeLye+iphMeK3wks+vXSRFKh68/Pnlw7aOfApFSEIOhYa8P9vwwa6QrImNNBMJTiL1PpYF0f4BxDuEgA==} @@ -1826,17 +1851,9 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - is-potential-custom-element-name@1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} - is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -1866,16 +1883,12 @@ packages: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true - jsdoc-type-pratt-parser@4.0.0: - resolution: {integrity: sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==} - engines: {node: '>=12.0.0'} - jsdoc-type-pratt-parser@4.1.0: resolution: {integrity: sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==} engines: {node: '>=12.0.0'} - jsdom@25.0.0: - resolution: {integrity: sha512-OhoFVT59T7aEq75TVw9xxEfkXgacpqAhQaYgP9y/fDqWQCMB/b1H66RfmPm/MaeaAIU9nDwMOVTlPN51+ao6CQ==} + jsdom@25.0.1: + resolution: {integrity: sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw==} engines: {node: '>=18'} peerDependencies: canvas: ^2.11.2 @@ -1952,6 +1965,9 @@ packages: lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + loupe@3.1.1: resolution: {integrity: sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==} @@ -1964,11 +1980,41 @@ packages: magic-string@0.30.11: resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} - mdast-util-from-markdown@0.8.5: - resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} + markdown-table@3.0.3: + resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} - mdast-util-to-string@2.0.0: - resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} + mdast-util-find-and-replace@3.0.1: + resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} + + mdast-util-from-markdown@2.0.1: + resolution: {integrity: sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==} + + mdast-util-gfm-autolink-literal@2.0.1: + resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} + + mdast-util-gfm-footnote@2.0.0: + resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} + + mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} + + mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} + + mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} + + mdast-util-gfm@3.0.0: + resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} + + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + + mdast-util-to-markdown@2.1.0: + resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} + + mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} mdn-data@2.0.28: resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} @@ -1976,15 +2022,93 @@ packages: mdn-data@2.0.30: resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} - merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - micromark@2.11.4: - resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} + micromark-core-commonmark@2.0.1: + resolution: {integrity: sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==} + + micromark-extension-gfm-autolink-literal@2.1.0: + resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} + + micromark-extension-gfm-footnote@2.1.0: + resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} + + micromark-extension-gfm-strikethrough@2.1.0: + resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} + + micromark-extension-gfm-table@2.1.0: + resolution: {integrity: sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g==} + + micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} + + micromark-extension-gfm-task-list-item@2.1.0: + resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} + + micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + + micromark-factory-destination@2.0.0: + resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} + + micromark-factory-label@2.0.0: + resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} + + micromark-factory-space@2.0.0: + resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} + + micromark-factory-title@2.0.0: + resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} + + micromark-factory-whitespace@2.0.0: + resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} + + micromark-util-character@2.1.0: + resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} + + micromark-util-chunked@2.0.0: + resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} + + micromark-util-classify-character@2.0.0: + resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} + + micromark-util-combine-extensions@2.0.0: + resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} + + micromark-util-decode-numeric-character-reference@2.0.1: + resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} + + micromark-util-decode-string@2.0.0: + resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} + + micromark-util-encode@2.0.0: + resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} + + micromark-util-html-tag-name@2.0.0: + resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} + + micromark-util-normalize-identifier@2.0.0: + resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} + + micromark-util-resolve-all@2.0.0: + resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} + + micromark-util-sanitize-uri@2.0.0: + resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + + micromark-util-subtokenize@2.0.1: + resolution: {integrity: sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==} + + micromark-util-symbol@2.0.0: + resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} + + micromark-util-types@2.0.0: + resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} + + micromark@4.0.0: + resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} @@ -1998,10 +2122,6 @@ packages: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} - mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} @@ -2063,23 +2183,15 @@ packages: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - npm-run-path@5.3.0: - resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} - nwsapi@2.2.12: - resolution: {integrity: sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==} + nwsapi@2.2.13: + resolution: {integrity: sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==} once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} - optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} @@ -2104,8 +2216,8 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - package-json-from-dist@1.0.0: - resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} package-manager-detector@0.2.0: resolution: {integrity: sha512-E385OSk9qDcXhcM9LNSe4sdhx8a9mAPrZ4sMLW+tmxl5ZuGtPUcdFu+MPP2jbgiWAZ6Pfe5soGFMd+0Db5Vrog==} @@ -2114,15 +2226,12 @@ packages: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} - parse-entities@2.0.0: - resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} - parse-gitignore@2.0.0: resolution: {integrity: sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==} engines: {node: '>=14'} - parse-imports@2.1.1: - resolution: {integrity: sha512-TDT4HqzUiTMO1wJRwg/t/hYk8Wdp3iF/ToMIlAoVQfL1Xs/sTxq1dKWSMjMbQmIarfWKymOyly40+zmPHXMqCA==} + parse-imports@2.2.1: + resolution: {integrity: sha512-OL/zLggRp8mFhKL0rNORUTR4yBYujK/uU+xZL+/0Rgm2QE4nLO9v8PzEweSJEbMGKmDRjJE4R3IMJlL2di4JeQ==} engines: {node: '>= 18'} parse-json@5.2.0: @@ -2147,10 +2256,6 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} @@ -2183,8 +2288,8 @@ packages: resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} engines: {node: '>=12'} - pinia@2.2.1: - resolution: {integrity: sha512-ltEU3xwiz5ojVMizdP93AHi84Rtfz0+yKd8ud75hr9LVyWX2alxp7vLbY1kFm7MXFmHHr/9B08Xf8Jj6IHTEiQ==} + pinia@2.2.4: + resolution: {integrity: sha512-K7ZhpMY9iJ9ShTC0cR2+PnxdQRuwVIsXDO/WIEV/RnMC/vmSoKDTKW/exNQYPI+4ij10UjXqdNiEHwn47McANQ==} peerDependencies: '@vue/composition-api': ^1.4.0 typescript: '>=4.4.4' @@ -2198,6 +2303,9 @@ packages: pkg-types@1.1.3: resolution: {integrity: sha512-+JrgthZG6m3ckicaOB74TwQ+tBWsFl3qVQg7mN8ulwSOElJ7gBhKzj2VkCPnZ4NlF6kEquYU+RIYNVAvzd54UA==} + pkg-types@1.2.0: + resolution: {integrity: sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA==} + pluralize@8.0.0: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} engines: {node: '>=4'} @@ -2230,10 +2338,6 @@ packages: resolution: {integrity: sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==} engines: {node: ^10 || ^12 || >=14} - postcss@8.4.41: - resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==} - engines: {node: ^10 || ^12 || >=14} - postcss@8.4.47: resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} engines: {node: ^10 || ^12 || >=14} @@ -2254,16 +2358,10 @@ packages: proto-list@1.2.4: resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} - psl@1.9.0: - resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} - punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - querystringify@2.2.0: - resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} - queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -2298,8 +2396,8 @@ packages: resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} hasBin: true - replace-in-file@8.1.0: - resolution: {integrity: sha512-ySYfKDH6uFVC4Wt6DcZ2UX0UMCqE7xhWGVqje/15WFVwHxnel1gdZjV8nOW9Nms6h/yQE2MWyeIToeqFLZkp4w==} + replace-in-file@8.2.0: + resolution: {integrity: sha512-hMsQtdYHwWviQT5ZbNsgfu0WuCiNlcUSnnD+aHAL081kbU9dPkPocDaHlDvAHKydTWWpx1apfcEcmvIyQk3CpQ==} engines: {node: '>=18'} hasBin: true @@ -2307,9 +2405,6 @@ packages: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} - requires-port@1.0.0: - resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -2330,9 +2425,6 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - rrweb-cssom@0.6.0: - resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} - rrweb-cssom@0.7.1: resolution: {integrity: sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==} @@ -2373,8 +2465,8 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - simple-icons@13.5.0: - resolution: {integrity: sha512-6VrM4xSty8EesmQbjI++Lk8FkV+gl3Ve+DnTQVc7ovZryKpc9JZSuZA8NNc7lC3Mqbh0GLlX3WXdITZlDu7bSQ==} + simple-icons@13.12.0: + resolution: {integrity: sha512-UY6Zpet45M8ON24y0x3LsvNkh7a+zxzX4u8KulYXEbJnQ8J1mdel9Tl+7aKmpvKck0TYsU7K58RhfRwd2/7G1Q==} engines: {node: '>=0.12.18'} sisteransi@1.0.5: @@ -2391,10 +2483,6 @@ packages: slashes@3.0.12: resolution: {integrity: sha512-Q9VME8WyGkc7pJf6QEkj3wE+2CnvZMI+XJhwdTPR8Z/kWQRXi7boAWLDibRPyHRTUTPx5FaU7MsyrjI3yLB4HA==} - source-map-js@1.2.0: - resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} - engines: {node: '>=0.10.0'} - source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} @@ -2423,8 +2511,8 @@ packages: spdx-expression-parse@4.0.0: resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==} - spdx-license-ids@3.0.18: - resolution: {integrity: sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==} + spdx-license-ids@3.0.20: + resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==} stable-hash@0.0.4: resolution: {integrity: sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==} @@ -2451,10 +2539,6 @@ packages: resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} engines: {node: '>=12'} - strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - strip-indent@3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} engines: {node: '>=8'} @@ -2511,18 +2595,25 @@ packages: tinyexec@0.3.0: resolution: {integrity: sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==} - tinypool@1.0.0: - resolution: {integrity: sha512-KIKExllK7jp3uvrNtvRBYBWBOAXSX8ZvoaD8T+7KB/QHIuoJW3Pmr60zucywjAlMb5TeXUkcs/MWeWLu0qvuAQ==} + tinypool@1.0.1: + resolution: {integrity: sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==} engines: {node: ^18.0.0 || >=20.0.0} tinyrainbow@1.2.0: resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==} engines: {node: '>=14.0.0'} - tinyspy@3.0.0: - resolution: {integrity: sha512-q5nmENpTHgiPVd1cJDDc9cVoYN5x4vCvwT3FMilvKPKneCBZAxn2YWQjDF0UMcE9k0Cay1gBiDfTMU0g+mPMQA==} + tinyspy@3.0.2: + resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} engines: {node: '>=14.0.0'} + tldts-core@6.1.50: + resolution: {integrity: sha512-na2EcZqmdA2iV9zHV7OHQDxxdciEpxrjbkp+aHmZgnZKHzoElLajP59np5/4+sare9fQBfixgvXKx8ev1d7ytw==} + + tldts@6.1.50: + resolution: {integrity: sha512-q9GOap6q3KCsLMdOjXhWU5jVZ8/1dIib898JBRLsN+tBhENpBDcAVQbE0epADOjw11FhQQy9AcbqKGBQPUfTQA==} + hasBin: true + to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} @@ -2535,9 +2626,9 @@ packages: resolution: {integrity: sha512-khrZo4buq4qVmsGzS5yQjKe/WsFvV8fGfOjDQN0q4iy9FjRfPWRgTFrU8u1R2iu/SfWLhY9WnCi4Jhdrcbtg+g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - tough-cookie@4.1.4: - resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} - engines: {node: '>=6'} + tough-cookie@5.0.0: + resolution: {integrity: sha512-FRKsF7cz96xIIeMZ82ehjC3xW2E+O2+v11udrDYewUbszngYhsGa8z6YUMMzO9QJZzzyd0nGGXnML/TReX6W8Q==} + engines: {node: '>=16'} tr46@5.0.0: resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==} @@ -2552,6 +2643,9 @@ packages: tslib@2.6.3: resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} + tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} + type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -2568,27 +2662,32 @@ packages: resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} engines: {node: '>=8'} - typescript@5.5.4: - resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} + typescript@5.6.2: + resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==} engines: {node: '>=14.17'} hasBin: true ufo@1.5.4: resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} - undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} unicode-emoji-modifier-base@1.0.0: resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} engines: {node: '>=4'} - unist-util-stringify-position@2.0.3: - resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} + unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} - universalify@0.2.0: - resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} - engines: {node: '>= 4.0.0'} + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} unplugin@1.12.0: resolution: {integrity: sha512-KeczzHl2sATPQUx1gzo+EnUkmN4VmGBYRRVOZSGvGITE9rGHRDGqft6ONceP3vgXcyJ2XjX5axG5jMWUwNCYLw==} @@ -2600,20 +2699,23 @@ packages: peerDependencies: browserslist: '>= 4.21.0' + update-browserslist-db@1.1.1: + resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - url-parse@1.5.10: - resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} - util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - vite-node@2.0.5: - resolution: {integrity: sha512-LdsW4pxj0Ot69FAoXZ1yTnA9bjGohr2yNBU7QKRxpz8ITSkhuDl6h3zS/tvgz4qrNjeRnvrWeXQ8ZF7Um4W00Q==} + vite-node@2.1.2: + resolution: {integrity: sha512-HPcGNN5g/7I2OtPjLqgOtCRu/qhVvBxTUD3qzitmL0SrG1cWFzxzhMDWussxSbrRYWqnKf8P2jiNhPMSN+ymsQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -2631,8 +2733,8 @@ packages: peerDependencies: vue: '>=3.2.13' - vite@5.4.6: - resolution: {integrity: sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==} + vite@5.4.8: + resolution: {integrity: sha512-FqrItQ4DT1NC4zCUqMB4c4AZORMKIa0m8/URVCZ77OZ/QSNeJ54bU1vrFADbDsuwfIPcgknRkmqakQcgnL4GiQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -2662,15 +2764,15 @@ packages: terser: optional: true - vitest@2.0.5: - resolution: {integrity: sha512-8GUxONfauuIdeSl5f9GTgVEpg5BTOlplET4WEDaeY2QBiN8wSm68vxN/tb5z405OwppfoCavnwXafiaYBC/xOA==} + vitest@2.1.2: + resolution: {integrity: sha512-veNjLizOMkRrJ6xxb+pvxN6/QAWg95mzcRjtmkepXdN87FNfxAss9RKe2far/G9cQpipfgP2taqg0KiWsquj8A==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 2.0.5 - '@vitest/ui': 2.0.5 + '@vitest/browser': 2.1.2 + '@vitest/ui': 2.1.2 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -2710,25 +2812,25 @@ packages: peerDependencies: eslint: '>=6.0.0' - vue-i18n@9.13.1: - resolution: {integrity: sha512-mh0GIxx0wPtPlcB1q4k277y0iKgo25xmDPWioVVYanjPufDBpvu5ySTjP5wOrSvlYQ2m1xI+CFhGdauv/61uQg==} + vue-i18n@9.14.1: + resolution: {integrity: sha512-xjxV0LYc1xQ8TbAVfIyZiOSS8qoU1R0YwV7V5I8I6Fd64+zvsTsdPgtylPsie3Vdt9wekeYhr+smKDeaK6RBuA==} engines: {node: '>= 16'} peerDependencies: vue: ^3.0.0 - vue-router@4.4.3: - resolution: {integrity: sha512-sv6wmNKx2j3aqJQDMxLFzs/u/mjA9Z5LCgy6BE0f7yFWMjrPLnS/sPNn8ARY/FXw6byV18EFutn5lTO6+UsV5A==} + vue-router@4.4.5: + resolution: {integrity: sha512-4fKZygS8cH1yCyuabAXGUAsyi1b2/o/OKgu/RUb+znIYOxPRxdkytJEx+0wGcpBE1pX6vUgh5jwWOKRGvuA/7Q==} peerDependencies: vue: ^3.2.0 - vue-tsc@2.0.29: - resolution: {integrity: sha512-MHhsfyxO3mYShZCGYNziSbc63x7cQ5g9kvijV7dRe1TTXBRLxXyL0FnXWpUF1xII2mJ86mwYpYsUmMwkmerq7Q==} + vue-tsc@2.1.6: + resolution: {integrity: sha512-f98dyZp5FOukcYmbFpuSCJ4Z0vHSOSmxGttZJCsFeX0M4w/Rsq0s4uKXjcSRsZqsRgQa6z7SfuO+y0HVICE57Q==} hasBin: true peerDependencies: typescript: '>=5.0.0' - vue@3.4.38: - resolution: {integrity: sha512-f0ZgN+mZ5KFgVv9wz0f4OgVKukoXtS3nwET4c2vLBGQR50aI8G0cqbFtLlX9Yiyg3LFGBitruPHt2PxwTduJEw==} + vue@3.5.11: + resolution: {integrity: sha512-/8Wurrd9J3lb72FTQS7gRMNQD4nztTtKPmuDuPuhqXmmpD6+skVjAeahNpVzsuky6Sy9gy7wn8UadqPtt9SQIg==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -2826,8 +2928,8 @@ packages: resolution: {integrity: sha512-4wZWvE398hCP7O8n3nXKu/vdq1HcH01ixYlCREaJL5NUMwQ0g3MaGFUBNSlmBtKmhbtVG/Cm6lyYmSVTEVil8A==} engines: {node: ^14.17.0 || >=16.0.0} - yaml@2.5.0: - resolution: {integrity: sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==} + yaml@2.5.1: + resolution: {integrity: sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==} engines: {node: '>= 14'} hasBin: true @@ -2843,6 +2945,9 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + snapshots: '@ampproject/remapping@2.3.0': @@ -2850,42 +2955,42 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - '@antfu/eslint-config@3.3.2(@typescript-eslint/utils@8.4.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(@vue/compiler-sfc@3.4.38)(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)(vitest@2.0.5(@types/node@20.14.15)(jsdom@25.0.0)(stylus@0.57.0))': + '@antfu/eslint-config@3.7.3(@typescript-eslint/utils@8.8.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2))(@vue/compiler-sfc@3.5.11)(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2)(vitest@2.1.2(@types/node@20.16.10)(jsdom@25.0.1)(stylus@0.57.0))': dependencies: '@antfu/install-pkg': 0.4.1 '@clack/prompts': 0.7.0 - '@eslint-community/eslint-plugin-eslint-comments': 4.4.0(eslint@9.9.0(jiti@1.21.6)) - '@stylistic/eslint-plugin': 2.7.2(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) - '@typescript-eslint/eslint-plugin': 8.4.0(@typescript-eslint/parser@8.4.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) - '@typescript-eslint/parser': 8.4.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) - '@vitest/eslint-plugin': 1.1.0(@typescript-eslint/utils@8.4.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)(vitest@2.0.5(@types/node@20.14.15)(jsdom@25.0.0)(stylus@0.57.0)) - eslint: 9.9.0(jiti@1.21.6) - eslint-config-flat-gitignore: 0.3.0(eslint@9.9.0(jiti@1.21.6)) - eslint-flat-config-utils: 0.3.1 - eslint-merge-processors: 0.1.0(eslint@9.9.0(jiti@1.21.6)) - eslint-plugin-antfu: 2.5.0(eslint@9.9.0(jiti@1.21.6)) - eslint-plugin-command: 0.2.3(eslint@9.9.0(jiti@1.21.6)) - eslint-plugin-import-x: 4.2.1(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) - eslint-plugin-jsdoc: 50.2.2(eslint@9.9.0(jiti@1.21.6)) - eslint-plugin-jsonc: 2.16.0(eslint@9.9.0(jiti@1.21.6)) - eslint-plugin-markdown: 5.1.0(eslint@9.9.0(jiti@1.21.6)) - eslint-plugin-n: 17.10.2(eslint@9.9.0(jiti@1.21.6)) + '@eslint-community/eslint-plugin-eslint-comments': 4.4.0(eslint@9.12.0(jiti@1.21.6)) + '@eslint/markdown': 6.2.0 + '@stylistic/eslint-plugin': 2.9.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2) + '@typescript-eslint/eslint-plugin': 8.8.0(@typescript-eslint/parser@8.8.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2) + '@typescript-eslint/parser': 8.8.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2) + '@vitest/eslint-plugin': 1.1.6(@typescript-eslint/utils@8.8.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2)(vitest@2.1.2(@types/node@20.16.10)(jsdom@25.0.1)(stylus@0.57.0)) + eslint: 9.12.0(jiti@1.21.6) + eslint-config-flat-gitignore: 0.3.0(eslint@9.12.0(jiti@1.21.6)) + eslint-flat-config-utils: 0.4.0 + eslint-merge-processors: 0.1.0(eslint@9.12.0(jiti@1.21.6)) + eslint-plugin-antfu: 2.7.0(eslint@9.12.0(jiti@1.21.6)) + eslint-plugin-command: 0.2.6(eslint@9.12.0(jiti@1.21.6)) + eslint-plugin-import-x: 4.3.1(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2) + eslint-plugin-jsdoc: 50.3.1(eslint@9.12.0(jiti@1.21.6)) + eslint-plugin-jsonc: 2.16.0(eslint@9.12.0(jiti@1.21.6)) + eslint-plugin-n: 17.10.3(eslint@9.12.0(jiti@1.21.6)) eslint-plugin-no-only-tests: 3.3.0 - eslint-plugin-perfectionist: 3.4.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)(vue-eslint-parser@9.4.3(eslint@9.9.0(jiti@1.21.6))) - eslint-plugin-regexp: 2.6.0(eslint@9.9.0(jiti@1.21.6)) - eslint-plugin-toml: 0.11.1(eslint@9.9.0(jiti@1.21.6)) - eslint-plugin-unicorn: 55.0.0(eslint@9.9.0(jiti@1.21.6)) - eslint-plugin-unused-imports: 4.1.3(@typescript-eslint/eslint-plugin@8.4.0(@typescript-eslint/parser@8.4.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6)) - eslint-plugin-vue: 9.28.0(eslint@9.9.0(jiti@1.21.6)) - eslint-plugin-yml: 1.14.0(eslint@9.9.0(jiti@1.21.6)) - eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.4.38)(eslint@9.9.0(jiti@1.21.6)) - globals: 15.9.0 + eslint-plugin-perfectionist: 3.8.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2)(vue-eslint-parser@9.4.3(eslint@9.12.0(jiti@1.21.6))) + eslint-plugin-regexp: 2.6.0(eslint@9.12.0(jiti@1.21.6)) + eslint-plugin-toml: 0.11.1(eslint@9.12.0(jiti@1.21.6)) + eslint-plugin-unicorn: 55.0.0(eslint@9.12.0(jiti@1.21.6)) + eslint-plugin-unused-imports: 4.1.4(@typescript-eslint/eslint-plugin@8.8.0(@typescript-eslint/parser@8.8.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.12.0(jiti@1.21.6)) + eslint-plugin-vue: 9.28.0(eslint@9.12.0(jiti@1.21.6)) + eslint-plugin-yml: 1.14.0(eslint@9.12.0(jiti@1.21.6)) + eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.5.11)(eslint@9.12.0(jiti@1.21.6)) + globals: 15.10.0 jsonc-eslint-parser: 2.4.0 local-pkg: 0.5.0 parse-gitignore: 2.0.0 picocolors: 1.1.0 toml-eslint-parser: 0.10.0 - vue-eslint-parser: 9.4.3(eslint@9.9.0(jiti@1.21.6)) + vue-eslint-parser: 9.4.3(eslint@9.12.0(jiti@1.21.6)) yaml-eslint-parser: 1.2.3 yargs: 17.7.2 transitivePeerDependencies: @@ -2906,7 +3011,12 @@ snapshots: '@babel/code-frame@7.24.7': dependencies: '@babel/highlight': 7.24.7 - picocolors: 1.0.1 + picocolors: 1.1.0 + + '@babel/code-frame@7.25.7': + dependencies: + '@babel/highlight': 7.25.7 + picocolors: 1.1.0 '@babel/compat-data@7.25.2': {} @@ -2923,7 +3033,7 @@ snapshots: '@babel/traverse': 7.25.2 '@babel/types': 7.25.2 convert-source-map: 2.0.0 - debug: 4.3.6 + debug: 4.3.7 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 7.6.3 @@ -2971,8 +3081,12 @@ snapshots: '@babel/helper-string-parser@7.24.8': {} + '@babel/helper-string-parser@7.25.7': {} + '@babel/helper-validator-identifier@7.24.7': {} + '@babel/helper-validator-identifier@7.25.7': {} + '@babel/helper-validator-option@7.24.8': {} '@babel/helpers@7.25.0': @@ -2982,18 +3096,25 @@ snapshots: '@babel/highlight@7.24.7': dependencies: - '@babel/helper-validator-identifier': 7.24.7 + '@babel/helper-validator-identifier': 7.25.7 chalk: 2.4.2 js-tokens: 4.0.0 - picocolors: 1.0.1 + picocolors: 1.1.0 + + '@babel/highlight@7.25.7': + dependencies: + '@babel/helper-validator-identifier': 7.25.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.1.0 '@babel/parser@7.25.0': dependencies: '@babel/types': 7.25.2 - '@babel/parser@7.25.3': + '@babel/parser@7.25.7': dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.25.7 '@babel/runtime@7.25.0': dependencies: @@ -3012,7 +3133,7 @@ snapshots: '@babel/parser': 7.25.0 '@babel/template': 7.25.0 '@babel/types': 7.25.2 - debug: 4.3.6 + debug: 4.3.7 globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -3023,6 +3144,12 @@ snapshots: '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 + '@babel/types@7.25.7': + dependencies: + '@babel/helper-string-parser': 7.25.7 + '@babel/helper-validator-identifier': 7.25.7 + to-fast-properties: 2.0.0 + '@clack/core@0.3.4': dependencies: picocolors: 1.1.0 @@ -3034,15 +3161,6 @@ snapshots: picocolors: 1.1.0 sisteransi: 1.0.5 - '@es-joy/jsdoccomment@0.43.1': - dependencies: - '@types/eslint': 8.56.11 - '@types/estree': 1.0.6 - '@typescript-eslint/types': 7.18.0 - comment-parser: 1.4.1 - esquery: 1.6.0 - jsdoc-type-pratt-parser: 4.0.0 - '@es-joy/jsdoccomment@0.48.0': dependencies: comment-parser: 1.4.1 @@ -3118,34 +3236,38 @@ snapshots: '@esbuild/win32-x64@0.21.5': optional: true - '@eslint-community/eslint-plugin-eslint-comments@4.4.0(eslint@9.9.0(jiti@1.21.6))': + '@eslint-community/eslint-plugin-eslint-comments@4.4.0(eslint@9.12.0(jiti@1.21.6))': dependencies: escape-string-regexp: 4.0.0 - eslint: 9.9.0(jiti@1.21.6) + eslint: 9.12.0(jiti@1.21.6) ignore: 5.3.2 - '@eslint-community/eslint-utils@4.4.0(eslint@9.9.0(jiti@1.21.6))': + '@eslint-community/eslint-utils@4.4.0(eslint@9.12.0(jiti@1.21.6))': dependencies: - eslint: 9.9.0(jiti@1.21.6) + eslint: 9.12.0(jiti@1.21.6) eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.11.0': {} + '@eslint-community/regexpp@4.11.1': {} - '@eslint/compat@1.1.1': {} + '@eslint/compat@1.2.0(eslint@9.12.0(jiti@1.21.6))': + optionalDependencies: + eslint: 9.12.0(jiti@1.21.6) - '@eslint/config-array@0.17.1': + '@eslint/config-array@0.18.0': dependencies: '@eslint/object-schema': 2.1.4 - debug: 4.3.6 + debug: 4.3.7 minimatch: 3.1.2 transitivePeerDependencies: - supports-color + '@eslint/core@0.6.0': {} + '@eslint/eslintrc@3.1.0': dependencies: ajv: 6.12.6 - debug: 4.3.6 - espree: 10.1.0 + debug: 4.3.7 + espree: 10.2.0 globals: 14.0.0 ignore: 5.3.2 import-fresh: 3.3.0 @@ -3155,15 +3277,35 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.9.0': {} + '@eslint/js@9.12.0': {} + + '@eslint/markdown@6.2.0': + dependencies: + '@eslint/plugin-kit': 0.2.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-gfm: 3.0.0 + micromark-extension-gfm: 3.0.0 + transitivePeerDependencies: + - supports-color '@eslint/object-schema@2.1.4': {} + '@eslint/plugin-kit@0.2.0': + dependencies: + levn: 0.4.1 + + '@humanfs/core@0.19.0': {} + + '@humanfs/node@0.16.5': + dependencies: + '@humanfs/core': 0.19.0 + '@humanwhocodes/retry': 0.3.1 + '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/retry@0.3.0': {} + '@humanwhocodes/retry@0.3.1': {} - '@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.4.38)(prettier@3.3.3)': + '@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.5.11)(prettier@3.3.3)': dependencies: '@babel/core': 7.25.2 '@babel/generator': 7.25.0 @@ -3173,11 +3315,11 @@ snapshots: prettier: 3.3.3 semver: 7.6.3 optionalDependencies: - '@vue/compiler-sfc': 3.4.38 + '@vue/compiler-sfc': 3.5.11 transitivePeerDependencies: - supports-color - '@intlify/bundle-utils@9.0.0-beta.0(vue-i18n@9.13.1(vue@3.4.38(typescript@5.5.4)))': + '@intlify/bundle-utils@9.0.0-beta.0(vue-i18n@9.14.1(vue@3.5.11(typescript@5.6.2)))': dependencies: '@intlify/message-compiler': 10.0.0 '@intlify/shared': 10.0.0 @@ -3189,21 +3331,26 @@ snapshots: source-map-js: 1.2.1 yaml-eslint-parser: 1.2.3 optionalDependencies: - vue-i18n: 9.13.1(vue@3.4.38(typescript@5.5.4)) + vue-i18n: 9.14.1(vue@3.5.11(typescript@5.6.2)) '@intlify/core-base@9.13.1': dependencies: '@intlify/message-compiler': 9.13.1 '@intlify/shared': 9.13.1 - '@intlify/eslint-plugin-vue-i18n@3.0.0(eslint@9.9.0(jiti@1.21.6))': + '@intlify/core-base@9.14.1': + dependencies: + '@intlify/message-compiler': 9.14.1 + '@intlify/shared': 9.14.1 + + '@intlify/eslint-plugin-vue-i18n@3.0.0(eslint@9.12.0(jiti@1.21.6))': dependencies: '@eslint/eslintrc': 3.1.0 '@intlify/core-base': 9.13.1 '@intlify/message-compiler': 9.13.1 debug: 4.3.6 - eslint: 9.9.0(jiti@1.21.6) - eslint-compat-utils: 0.5.1(eslint@9.9.0(jiti@1.21.6)) + eslint: 9.12.0(jiti@1.21.6) + eslint-compat-utils: 0.5.1(eslint@9.12.0(jiti@1.21.6)) glob: 10.4.5 globals: 15.8.0 ignore: 5.3.1 @@ -3216,7 +3363,7 @@ snapshots: parse5: 7.1.2 semver: 7.6.3 synckit: 0.9.1 - vue-eslint-parser: 9.4.3(eslint@9.9.0(jiti@1.21.6)) + vue-eslint-parser: 9.4.3(eslint@9.12.0(jiti@1.21.6)) yaml-eslint-parser: 1.2.3 transitivePeerDependencies: - supports-color @@ -3229,21 +3376,28 @@ snapshots: '@intlify/message-compiler@9.13.1': dependencies: '@intlify/shared': 9.13.1 - source-map-js: 1.2.0 + source-map-js: 1.2.1 + + '@intlify/message-compiler@9.14.1': + dependencies: + '@intlify/shared': 9.14.1 + source-map-js: 1.2.1 '@intlify/shared@10.0.0': {} '@intlify/shared@9.13.1': {} - '@intlify/unplugin-vue-i18n@5.2.0(@vue/compiler-dom@3.4.38)(eslint@9.9.0(jiti@1.21.6))(rollup@4.24.0)(typescript@5.5.4)(vue-i18n@9.13.1(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4))': + '@intlify/shared@9.14.1': {} + + '@intlify/unplugin-vue-i18n@5.2.0(@vue/compiler-dom@3.5.11)(eslint@9.12.0(jiti@1.21.6))(rollup@4.24.0)(typescript@5.6.2)(vue-i18n@9.14.1(vue@3.5.11(typescript@5.6.2)))(vue@3.5.11(typescript@5.6.2))': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) - '@intlify/bundle-utils': 9.0.0-beta.0(vue-i18n@9.13.1(vue@3.4.38(typescript@5.5.4))) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0(jiti@1.21.6)) + '@intlify/bundle-utils': 9.0.0-beta.0(vue-i18n@9.14.1(vue@3.5.11(typescript@5.6.2))) '@intlify/shared': 10.0.0 - '@intlify/vue-i18n-extensions': 7.0.0(@intlify/shared@10.0.0)(@vue/compiler-dom@3.4.38)(vue-i18n@9.13.1(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4)) + '@intlify/vue-i18n-extensions': 7.0.0(@intlify/shared@10.0.0)(@vue/compiler-dom@3.5.11)(vue-i18n@9.14.1(vue@3.5.11(typescript@5.6.2)))(vue@3.5.11(typescript@5.6.2)) '@rollup/pluginutils': 5.1.0(rollup@4.24.0) '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4) + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.2) debug: 4.3.6 fast-glob: 3.3.2 js-yaml: 4.1.0 @@ -3252,9 +3406,9 @@ snapshots: picocolors: 1.1.0 source-map-js: 1.2.1 unplugin: 1.12.0 - vue: 3.4.38(typescript@5.5.4) + vue: 3.5.11(typescript@5.6.2) optionalDependencies: - vue-i18n: 9.13.1(vue@3.4.38(typescript@5.5.4)) + vue-i18n: 9.14.1(vue@3.5.11(typescript@5.6.2)) transitivePeerDependencies: - '@vue/compiler-dom' - eslint @@ -3262,14 +3416,14 @@ snapshots: - supports-color - typescript - '@intlify/vue-i18n-extensions@7.0.0(@intlify/shared@10.0.0)(@vue/compiler-dom@3.4.38)(vue-i18n@9.13.1(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4))': + '@intlify/vue-i18n-extensions@7.0.0(@intlify/shared@10.0.0)(@vue/compiler-dom@3.5.11)(vue-i18n@9.14.1(vue@3.5.11(typescript@5.6.2)))(vue@3.5.11(typescript@5.6.2))': dependencies: - '@babel/parser': 7.25.3 + '@babel/parser': 7.25.7 optionalDependencies: '@intlify/shared': 10.0.0 - '@vue/compiler-dom': 3.4.38 - vue: 3.4.38(typescript@5.5.4) - vue-i18n: 9.13.1(vue@3.4.38(typescript@5.5.4)) + '@vue/compiler-dom': 3.5.11 + vue: 3.5.11(typescript@5.6.2) + vue-i18n: 9.14.1(vue@3.5.11(typescript@5.6.2)) '@isaacs/cliui@8.0.2': dependencies: @@ -3297,9 +3451,9 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 - '@kyvg/vue3-notification@3.2.1(vue@3.4.38(typescript@5.5.4))': + '@kyvg/vue3-notification@3.3.0(vue@3.5.11(typescript@5.6.2))': dependencies: - vue: 3.4.38(typescript@5.5.4) + vue: 3.5.11(typescript@5.6.2) '@mdi/js@7.4.47': {} @@ -3380,13 +3534,12 @@ snapshots: '@sindresorhus/is@4.6.0': {} - '@stylistic/eslint-plugin@2.7.2(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': + '@stylistic/eslint-plugin@2.9.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2)': dependencies: - '@types/eslint': 9.6.1 - '@typescript-eslint/utils': 8.4.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) - eslint: 9.9.0(jiti@1.21.6) - eslint-visitor-keys: 4.0.0 - espree: 10.1.0 + '@typescript-eslint/utils': 8.8.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2) + eslint: 9.12.0(jiti@1.21.6) + eslint-visitor-keys: 4.1.0 + espree: 10.2.0 estraverse: 5.3.0 picomatch: 4.0.2 transitivePeerDependencies: @@ -3395,17 +3548,11 @@ snapshots: '@trysound/sax@0.2.0': {} - '@types/eslint@8.56.11': + '@types/debug@4.1.12': dependencies: - '@types/estree': 1.0.6 - '@types/json-schema': 7.0.15 + '@types/ms': 0.7.34 '@types/eslint@9.6.0': - dependencies: - '@types/estree': 1.0.5 - '@types/json-schema': 7.0.15 - - '@types/eslint@9.6.1': dependencies: '@types/estree': 1.0.6 '@types/json-schema': 7.0.15 @@ -3414,21 +3561,21 @@ snapshots: dependencies: '@types/eslint': 9.6.0 - '@types/estree@1.0.5': {} - '@types/estree@1.0.6': {} '@types/json-schema@7.0.15': {} - '@types/lodash@4.17.7': {} + '@types/lodash@4.17.10': {} - '@types/mdast@3.0.15': + '@types/mdast@4.0.4': dependencies: - '@types/unist': 2.0.11 + '@types/unist': 3.0.3 - '@types/node@20.14.15': + '@types/ms@0.7.34': {} + + '@types/node@20.16.10': dependencies: - undici-types: 5.26.5 + undici-types: 6.19.8 '@types/normalize-package-data@2.4.4': {} @@ -3438,38 +3585,38 @@ snapshots: '@types/tinycolor2@1.4.6': {} - '@types/unist@2.0.11': {} + '@types/unist@3.0.3': {} '@types/web-bluetooth@0.0.20': {} - '@typescript-eslint/eslint-plugin@8.4.0(@typescript-eslint/parser@8.4.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': + '@typescript-eslint/eslint-plugin@8.8.0(@typescript-eslint/parser@8.8.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2)': dependencies: - '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 8.4.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) - '@typescript-eslint/scope-manager': 8.4.0 - '@typescript-eslint/type-utils': 8.4.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) - '@typescript-eslint/utils': 8.4.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) - '@typescript-eslint/visitor-keys': 8.4.0 - eslint: 9.9.0(jiti@1.21.6) + '@eslint-community/regexpp': 4.11.1 + '@typescript-eslint/parser': 8.8.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2) + '@typescript-eslint/scope-manager': 8.8.0 + '@typescript-eslint/type-utils': 8.8.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2) + '@typescript-eslint/utils': 8.8.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2) + '@typescript-eslint/visitor-keys': 8.8.0 + eslint: 9.12.0(jiti@1.21.6) graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 1.3.0(typescript@5.5.4) + ts-api-utils: 1.3.0(typescript@5.6.2) optionalDependencies: - typescript: 5.5.4 + typescript: 5.6.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.4.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': + '@typescript-eslint/parser@8.8.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2)': dependencies: - '@typescript-eslint/scope-manager': 8.4.0 - '@typescript-eslint/types': 8.4.0 - '@typescript-eslint/typescript-estree': 8.4.0(typescript@5.5.4) - '@typescript-eslint/visitor-keys': 8.4.0 - debug: 4.3.6 - eslint: 9.9.0(jiti@1.21.6) + '@typescript-eslint/scope-manager': 8.8.0 + '@typescript-eslint/types': 8.8.0 + '@typescript-eslint/typescript-estree': 8.8.0(typescript@5.6.2) + '@typescript-eslint/visitor-keys': 8.8.0 + debug: 4.3.7 + eslint: 9.12.0(jiti@1.21.6) optionalDependencies: - typescript: 5.5.4 + typescript: 5.6.2 transitivePeerDependencies: - supports-color @@ -3478,35 +3625,28 @@ snapshots: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 - '@typescript-eslint/scope-manager@8.1.0': + '@typescript-eslint/scope-manager@8.8.0': dependencies: - '@typescript-eslint/types': 8.1.0 - '@typescript-eslint/visitor-keys': 8.1.0 + '@typescript-eslint/types': 8.8.0 + '@typescript-eslint/visitor-keys': 8.8.0 - '@typescript-eslint/scope-manager@8.4.0': + '@typescript-eslint/type-utils@8.8.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2)': dependencies: - '@typescript-eslint/types': 8.4.0 - '@typescript-eslint/visitor-keys': 8.4.0 - - '@typescript-eslint/type-utils@8.4.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': - dependencies: - '@typescript-eslint/typescript-estree': 8.4.0(typescript@5.5.4) - '@typescript-eslint/utils': 8.4.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) - debug: 4.3.6 - ts-api-utils: 1.3.0(typescript@5.5.4) + '@typescript-eslint/typescript-estree': 8.8.0(typescript@5.6.2) + '@typescript-eslint/utils': 8.8.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2) + debug: 4.3.7 + ts-api-utils: 1.3.0(typescript@5.6.2) optionalDependencies: - typescript: 5.5.4 + typescript: 5.6.2 transitivePeerDependencies: - eslint - supports-color '@typescript-eslint/types@7.18.0': {} - '@typescript-eslint/types@8.1.0': {} + '@typescript-eslint/types@8.8.0': {} - '@typescript-eslint/types@8.4.0': {} - - '@typescript-eslint/typescript-estree@7.18.0(typescript@5.5.4)': + '@typescript-eslint/typescript-estree@7.18.0(typescript@5.6.2)': dependencies: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 @@ -3515,60 +3655,34 @@ snapshots: is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.5.4) + ts-api-utils: 1.3.0(typescript@5.6.2) optionalDependencies: - typescript: 5.5.4 + typescript: 5.6.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.1.0(typescript@5.5.4)': + '@typescript-eslint/typescript-estree@8.8.0(typescript@5.6.2)': dependencies: - '@typescript-eslint/types': 8.1.0 - '@typescript-eslint/visitor-keys': 8.1.0 - debug: 4.3.6 - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.5.4) - optionalDependencies: - typescript: 5.5.4 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/typescript-estree@8.4.0(typescript@5.5.4)': - dependencies: - '@typescript-eslint/types': 8.4.0 - '@typescript-eslint/visitor-keys': 8.4.0 - debug: 4.3.6 + '@typescript-eslint/types': 8.8.0 + '@typescript-eslint/visitor-keys': 8.8.0 + debug: 4.3.7 fast-glob: 3.3.2 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.5.4) + ts-api-utils: 1.3.0(typescript@5.6.2) optionalDependencies: - typescript: 5.5.4 + typescript: 5.6.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': + '@typescript-eslint/utils@8.8.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) - '@typescript-eslint/scope-manager': 8.1.0 - '@typescript-eslint/types': 8.1.0 - '@typescript-eslint/typescript-estree': 8.1.0(typescript@5.5.4) - eslint: 9.9.0(jiti@1.21.6) - transitivePeerDependencies: - - supports-color - - typescript - - '@typescript-eslint/utils@8.4.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) - '@typescript-eslint/scope-manager': 8.4.0 - '@typescript-eslint/types': 8.4.0 - '@typescript-eslint/typescript-estree': 8.4.0(typescript@5.5.4) - eslint: 9.9.0(jiti@1.21.6) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0(jiti@1.21.6)) + '@typescript-eslint/scope-manager': 8.8.0 + '@typescript-eslint/types': 8.8.0 + '@typescript-eslint/typescript-estree': 8.8.0(typescript@5.6.2) + eslint: 9.12.0(jiti@1.21.6) transitivePeerDependencies: - supports-color - typescript @@ -3578,168 +3692,170 @@ snapshots: '@typescript-eslint/types': 7.18.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@8.1.0': + '@typescript-eslint/visitor-keys@8.8.0': dependencies: - '@typescript-eslint/types': 8.1.0 + '@typescript-eslint/types': 8.8.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@8.4.0': + '@vitejs/plugin-vue@5.1.4(vite@5.4.8(@types/node@20.16.10)(stylus@0.57.0))(vue@3.5.11(typescript@5.6.2))': dependencies: - '@typescript-eslint/types': 8.4.0 - eslint-visitor-keys: 3.4.3 + vite: 5.4.8(@types/node@20.16.10)(stylus@0.57.0) + vue: 3.5.11(typescript@5.6.2) - '@vitejs/plugin-vue@5.1.2(vite@5.4.6(@types/node@20.14.15)(stylus@0.57.0))(vue@3.4.38(typescript@5.5.4))': + '@vitest/eslint-plugin@1.1.6(@typescript-eslint/utils@8.8.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2)(vitest@2.1.2(@types/node@20.16.10)(jsdom@25.0.1)(stylus@0.57.0))': dependencies: - vite: 5.4.6(@types/node@20.14.15)(stylus@0.57.0) - vue: 3.4.38(typescript@5.5.4) - - '@vitest/eslint-plugin@1.1.0(@typescript-eslint/utils@8.4.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)(vitest@2.0.5(@types/node@20.14.15)(jsdom@25.0.0)(stylus@0.57.0))': - dependencies: - eslint: 9.9.0(jiti@1.21.6) + '@typescript-eslint/utils': 8.8.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2) + eslint: 9.12.0(jiti@1.21.6) + vitest: 2.1.2(@types/node@20.16.10)(jsdom@25.0.1)(stylus@0.57.0) optionalDependencies: - '@typescript-eslint/utils': 8.4.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) - typescript: 5.5.4 - vitest: 2.0.5(@types/node@20.14.15)(jsdom@25.0.0)(stylus@0.57.0) + typescript: 5.6.2 - '@vitest/expect@2.0.5': + '@vitest/expect@2.1.2': dependencies: - '@vitest/spy': 2.0.5 - '@vitest/utils': 2.0.5 + '@vitest/spy': 2.1.2 + '@vitest/utils': 2.1.2 chai: 5.1.1 tinyrainbow: 1.2.0 - '@vitest/pretty-format@2.0.5': + '@vitest/mocker@2.1.2(@vitest/spy@2.1.2)(vite@5.4.8(@types/node@20.16.10)(stylus@0.57.0))': + dependencies: + '@vitest/spy': 2.1.2 + estree-walker: 3.0.3 + magic-string: 0.30.11 + optionalDependencies: + vite: 5.4.8(@types/node@20.16.10)(stylus@0.57.0) + + '@vitest/pretty-format@2.1.2': dependencies: tinyrainbow: 1.2.0 - '@vitest/runner@2.0.5': + '@vitest/runner@2.1.2': dependencies: - '@vitest/utils': 2.0.5 + '@vitest/utils': 2.1.2 pathe: 1.1.2 - '@vitest/snapshot@2.0.5': + '@vitest/snapshot@2.1.2': dependencies: - '@vitest/pretty-format': 2.0.5 + '@vitest/pretty-format': 2.1.2 magic-string: 0.30.11 pathe: 1.1.2 - '@vitest/spy@2.0.5': + '@vitest/spy@2.1.2': dependencies: - tinyspy: 3.0.0 + tinyspy: 3.0.2 - '@vitest/utils@2.0.5': + '@vitest/utils@2.1.2': dependencies: - '@vitest/pretty-format': 2.0.5 - estree-walker: 3.0.3 + '@vitest/pretty-format': 2.1.2 loupe: 3.1.1 tinyrainbow: 1.2.0 - '@volar/language-core@2.4.0-alpha.18': + '@volar/language-core@2.4.5': dependencies: - '@volar/source-map': 2.4.0-alpha.18 + '@volar/source-map': 2.4.5 - '@volar/source-map@2.4.0-alpha.18': {} + '@volar/source-map@2.4.5': {} - '@volar/typescript@2.4.0-alpha.18': + '@volar/typescript@2.4.5': dependencies: - '@volar/language-core': 2.4.0-alpha.18 + '@volar/language-core': 2.4.5 path-browserify: 1.0.1 vscode-uri: 3.0.8 - '@vue/compiler-core@3.4.38': + '@vue/compiler-core@3.5.11': dependencies: - '@babel/parser': 7.25.3 - '@vue/shared': 3.4.38 + '@babel/parser': 7.25.7 + '@vue/shared': 3.5.11 entities: 4.5.0 estree-walker: 2.0.2 - source-map-js: 1.2.0 + source-map-js: 1.2.1 - '@vue/compiler-dom@3.4.38': + '@vue/compiler-dom@3.5.11': dependencies: - '@vue/compiler-core': 3.4.38 - '@vue/shared': 3.4.38 + '@vue/compiler-core': 3.5.11 + '@vue/shared': 3.5.11 - '@vue/compiler-sfc@3.4.38': + '@vue/compiler-sfc@3.5.11': dependencies: - '@babel/parser': 7.25.3 - '@vue/compiler-core': 3.4.38 - '@vue/compiler-dom': 3.4.38 - '@vue/compiler-ssr': 3.4.38 - '@vue/shared': 3.4.38 + '@babel/parser': 7.25.7 + '@vue/compiler-core': 3.5.11 + '@vue/compiler-dom': 3.5.11 + '@vue/compiler-ssr': 3.5.11 + '@vue/shared': 3.5.11 estree-walker: 2.0.2 magic-string: 0.30.11 - postcss: 8.4.41 - source-map-js: 1.2.0 + postcss: 8.4.47 + source-map-js: 1.2.1 - '@vue/compiler-ssr@3.4.38': + '@vue/compiler-ssr@3.5.11': dependencies: - '@vue/compiler-dom': 3.4.38 - '@vue/shared': 3.4.38 + '@vue/compiler-dom': 3.5.11 + '@vue/shared': 3.5.11 '@vue/compiler-vue2@2.7.16': dependencies: de-indent: 1.0.2 he: 1.2.0 - '@vue/devtools-api@6.6.3': {} + '@vue/devtools-api@6.6.4': {} - '@vue/language-core@2.0.29(typescript@5.5.4)': + '@vue/language-core@2.1.6(typescript@5.6.2)': dependencies: - '@volar/language-core': 2.4.0-alpha.18 - '@vue/compiler-dom': 3.4.38 + '@volar/language-core': 2.4.5 + '@vue/compiler-dom': 3.5.11 '@vue/compiler-vue2': 2.7.16 - '@vue/shared': 3.4.38 + '@vue/shared': 3.5.11 computeds: 0.0.1 minimatch: 9.0.5 muggle-string: 0.4.1 path-browserify: 1.0.1 optionalDependencies: - typescript: 5.5.4 + typescript: 5.6.2 - '@vue/reactivity@3.4.38': + '@vue/reactivity@3.5.11': dependencies: - '@vue/shared': 3.4.38 + '@vue/shared': 3.5.11 - '@vue/runtime-core@3.4.38': + '@vue/runtime-core@3.5.11': dependencies: - '@vue/reactivity': 3.4.38 - '@vue/shared': 3.4.38 + '@vue/reactivity': 3.5.11 + '@vue/shared': 3.5.11 - '@vue/runtime-dom@3.4.38': + '@vue/runtime-dom@3.5.11': dependencies: - '@vue/reactivity': 3.4.38 - '@vue/runtime-core': 3.4.38 - '@vue/shared': 3.4.38 + '@vue/reactivity': 3.5.11 + '@vue/runtime-core': 3.5.11 + '@vue/shared': 3.5.11 csstype: 3.1.3 - '@vue/server-renderer@3.4.38(vue@3.4.38(typescript@5.5.4))': + '@vue/server-renderer@3.5.11(vue@3.5.11(typescript@5.6.2))': dependencies: - '@vue/compiler-ssr': 3.4.38 - '@vue/shared': 3.4.38 - vue: 3.4.38(typescript@5.5.4) + '@vue/compiler-ssr': 3.5.11 + '@vue/shared': 3.5.11 + vue: 3.5.11(typescript@5.6.2) - '@vue/shared@3.4.38': {} + '@vue/shared@3.5.11': {} '@vue/test-utils@2.4.6': dependencies: js-beautify: 1.15.1 vue-component-type-helpers: 2.0.29 - '@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4))': + '@vueuse/core@11.1.0(vue@3.5.11(typescript@5.6.2))': dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 11.1.0 - '@vueuse/shared': 11.1.0(vue@3.4.38(typescript@5.5.4)) - vue-demi: 0.14.10(vue@3.4.38(typescript@5.5.4)) + '@vueuse/shared': 11.1.0(vue@3.5.11(typescript@5.6.2)) + vue-demi: 0.14.10(vue@3.5.11(typescript@5.6.2)) transitivePeerDependencies: - '@vue/composition-api' - vue '@vueuse/metadata@11.1.0': {} - '@vueuse/shared@11.1.0(vue@3.4.38(typescript@5.5.4))': + '@vueuse/shared@11.1.0(vue@3.5.11(typescript@5.6.2))': dependencies: - vue-demi: 0.14.10(vue@3.4.38(typescript@5.5.4)) + vue-demi: 0.14.10(vue@3.5.11(typescript@5.6.2)) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -3774,7 +3890,7 @@ snapshots: agent-base@7.1.1: dependencies: - debug: 4.3.6 + debug: 4.3.7 transitivePeerDependencies: - supports-color @@ -3787,7 +3903,7 @@ snapshots: ansi-regex@5.0.1: {} - ansi-regex@6.0.1: {} + ansi-regex@6.1.0: {} ansi-styles@3.2.1: dependencies: @@ -3848,12 +3964,12 @@ snapshots: node-releases: 2.0.18 update-browserslist-db: 1.1.0(browserslist@4.23.2) - browserslist@4.23.3: + browserslist@4.24.0: dependencies: - caniuse-lite: 1.0.30001651 - electron-to-chromium: 1.5.8 + caniuse-lite: 1.0.30001667 + electron-to-chromium: 1.5.32 node-releases: 2.0.18 - update-browserslist-db: 1.1.0(browserslist@4.23.3) + update-browserslist-db: 1.1.1(browserslist@4.24.0) builtin-modules@3.3.0: {} @@ -3863,7 +3979,9 @@ snapshots: caniuse-lite@1.0.30001644: {} - caniuse-lite@1.0.30001651: {} + caniuse-lite@1.0.30001667: {} + + ccount@2.0.1: {} chai@5.1.1: dependencies: @@ -3888,11 +4006,7 @@ snapshots: char-regex@1.0.2: {} - character-entities-legacy@1.1.4: {} - - character-entities@1.2.4: {} - - character-reference-invalid@1.1.4: {} + character-entities@2.0.2: {} check-error@2.1.1: {} @@ -3955,9 +4069,9 @@ snapshots: convert-source-map@2.0.0: {} - core-js-compat@3.38.0: + core-js-compat@3.38.1: dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 cross-spawn@7.0.3: dependencies: @@ -3997,9 +4111,9 @@ snapshots: dependencies: css-tree: 2.2.1 - cssstyle@4.0.1: + cssstyle@4.1.0: dependencies: - rrweb-cssom: 0.6.0 + rrweb-cssom: 0.7.1 csstype@3.1.3: {} @@ -4008,7 +4122,7 @@ snapshots: whatwg-mimetype: 4.0.0 whatwg-url: 14.0.0 - dayjs@1.11.12: {} + dayjs@1.11.13: {} de-indent@1.0.2: {} @@ -4020,8 +4134,16 @@ snapshots: dependencies: ms: 2.1.2 + debug@4.3.7: + dependencies: + ms: 2.1.3 + decimal.js@10.4.3: {} + decode-named-character-reference@1.0.2: + dependencies: + character-entities: 2.0.2 + decode-uri-component@0.2.2: {} deep-eql@5.0.2: {} @@ -4030,6 +4152,12 @@ snapshots: delayed-stream@1.0.0: {} + dequal@2.0.3: {} + + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + dir-glob@3.0.1: dependencies: path-type: 4.0.0 @@ -4067,7 +4195,7 @@ snapshots: electron-to-chromium@1.5.3: {} - electron-to-chromium@1.5.8: {} + electron-to-chromium@1.5.32: {} emoji-regex@8.0.0: {} @@ -4116,10 +4244,14 @@ snapshots: escalade@3.1.2: {} + escalade@3.2.0: {} + escape-string-regexp@1.0.5: {} escape-string-regexp@4.0.0: {} + escape-string-regexp@5.0.0: {} + escodegen@2.1.0: dependencies: esprima: 4.0.1 @@ -4128,165 +4260,157 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-compat-utils@0.5.1(eslint@9.9.0(jiti@1.21.6)): + eslint-compat-utils@0.5.1(eslint@9.12.0(jiti@1.21.6)): dependencies: - eslint: 9.9.0(jiti@1.21.6) + eslint: 9.12.0(jiti@1.21.6) semver: 7.6.3 - eslint-config-flat-gitignore@0.3.0(eslint@9.9.0(jiti@1.21.6)): + eslint-config-flat-gitignore@0.3.0(eslint@9.12.0(jiti@1.21.6)): dependencies: - '@eslint/compat': 1.1.1 - eslint: 9.9.0(jiti@1.21.6) + '@eslint/compat': 1.2.0(eslint@9.12.0(jiti@1.21.6)) + eslint: 9.12.0(jiti@1.21.6) find-up-simple: 1.0.0 - eslint-flat-config-utils@0.3.1: + eslint-flat-config-utils@0.4.0: dependencies: - '@types/eslint': 9.6.0 pathe: 1.1.2 eslint-import-resolver-node@0.3.9: dependencies: debug: 3.2.7 - is-core-module: 2.15.0 + is-core-module: 2.15.1 resolve: 1.22.8 transitivePeerDependencies: - supports-color - eslint-merge-processors@0.1.0(eslint@9.9.0(jiti@1.21.6)): + eslint-merge-processors@0.1.0(eslint@9.12.0(jiti@1.21.6)): dependencies: - eslint: 9.9.0(jiti@1.21.6) + eslint: 9.12.0(jiti@1.21.6) - eslint-plugin-antfu@2.5.0(eslint@9.9.0(jiti@1.21.6)): + eslint-plugin-antfu@2.7.0(eslint@9.12.0(jiti@1.21.6)): dependencies: '@antfu/utils': 0.7.10 - eslint: 9.9.0(jiti@1.21.6) + eslint: 9.12.0(jiti@1.21.6) - eslint-plugin-command@0.2.3(eslint@9.9.0(jiti@1.21.6)): + eslint-plugin-command@0.2.6(eslint@9.12.0(jiti@1.21.6)): dependencies: - '@es-joy/jsdoccomment': 0.43.1 - eslint: 9.9.0(jiti@1.21.6) + '@es-joy/jsdoccomment': 0.48.0 + eslint: 9.12.0(jiti@1.21.6) - eslint-plugin-es-x@7.8.0(eslint@9.9.0(jiti@1.21.6)): + eslint-plugin-es-x@7.8.0(eslint@9.12.0(jiti@1.21.6)): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) - '@eslint-community/regexpp': 4.11.0 - eslint: 9.9.0(jiti@1.21.6) - eslint-compat-utils: 0.5.1(eslint@9.9.0(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0(jiti@1.21.6)) + '@eslint-community/regexpp': 4.11.1 + eslint: 9.12.0(jiti@1.21.6) + eslint-compat-utils: 0.5.1(eslint@9.12.0(jiti@1.21.6)) - eslint-plugin-import-x@4.2.1(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4): + eslint-plugin-import-x@4.3.1(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2): dependencies: - '@typescript-eslint/utils': 8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) - debug: 4.3.6 + '@typescript-eslint/utils': 8.8.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2) + debug: 4.3.7 doctrine: 3.0.0 - eslint: 9.9.0(jiti@1.21.6) + eslint: 9.12.0(jiti@1.21.6) eslint-import-resolver-node: 0.3.9 - get-tsconfig: 4.7.6 + get-tsconfig: 4.8.1 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 stable-hash: 0.0.4 - tslib: 2.6.3 + tslib: 2.7.0 transitivePeerDependencies: - supports-color - typescript - eslint-plugin-jsdoc@50.2.2(eslint@9.9.0(jiti@1.21.6)): + eslint-plugin-jsdoc@50.3.1(eslint@9.12.0(jiti@1.21.6)): dependencies: '@es-joy/jsdoccomment': 0.48.0 are-docs-informative: 0.0.2 comment-parser: 1.4.1 - debug: 4.3.6 + debug: 4.3.7 escape-string-regexp: 4.0.0 - eslint: 9.9.0(jiti@1.21.6) - espree: 10.1.0 + eslint: 9.12.0(jiti@1.21.6) + espree: 10.2.0 esquery: 1.6.0 - parse-imports: 2.1.1 + parse-imports: 2.2.1 semver: 7.6.3 spdx-expression-parse: 4.0.0 synckit: 0.9.1 transitivePeerDependencies: - supports-color - eslint-plugin-jsonc@2.16.0(eslint@9.9.0(jiti@1.21.6)): + eslint-plugin-jsonc@2.16.0(eslint@9.12.0(jiti@1.21.6)): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) - eslint: 9.9.0(jiti@1.21.6) - eslint-compat-utils: 0.5.1(eslint@9.9.0(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0(jiti@1.21.6)) + eslint: 9.12.0(jiti@1.21.6) + eslint-compat-utils: 0.5.1(eslint@9.12.0(jiti@1.21.6)) espree: 9.6.1 graphemer: 1.4.0 jsonc-eslint-parser: 2.4.0 natural-compare: 1.4.0 synckit: 0.6.2 - eslint-plugin-markdown@5.1.0(eslint@9.9.0(jiti@1.21.6)): + eslint-plugin-n@17.10.3(eslint@9.12.0(jiti@1.21.6)): dependencies: - eslint: 9.9.0(jiti@1.21.6) - mdast-util-from-markdown: 0.8.5 - transitivePeerDependencies: - - supports-color - - eslint-plugin-n@17.10.2(eslint@9.9.0(jiti@1.21.6)): - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0(jiti@1.21.6)) enhanced-resolve: 5.17.1 - eslint: 9.9.0(jiti@1.21.6) - eslint-plugin-es-x: 7.8.0(eslint@9.9.0(jiti@1.21.6)) - get-tsconfig: 4.7.6 - globals: 15.9.0 + eslint: 9.12.0(jiti@1.21.6) + eslint-plugin-es-x: 7.8.0(eslint@9.12.0(jiti@1.21.6)) + get-tsconfig: 4.8.1 + globals: 15.10.0 ignore: 5.3.2 minimatch: 9.0.5 semver: 7.6.3 eslint-plugin-no-only-tests@3.3.0: {} - eslint-plugin-perfectionist@3.4.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)(vue-eslint-parser@9.4.3(eslint@9.9.0(jiti@1.21.6))): + eslint-plugin-perfectionist@3.8.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2)(vue-eslint-parser@9.4.3(eslint@9.12.0(jiti@1.21.6))): dependencies: - '@typescript-eslint/types': 8.4.0 - '@typescript-eslint/utils': 8.4.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) - eslint: 9.9.0(jiti@1.21.6) + '@typescript-eslint/types': 8.8.0 + '@typescript-eslint/utils': 8.8.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2) + eslint: 9.12.0(jiti@1.21.6) minimatch: 9.0.5 natural-compare-lite: 1.4.0 optionalDependencies: - vue-eslint-parser: 9.4.3(eslint@9.9.0(jiti@1.21.6)) + vue-eslint-parser: 9.4.3(eslint@9.12.0(jiti@1.21.6)) transitivePeerDependencies: - supports-color - typescript - eslint-plugin-promise@7.1.0(eslint@9.9.0(jiti@1.21.6)): + eslint-plugin-promise@7.1.0(eslint@9.12.0(jiti@1.21.6)): dependencies: - eslint: 9.9.0(jiti@1.21.6) + eslint: 9.12.0(jiti@1.21.6) - eslint-plugin-regexp@2.6.0(eslint@9.9.0(jiti@1.21.6)): + eslint-plugin-regexp@2.6.0(eslint@9.12.0(jiti@1.21.6)): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) - '@eslint-community/regexpp': 4.11.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0(jiti@1.21.6)) + '@eslint-community/regexpp': 4.11.1 comment-parser: 1.4.1 - eslint: 9.9.0(jiti@1.21.6) + eslint: 9.12.0(jiti@1.21.6) jsdoc-type-pratt-parser: 4.1.0 refa: 0.12.1 regexp-ast-analysis: 0.7.1 scslre: 0.3.0 - eslint-plugin-toml@0.11.1(eslint@9.9.0(jiti@1.21.6)): + eslint-plugin-toml@0.11.1(eslint@9.12.0(jiti@1.21.6)): dependencies: - debug: 4.3.6 - eslint: 9.9.0(jiti@1.21.6) - eslint-compat-utils: 0.5.1(eslint@9.9.0(jiti@1.21.6)) + debug: 4.3.7 + eslint: 9.12.0(jiti@1.21.6) + eslint-compat-utils: 0.5.1(eslint@9.12.0(jiti@1.21.6)) lodash: 4.17.21 toml-eslint-parser: 0.10.0 transitivePeerDependencies: - supports-color - eslint-plugin-unicorn@55.0.0(eslint@9.9.0(jiti@1.21.6)): + eslint-plugin-unicorn@55.0.0(eslint@9.12.0(jiti@1.21.6)): dependencies: - '@babel/helper-validator-identifier': 7.24.7 - '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) + '@babel/helper-validator-identifier': 7.25.7 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0(jiti@1.21.6)) ci-info: 4.0.0 clean-regexp: 1.0.0 - core-js-compat: 3.38.0 - eslint: 9.9.0(jiti@1.21.6) + core-js-compat: 3.38.1 + eslint: 9.12.0(jiti@1.21.6) esquery: 1.6.0 - globals: 15.9.0 + globals: 15.10.0 indent-string: 4.0.0 is-builtin-module: 3.2.1 jsesc: 3.0.2 @@ -4297,89 +4421,93 @@ snapshots: semver: 7.6.3 strip-indent: 3.0.0 - eslint-plugin-unused-imports@4.1.3(@typescript-eslint/eslint-plugin@8.4.0(@typescript-eslint/parser@8.4.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6)): + eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.8.0(@typescript-eslint/parser@8.8.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.12.0(jiti@1.21.6)): dependencies: - eslint: 9.9.0(jiti@1.21.6) + eslint: 9.12.0(jiti@1.21.6) optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.4.0(@typescript-eslint/parser@8.4.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + '@typescript-eslint/eslint-plugin': 8.8.0(@typescript-eslint/parser@8.8.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.12.0(jiti@1.21.6))(typescript@5.6.2) - eslint-plugin-vue-scoped-css@2.8.1(eslint@9.9.0(jiti@1.21.6))(vue-eslint-parser@9.4.3(eslint@9.9.0(jiti@1.21.6))): + eslint-plugin-vue-scoped-css@2.8.1(eslint@9.12.0(jiti@1.21.6))(vue-eslint-parser@9.4.3(eslint@9.12.0(jiti@1.21.6))): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) - eslint: 9.9.0(jiti@1.21.6) - eslint-compat-utils: 0.5.1(eslint@9.9.0(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0(jiti@1.21.6)) + eslint: 9.12.0(jiti@1.21.6) + eslint-compat-utils: 0.5.1(eslint@9.12.0(jiti@1.21.6)) lodash: 4.17.21 postcss: 8.4.40 postcss-safe-parser: 6.0.0(postcss@8.4.40) postcss-scss: 4.0.9(postcss@8.4.40) postcss-selector-parser: 6.1.1 postcss-styl: 0.12.3 - vue-eslint-parser: 9.4.3(eslint@9.9.0(jiti@1.21.6)) + vue-eslint-parser: 9.4.3(eslint@9.12.0(jiti@1.21.6)) transitivePeerDependencies: - supports-color - eslint-plugin-vue@9.28.0(eslint@9.9.0(jiti@1.21.6)): + eslint-plugin-vue@9.28.0(eslint@9.12.0(jiti@1.21.6)): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) - eslint: 9.9.0(jiti@1.21.6) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0(jiti@1.21.6)) + eslint: 9.12.0(jiti@1.21.6) globals: 13.24.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.1.2 semver: 7.6.3 - vue-eslint-parser: 9.4.3(eslint@9.9.0(jiti@1.21.6)) + vue-eslint-parser: 9.4.3(eslint@9.12.0(jiti@1.21.6)) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color - eslint-plugin-yml@1.14.0(eslint@9.9.0(jiti@1.21.6)): + eslint-plugin-yml@1.14.0(eslint@9.12.0(jiti@1.21.6)): dependencies: - debug: 4.3.6 - eslint: 9.9.0(jiti@1.21.6) - eslint-compat-utils: 0.5.1(eslint@9.9.0(jiti@1.21.6)) + debug: 4.3.7 + eslint: 9.12.0(jiti@1.21.6) + eslint-compat-utils: 0.5.1(eslint@9.12.0(jiti@1.21.6)) lodash: 4.17.21 natural-compare: 1.4.0 yaml-eslint-parser: 1.2.3 transitivePeerDependencies: - supports-color - eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.4.38)(eslint@9.9.0(jiti@1.21.6)): + eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.5.11)(eslint@9.12.0(jiti@1.21.6)): dependencies: - '@vue/compiler-sfc': 3.4.38 - eslint: 9.9.0(jiti@1.21.6) + '@vue/compiler-sfc': 3.5.11 + eslint: 9.12.0(jiti@1.21.6) eslint-scope@7.2.2: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 - eslint-scope@8.0.2: + eslint-scope@8.1.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 eslint-visitor-keys@3.4.3: {} - eslint-visitor-keys@4.0.0: {} + eslint-visitor-keys@4.1.0: {} - eslint@9.9.0(jiti@1.21.6): + eslint@9.12.0(jiti@1.21.6): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) - '@eslint-community/regexpp': 4.11.0 - '@eslint/config-array': 0.17.1 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0(jiti@1.21.6)) + '@eslint-community/regexpp': 4.11.1 + '@eslint/config-array': 0.18.0 + '@eslint/core': 0.6.0 '@eslint/eslintrc': 3.1.0 - '@eslint/js': 9.9.0 + '@eslint/js': 9.12.0 + '@eslint/plugin-kit': 0.2.0 + '@humanfs/node': 0.16.5 '@humanwhocodes/module-importer': 1.0.1 - '@humanwhocodes/retry': 0.3.0 - '@nodelib/fs.walk': 1.2.8 + '@humanwhocodes/retry': 0.3.1 + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.6 + debug: 4.3.7 escape-string-regexp: 4.0.0 - eslint-scope: 8.0.2 - eslint-visitor-keys: 4.0.0 - espree: 10.1.0 + eslint-scope: 8.1.0 + eslint-visitor-keys: 4.1.0 + espree: 10.2.0 esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -4389,25 +4517,22 @@ snapshots: ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 - is-path-inside: 3.0.3 json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.4 - strip-ansi: 6.0.1 text-table: 0.2.0 optionalDependencies: jiti: 1.21.6 transitivePeerDependencies: - supports-color - espree@10.1.0: + espree@10.2.0: dependencies: acorn: 8.12.1 acorn-jsx: 5.3.2(acorn@8.12.1) - eslint-visitor-keys: 4.0.0 + eslint-visitor-keys: 4.1.0 espree@9.6.1: dependencies: @@ -4435,18 +4560,6 @@ snapshots: esutils@2.0.3: {} - execa@8.0.1: - dependencies: - cross-spawn: 7.0.3 - get-stream: 8.0.1 - human-signals: 5.0.0 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.3.0 - onetime: 6.0.0 - signal-exit: 4.1.0 - strip-final-newline: 3.0.0 - fast-deep-equal@3.1.3: {} fast-diff@1.3.0: {} @@ -4494,7 +4607,7 @@ snapshots: flatted@3.3.1: {} - foreground-child@3.2.1: + foreground-child@3.3.0: dependencies: cross-spawn: 7.0.3 signal-exit: 4.1.0 @@ -4520,9 +4633,7 @@ snapshots: get-func-name@2.0.2: {} - get-stream@8.0.1: {} - - get-tsconfig@4.7.6: + get-tsconfig@4.8.1: dependencies: resolve-pkg-maps: 1.0.0 @@ -4536,11 +4647,11 @@ snapshots: glob@10.4.5: dependencies: - foreground-child: 3.2.1 + foreground-child: 3.3.0 jackspeak: 3.4.3 minimatch: 9.0.5 minipass: 7.1.2 - package-json-from-dist: 1.0.0 + package-json-from-dist: 1.0.1 path-scurry: 1.11.1 glob@7.2.3: @@ -4560,9 +4671,9 @@ snapshots: globals@14.0.0: {} - globals@15.8.0: {} + globals@15.10.0: {} - globals@15.9.0: {} + globals@15.8.0: {} globby@11.1.0: dependencies: @@ -4596,19 +4707,17 @@ snapshots: http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.1 - debug: 4.3.6 + debug: 4.3.7 transitivePeerDependencies: - supports-color https-proxy-agent@7.0.5: dependencies: agent-base: 7.1.1 - debug: 4.3.6 + debug: 4.3.7 transitivePeerDependencies: - supports-color - human-signals@5.0.0: {} - iconv-lite@0.6.3: dependencies: safer-buffer: 2.1.2 @@ -4635,13 +4744,6 @@ snapshots: ini@1.3.8: {} - is-alphabetical@1.0.4: {} - - is-alphanumerical@1.0.4: - dependencies: - is-alphabetical: 1.0.4 - is-decimal: 1.0.4 - is-arrayish@0.2.1: {} is-binary-path@2.1.0: @@ -4652,12 +4754,10 @@ snapshots: dependencies: builtin-modules: 3.3.0 - is-core-module@2.15.0: + is-core-module@2.15.1: dependencies: hasown: 2.0.2 - is-decimal@1.0.4: {} - is-extglob@2.1.1: {} is-fullwidth-code-point@3.0.0: {} @@ -4666,20 +4766,14 @@ snapshots: dependencies: is-extglob: 2.1.1 - is-hexadecimal@1.0.4: {} - is-language-code@3.1.0: dependencies: '@babel/runtime': 7.25.0 is-number@7.0.0: {} - is-path-inside@3.0.3: {} - is-potential-custom-element-name@1.0.1: {} - is-stream@3.0.0: {} - isexe@2.0.0: {} jackspeak@3.4.3: @@ -4708,13 +4802,11 @@ snapshots: dependencies: argparse: 2.0.1 - jsdoc-type-pratt-parser@4.0.0: {} - jsdoc-type-pratt-parser@4.1.0: {} - jsdom@25.0.0: + jsdom@25.0.1: dependencies: - cssstyle: 4.0.1 + cssstyle: 4.1.0 data-urls: 5.0.0 decimal.js: 10.4.3 form-data: 4.0.0 @@ -4722,12 +4814,12 @@ snapshots: http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.5 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.12 + nwsapi: 2.2.13 parse5: 7.1.2 rrweb-cssom: 0.7.1 saxes: 6.0.0 symbol-tree: 3.2.4 - tough-cookie: 4.1.4 + tough-cookie: 5.0.0 w3c-xmlserializer: 5.0.0 webidl-conversions: 7.0.0 whatwg-encoding: 3.1.1 @@ -4779,7 +4871,7 @@ snapshots: local-pkg@0.5.0: dependencies: mlly: 1.7.1 - pkg-types: 1.1.3 + pkg-types: 1.2.0 locate-path@5.0.0: dependencies: @@ -4795,6 +4887,8 @@ snapshots: lodash@4.17.21: {} + longest-streak@3.1.0: {} + loupe@3.1.1: dependencies: get-func-name: 2.0.2 @@ -4809,30 +4903,303 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 - mdast-util-from-markdown@0.8.5: + markdown-table@3.0.3: {} + + mdast-util-find-and-replace@3.0.1: dependencies: - '@types/mdast': 3.0.15 - mdast-util-to-string: 2.0.0 - micromark: 2.11.4 - parse-entities: 2.0.0 - unist-util-stringify-position: 2.0.3 + '@types/mdast': 4.0.4 + escape-string-regexp: 5.0.0 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + mdast-util-from-markdown@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-decode-string: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-stringify-position: 4.0.0 transitivePeerDependencies: - supports-color - mdast-util-to-string@2.0.0: {} + mdast-util-gfm-autolink-literal@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.1 + micromark-util-character: 2.1.0 + + mdast-util-gfm-footnote@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + micromark-util-normalize-identifier: 2.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-strikethrough@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-table@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + markdown-table: 3.0.3 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-task-list-item@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm@3.0.0: + dependencies: + mdast-util-from-markdown: 2.0.1 + mdast-util-gfm-autolink-literal: 2.0.1 + mdast-util-gfm-footnote: 2.0.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-phrasing@4.1.0: + dependencies: + '@types/mdast': 4.0.4 + unist-util-is: 6.0.0 + + mdast-util-to-markdown@2.1.0: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-decode-string: 2.0.0 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 + + mdast-util-to-string@4.0.0: + dependencies: + '@types/mdast': 4.0.4 mdn-data@2.0.28: {} mdn-data@2.0.30: {} - merge-stream@2.0.0: {} - merge2@1.4.1: {} - micromark@2.11.4: + micromark-core-commonmark@2.0.1: dependencies: - debug: 4.3.6 - parse-entities: 2.0.0 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-factory-destination: 2.0.0 + micromark-factory-label: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-factory-title: 2.0.0 + micromark-factory-whitespace: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-html-tag-name: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-subtokenize: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-autolink-literal@2.1.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-footnote@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-core-commonmark: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-strikethrough@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-table@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-tagfilter@2.0.0: + dependencies: + micromark-util-types: 2.0.0 + + micromark-extension-gfm-task-list-item@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm@3.0.0: + dependencies: + micromark-extension-gfm-autolink-literal: 2.1.0 + micromark-extension-gfm-footnote: 2.1.0 + micromark-extension-gfm-strikethrough: 2.1.0 + micromark-extension-gfm-table: 2.1.0 + micromark-extension-gfm-tagfilter: 2.0.0 + micromark-extension-gfm-task-list-item: 2.1.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-destination@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-label@2.0.0: + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-space@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-types: 2.0.0 + + micromark-factory-title@2.0.0: + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-whitespace@2.0.0: + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-character@2.1.0: + dependencies: + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-chunked@2.0.0: + dependencies: + micromark-util-symbol: 2.0.0 + + micromark-util-classify-character@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-combine-extensions@2.0.0: + dependencies: + micromark-util-chunked: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-decode-numeric-character-reference@2.0.1: + dependencies: + micromark-util-symbol: 2.0.0 + + micromark-util-decode-string@2.0.0: + dependencies: + decode-named-character-reference: 1.0.2 + micromark-util-character: 2.1.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-symbol: 2.0.0 + + micromark-util-encode@2.0.0: {} + + micromark-util-html-tag-name@2.0.0: {} + + micromark-util-normalize-identifier@2.0.0: + dependencies: + micromark-util-symbol: 2.0.0 + + micromark-util-resolve-all@2.0.0: + dependencies: + micromark-util-types: 2.0.0 + + micromark-util-sanitize-uri@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-encode: 2.0.0 + micromark-util-symbol: 2.0.0 + + micromark-util-subtokenize@2.0.1: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-symbol@2.0.0: {} + + micromark-util-types@2.0.0: {} + + micromark@4.0.0: + dependencies: + '@types/debug': 4.1.12 + debug: 4.3.7 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-encode: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-subtokenize: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 transitivePeerDependencies: - supports-color @@ -4847,8 +5214,6 @@ snapshots: dependencies: mime-db: 1.52.0 - mimic-fn@4.0.0: {} - min-indent@1.0.1: {} minimatch@3.1.2: @@ -4906,24 +5271,16 @@ snapshots: normalize-path@3.0.0: {} - npm-run-path@5.3.0: - dependencies: - path-key: 4.0.0 - nth-check@2.1.1: dependencies: boolbase: 1.0.0 - nwsapi@2.2.12: {} + nwsapi@2.2.13: {} once@1.4.0: dependencies: wrappy: 1.0.2 - onetime@6.0.0: - dependencies: - mimic-fn: 4.0.0 - optionator@0.9.4: dependencies: deep-is: 0.1.4 @@ -4951,7 +5308,7 @@ snapshots: p-try@2.2.0: {} - package-json-from-dist@1.0.0: {} + package-json-from-dist@1.0.1: {} package-manager-detector@0.2.0: {} @@ -4959,25 +5316,16 @@ snapshots: dependencies: callsites: 3.1.0 - parse-entities@2.0.0: - dependencies: - character-entities: 1.2.4 - character-entities-legacy: 1.1.4 - character-reference-invalid: 1.1.4 - is-alphanumerical: 1.0.4 - is-decimal: 1.0.4 - is-hexadecimal: 1.0.4 - parse-gitignore@2.0.0: {} - parse-imports@2.1.1: + parse-imports@2.2.1: dependencies: es-module-lexer: 1.5.4 slashes: 3.0.12 parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.24.7 + '@babel/code-frame': 7.25.7 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -4994,8 +5342,6 @@ snapshots: path-key@3.1.1: {} - path-key@4.0.0: {} - path-parse@1.0.7: {} path-scurry@1.11.1: @@ -5017,13 +5363,13 @@ snapshots: picomatch@4.0.2: {} - pinia@2.2.1(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)): + pinia@2.2.4(typescript@5.6.2)(vue@3.5.11(typescript@5.6.2)): dependencies: - '@vue/devtools-api': 6.6.3 - vue: 3.4.38(typescript@5.5.4) - vue-demi: 0.14.10(vue@3.4.38(typescript@5.5.4)) + '@vue/devtools-api': 6.6.4 + vue: 3.5.11(typescript@5.6.2) + vue-demi: 0.14.10(vue@3.5.11(typescript@5.6.2)) optionalDependencies: - typescript: 5.5.4 + typescript: 5.6.2 pkg-types@1.1.3: dependencies: @@ -5031,6 +5377,12 @@ snapshots: mlly: 1.7.1 pathe: 1.1.2 + pkg-types@1.2.0: + dependencies: + confbox: 0.1.7 + mlly: 1.7.1 + pathe: 1.1.2 + pluralize@8.0.0: {} postcss-safe-parser@6.0.0(postcss@8.4.40): @@ -5053,7 +5405,7 @@ snapshots: postcss-styl@0.12.3: dependencies: - debug: 4.3.6 + debug: 4.3.7 fast-diff: 1.3.0 lodash.sortedlastindex: 4.1.0 postcss: 8.4.40 @@ -5065,13 +5417,7 @@ snapshots: dependencies: nanoid: 3.3.7 picocolors: 1.0.1 - source-map-js: 1.2.0 - - postcss@8.4.41: - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.1 - source-map-js: 1.2.0 + source-map-js: 1.2.1 postcss@8.4.47: dependencies: @@ -5087,12 +5433,8 @@ snapshots: proto-list@1.2.4: {} - psl@1.9.0: {} - punycode@2.3.1: {} - querystringify@2.2.0: {} - queue-microtask@1.2.3: {} read-pkg-up@7.0.1: @@ -5114,13 +5456,13 @@ snapshots: refa@0.12.1: dependencies: - '@eslint-community/regexpp': 4.11.0 + '@eslint-community/regexpp': 4.11.1 regenerator-runtime@0.14.1: {} regexp-ast-analysis@0.7.1: dependencies: - '@eslint-community/regexpp': 4.11.0 + '@eslint-community/regexpp': 4.11.1 refa: 0.12.1 regexp-tree@0.1.27: {} @@ -5129,7 +5471,7 @@ snapshots: dependencies: jsesc: 0.5.0 - replace-in-file@8.1.0: + replace-in-file@8.2.0: dependencies: chalk: 5.3.0 glob: 10.4.5 @@ -5137,15 +5479,13 @@ snapshots: require-directory@2.1.1: {} - requires-port@1.0.0: {} - resolve-from@4.0.0: {} resolve-pkg-maps@1.0.0: {} resolve@1.22.8: dependencies: - is-core-module: 2.15.0 + is-core-module: 2.15.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -5173,8 +5513,6 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.24.0 fsevents: 2.3.3 - rrweb-cssom@0.6.0: {} - rrweb-cssom@0.7.1: {} run-parallel@1.2.0: @@ -5191,7 +5529,7 @@ snapshots: scslre@0.3.0: dependencies: - '@eslint-community/regexpp': 4.11.0 + '@eslint-community/regexpp': 4.11.1 refa: 0.12.1 regexp-ast-analysis: 0.7.1 @@ -5207,7 +5545,7 @@ snapshots: signal-exit@4.1.0: {} - simple-icons@13.5.0: {} + simple-icons@13.12.0: {} sisteransi@1.0.5: {} @@ -5219,8 +5557,6 @@ snapshots: slashes@3.0.12: {} - source-map-js@1.2.0: {} - source-map-js@1.2.1: {} source-map-resolve@0.6.0: @@ -5235,21 +5571,21 @@ snapshots: spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.18 + spdx-license-ids: 3.0.20 spdx-exceptions@2.5.0: {} spdx-expression-parse@3.0.1: dependencies: spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.18 + spdx-license-ids: 3.0.20 spdx-expression-parse@4.0.0: dependencies: spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.18 + spdx-license-ids: 3.0.20 - spdx-license-ids@3.0.18: {} + spdx-license-ids@3.0.20: {} stable-hash@0.0.4: {} @@ -5275,9 +5611,7 @@ snapshots: strip-ansi@7.1.0: dependencies: - ansi-regex: 6.0.1 - - strip-final-newline@3.0.0: {} + ansi-regex: 6.1.0 strip-indent@3.0.0: dependencies: @@ -5288,7 +5622,7 @@ snapshots: stylus@0.57.0: dependencies: css: 3.0.0 - debug: 4.3.6 + debug: 4.3.7 glob: 7.2.3 safer-buffer: 2.1.2 sax: 1.2.4 @@ -5320,7 +5654,7 @@ snapshots: synckit@0.6.2: dependencies: - tslib: 2.6.3 + tslib: 2.7.0 synckit@0.9.1: dependencies: @@ -5337,11 +5671,17 @@ snapshots: tinyexec@0.3.0: {} - tinypool@1.0.0: {} + tinypool@1.0.1: {} tinyrainbow@1.2.0: {} - tinyspy@3.0.0: {} + tinyspy@3.0.2: {} + + tldts-core@6.1.50: {} + + tldts@6.1.50: + dependencies: + tldts-core: 6.1.50 to-fast-properties@2.0.0: {} @@ -5353,23 +5693,22 @@ snapshots: dependencies: eslint-visitor-keys: 3.4.3 - tough-cookie@4.1.4: + tough-cookie@5.0.0: dependencies: - psl: 1.9.0 - punycode: 2.3.1 - universalify: 0.2.0 - url-parse: 1.5.10 + tldts: 6.1.50 tr46@5.0.0: dependencies: punycode: 2.3.1 - ts-api-utils@1.3.0(typescript@5.5.4): + ts-api-utils@1.3.0(typescript@5.6.2): dependencies: - typescript: 5.5.4 + typescript: 5.6.2 tslib@2.6.3: {} + tslib@2.7.0: {} + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 @@ -5380,19 +5719,32 @@ snapshots: type-fest@0.8.1: {} - typescript@5.5.4: {} + typescript@5.6.2: {} ufo@1.5.4: {} - undici-types@5.26.5: {} + undici-types@6.19.8: {} unicode-emoji-modifier-base@1.0.0: {} - unist-util-stringify-position@2.0.3: + unist-util-is@6.0.0: dependencies: - '@types/unist': 2.0.11 + '@types/unist': 3.0.3 - universalify@0.2.0: {} + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-visit-parents@6.0.1: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + + unist-util-visit@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 unplugin@1.12.0: dependencies: @@ -5407,21 +5759,16 @@ snapshots: escalade: 3.1.2 picocolors: 1.1.0 - update-browserslist-db@1.1.0(browserslist@4.23.3): + update-browserslist-db@1.1.1(browserslist@4.24.0): dependencies: - browserslist: 4.23.3 - escalade: 3.1.2 + browserslist: 4.24.0 + escalade: 3.2.0 picocolors: 1.1.0 uri-js@4.4.1: dependencies: punycode: 2.3.1 - url-parse@1.5.10: - dependencies: - querystringify: 2.2.0 - requires-port: 1.0.0 - util-deprecate@1.0.2: {} validate-npm-package-license@3.0.4: @@ -5429,13 +5776,12 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - vite-node@2.0.5(@types/node@20.14.15)(stylus@0.57.0): + vite-node@2.1.2(@types/node@20.16.10)(stylus@0.57.0): dependencies: cac: 6.7.14 - debug: 4.3.6 + debug: 4.3.7 pathe: 1.1.2 - tinyrainbow: 1.2.0 - vite: 5.4.6(@types/node@20.14.15)(stylus@0.57.0) + vite: 5.4.8(@types/node@20.16.10)(stylus@0.57.0) transitivePeerDependencies: - '@types/node' - less @@ -5455,58 +5801,59 @@ snapshots: - prismjs - supports-color - vite-plugin-windicss@1.9.3(vite@5.4.6(@types/node@20.14.15)(stylus@0.57.0)): + vite-plugin-windicss@1.9.3(vite@5.4.8(@types/node@20.16.10)(stylus@0.57.0)): dependencies: '@windicss/plugin-utils': 1.9.3 debug: 4.3.6 kolorist: 1.8.0 - vite: 5.4.6(@types/node@20.14.15)(stylus@0.57.0) + vite: 5.4.8(@types/node@20.16.10)(stylus@0.57.0) windicss: 3.5.6 transitivePeerDependencies: - supports-color - vite-svg-loader@5.1.0(vue@3.4.38(typescript@5.5.4)): + vite-svg-loader@5.1.0(vue@3.5.11(typescript@5.6.2)): dependencies: svgo: 3.3.2 - vue: 3.4.38(typescript@5.5.4) + vue: 3.5.11(typescript@5.6.2) - vite@5.4.6(@types/node@20.14.15)(stylus@0.57.0): + vite@5.4.8(@types/node@20.16.10)(stylus@0.57.0): dependencies: esbuild: 0.21.5 postcss: 8.4.47 rollup: 4.24.0 optionalDependencies: - '@types/node': 20.14.15 + '@types/node': 20.16.10 fsevents: 2.3.3 stylus: 0.57.0 - vitest@2.0.5(@types/node@20.14.15)(jsdom@25.0.0)(stylus@0.57.0): + vitest@2.1.2(@types/node@20.16.10)(jsdom@25.0.1)(stylus@0.57.0): dependencies: - '@ampproject/remapping': 2.3.0 - '@vitest/expect': 2.0.5 - '@vitest/pretty-format': 2.0.5 - '@vitest/runner': 2.0.5 - '@vitest/snapshot': 2.0.5 - '@vitest/spy': 2.0.5 - '@vitest/utils': 2.0.5 + '@vitest/expect': 2.1.2 + '@vitest/mocker': 2.1.2(@vitest/spy@2.1.2)(vite@5.4.8(@types/node@20.16.10)(stylus@0.57.0)) + '@vitest/pretty-format': 2.1.2 + '@vitest/runner': 2.1.2 + '@vitest/snapshot': 2.1.2 + '@vitest/spy': 2.1.2 + '@vitest/utils': 2.1.2 chai: 5.1.1 - debug: 4.3.6 - execa: 8.0.1 + debug: 4.3.7 magic-string: 0.30.11 pathe: 1.1.2 std-env: 3.7.0 tinybench: 2.9.0 - tinypool: 1.0.0 + tinyexec: 0.3.0 + tinypool: 1.0.1 tinyrainbow: 1.2.0 - vite: 5.4.6(@types/node@20.14.15)(stylus@0.57.0) - vite-node: 2.0.5(@types/node@20.14.15)(stylus@0.57.0) + vite: 5.4.8(@types/node@20.16.10)(stylus@0.57.0) + vite-node: 2.1.2(@types/node@20.16.10)(stylus@0.57.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 20.14.15 - jsdom: 25.0.0 + '@types/node': 20.16.10 + jsdom: 25.0.1 transitivePeerDependencies: - less - lightningcss + - msw - sass - sass-embedded - stylus @@ -5518,14 +5865,14 @@ snapshots: vue-component-type-helpers@2.0.29: {} - vue-demi@0.14.10(vue@3.4.38(typescript@5.5.4)): + vue-demi@0.14.10(vue@3.5.11(typescript@5.6.2)): dependencies: - vue: 3.4.38(typescript@5.5.4) + vue: 3.5.11(typescript@5.6.2) - vue-eslint-parser@9.4.3(eslint@9.9.0(jiti@1.21.6)): + vue-eslint-parser@9.4.3(eslint@9.12.0(jiti@1.21.6)): dependencies: - debug: 4.3.6 - eslint: 9.9.0(jiti@1.21.6) + debug: 4.3.7 + eslint: 9.12.0(jiti@1.21.6) eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 @@ -5535,34 +5882,34 @@ snapshots: transitivePeerDependencies: - supports-color - vue-i18n@9.13.1(vue@3.4.38(typescript@5.5.4)): + vue-i18n@9.14.1(vue@3.5.11(typescript@5.6.2)): dependencies: - '@intlify/core-base': 9.13.1 - '@intlify/shared': 9.13.1 - '@vue/devtools-api': 6.6.3 - vue: 3.4.38(typescript@5.5.4) + '@intlify/core-base': 9.14.1 + '@intlify/shared': 9.14.1 + '@vue/devtools-api': 6.6.4 + vue: 3.5.11(typescript@5.6.2) - vue-router@4.4.3(vue@3.4.38(typescript@5.5.4)): + vue-router@4.4.5(vue@3.5.11(typescript@5.6.2)): dependencies: - '@vue/devtools-api': 6.6.3 - vue: 3.4.38(typescript@5.5.4) + '@vue/devtools-api': 6.6.4 + vue: 3.5.11(typescript@5.6.2) - vue-tsc@2.0.29(typescript@5.5.4): + vue-tsc@2.1.6(typescript@5.6.2): dependencies: - '@volar/typescript': 2.4.0-alpha.18 - '@vue/language-core': 2.0.29(typescript@5.5.4) + '@volar/typescript': 2.4.5 + '@vue/language-core': 2.1.6(typescript@5.6.2) semver: 7.6.3 - typescript: 5.5.4 + typescript: 5.6.2 - vue@3.4.38(typescript@5.5.4): + vue@3.5.11(typescript@5.6.2): dependencies: - '@vue/compiler-dom': 3.4.38 - '@vue/compiler-sfc': 3.4.38 - '@vue/runtime-dom': 3.4.38 - '@vue/server-renderer': 3.4.38(vue@3.4.38(typescript@5.5.4)) - '@vue/shared': 3.4.38 + '@vue/compiler-dom': 3.5.11 + '@vue/compiler-sfc': 3.5.11 + '@vue/runtime-dom': 3.5.11 + '@vue/server-renderer': 3.5.11(vue@3.5.11(typescript@5.6.2)) + '@vue/shared': 3.5.11 optionalDependencies: - typescript: 5.5.4 + typescript: 5.6.2 w3c-xmlserializer@5.0.0: dependencies: @@ -5628,16 +5975,16 @@ snapshots: dependencies: eslint-visitor-keys: 3.4.3 lodash: 4.17.21 - yaml: 2.5.0 + yaml: 2.5.1 - yaml@2.5.0: {} + yaml@2.5.1: {} yargs-parser@21.1.1: {} yargs@17.7.2: dependencies: cliui: 8.0.1 - escalade: 3.1.2 + escalade: 3.2.0 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 @@ -5645,3 +5992,5 @@ snapshots: yargs-parser: 21.1.1 yocto-queue@0.1.0: {} + + zwitch@2.0.4: {} diff --git a/web/vite.config.ts b/web/vite.config.ts index 783235071..45fe7ba40 100644 --- a/web/vite.config.ts +++ b/web/vite.config.ts @@ -18,7 +18,6 @@ function woodpeckerInfoPlugin(): Plugin { '1) Please add `WOODPECKER_DEV_WWW_PROXY=http://localhost:8010` to your `.env` file.\n' + 'After starting the woodpecker server as well you should now be able to access the UI at http://localhost:8000/\n\n' + '2) If you want to run the vite dev server (`pnpm start`) within a container please set `VITE_DEV_SERVER_HOST=0.0.0.0`.'; - // eslint-disable-next-line no-console console.log(info); }, }; From 856c0bb52776579536ee8e604cc7d2c041fdc229 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 5 Oct 2024 14:56:47 +0100 Subject: [PATCH 214/547] chore(deps): lock file maintenance (#4186) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- docs/pnpm-lock.yaml | 172 ++++++++-------- web/pnpm-lock.yaml | 483 +++++++++++--------------------------------- 2 files changed, 200 insertions(+), 455 deletions(-) diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml index 8f29eb70c..e455e7676 100644 --- a/docs/pnpm-lock.yaml +++ b/docs/pnpm-lock.yaml @@ -21,7 +21,7 @@ importers: version: 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/preset-classic': specifier: ^3.5.2 - version: 3.5.2(@algolia/client-search@4.24.0)(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)(typescript@5.6.2) + version: 3.5.2(@algolia/client-search@4.24.0)(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.2)(typescript@5.6.2) '@easyops-cn/docusaurus-search-local': specifier: ^0.44.5 version: 0.44.5(@docusaurus/theme-common@3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) @@ -1254,91 +1254,91 @@ packages: '@napi-rs/wasm-runtime@0.2.5': resolution: {integrity: sha512-kwUxR7J9WLutBbulqg1dfOrMTwhMdXLdcGUhcbCcGwnPLt3gz19uHVdwH1syKVDbE022ZS2vZxOWflFLS0YTjw==} - '@node-rs/jieba-android-arm-eabi@1.10.3': - resolution: {integrity: sha512-fuqVtaYlUKZg3cqagYFxj1DSa7ZHKXLle4iGH2kbQWg7Kw6cf7aCYBHIUZuH5sliK10M/CWccZ+SGRUwcSGfbg==} + '@node-rs/jieba-android-arm-eabi@1.10.4': + resolution: {integrity: sha512-MhyvW5N3Fwcp385d0rxbCWH42kqDBatQTyP8XbnYbju2+0BO/eTeCCLYj7Agws4pwxn2LtdldXRSKavT7WdzNA==} engines: {node: '>= 10'} cpu: [arm] os: [android] - '@node-rs/jieba-android-arm64@1.10.3': - resolution: {integrity: sha512-iuZZZq5yD9lT+AgaXpFe19gtAsIecUODRLLaBFbavjgjLk5cumv38ytWjS36s/eqptwI15MQfysSYOlWtMEG5g==} + '@node-rs/jieba-android-arm64@1.10.4': + resolution: {integrity: sha512-XyDwq5+rQ+Tk55A+FGi6PtJbzf974oqnpyCcCPzwU3QVXJCa2Rr4Lci+fx8oOpU4plT3GuD+chXMYLsXipMgJA==} engines: {node: '>= 10'} cpu: [arm64] os: [android] - '@node-rs/jieba-darwin-arm64@1.10.3': - resolution: {integrity: sha512-dwPhkav1tEARskwPz91UUXL2NXy4h0lJYTuJzpGgwXxm552zBM2JJ41kjah1364j+EOq5At3NQvf5r5rH89phQ==} + '@node-rs/jieba-darwin-arm64@1.10.4': + resolution: {integrity: sha512-G++RYEJ2jo0rxF9626KUy90wp06TRUjAsvY/BrIzEOX/ingQYV/HjwQzNPRR1P1o32a6/U8RGo7zEBhfdybL6w==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@node-rs/jieba-darwin-x64@1.10.3': - resolution: {integrity: sha512-kjxvV6G1baQo/2I3mELv5qGv4Q0rhd5srwXhypSxMWZFtSpNwCDsLcIOR5bvMBci6QVFfZOs6WD6DKiWVz0SlA==} + '@node-rs/jieba-darwin-x64@1.10.4': + resolution: {integrity: sha512-MmDNeOb2TXIZCPyWCi2upQnZpPjAxw5ZGEj6R8kNsPXVFALHIKMa6ZZ15LCOkSTsKXVC17j2t4h+hSuyYb6qfQ==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@node-rs/jieba-freebsd-x64@1.10.3': - resolution: {integrity: sha512-QYTsn+zlWRil+MuBeLfTK5Md4GluOf2lHnFqjrOZW2oMgNOvxB3qoLV4TUf70S/E2XHeP6PUdjCKItX8C7GQPg==} + '@node-rs/jieba-freebsd-x64@1.10.4': + resolution: {integrity: sha512-/x7aVQ8nqUWhpXU92RZqd333cq639i/olNpd9Z5hdlyyV5/B65LLy+Je2B2bfs62PVVm5QXRpeBcZqaHelp/bg==} engines: {node: '>= 10'} cpu: [x64] os: [freebsd] - '@node-rs/jieba-linux-arm-gnueabihf@1.10.3': - resolution: {integrity: sha512-UFB43kDOvqmbRl99e3GPwaTuwJZaAvgLaMTvBkmxww4MpQH6G1k31RLzMW/S21uSQso2lj6W/Mm59gaJk2FiyA==} + '@node-rs/jieba-linux-arm-gnueabihf@1.10.4': + resolution: {integrity: sha512-crd2M35oJBRLkoESs0O6QO3BBbhpv+tqXuKsqhIG94B1d02RVxtRIvSDwO33QurxqSdvN9IeSnVpHbDGkuXm3g==} engines: {node: '>= 10'} cpu: [arm] os: [linux] - '@node-rs/jieba-linux-arm64-gnu@1.10.3': - resolution: {integrity: sha512-bu++yWi10wZtnS5uLcwxzxKmHVT77NgQMK8JiQr1TWCl3Y1Th7CnEHQtxfVB489edDK8l644h1/4zSTe5fRnOQ==} + '@node-rs/jieba-linux-arm64-gnu@1.10.4': + resolution: {integrity: sha512-omIzNX1psUzPcsdnUhGU6oHeOaTCuCjUgOA/v/DGkvWC1jLcnfXe4vdYbtXMh4XOCuIgS1UCcvZEc8vQLXFbXQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@node-rs/jieba-linux-arm64-musl@1.10.3': - resolution: {integrity: sha512-pJh+SzrK1HaKakhdFM+ew9vXwpZqMxy9u0U7J4GT+3GvOwnAZ+KjeaHebIfgOz7ZHvp/T4YBNf8oWW4zwj3AJw==} + '@node-rs/jieba-linux-arm64-musl@1.10.4': + resolution: {integrity: sha512-Y/tiJ1+HeS5nnmLbZOE+66LbsPOHZ/PUckAYVeLlQfpygLEpLYdlh0aPpS5uiaWMjAXYZYdFkpZHhxDmSLpwpw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@node-rs/jieba-linux-x64-gnu@1.10.3': - resolution: {integrity: sha512-GF5cfvu/0wXO2fVX/XV3WYH/xEGWzMBvfqLhGiA1OA1xHIufnA1T7uU3ZXkyoNi5Bzf6dmxnwtE4CJL0nvhwjQ==} + '@node-rs/jieba-linux-x64-gnu@1.10.4': + resolution: {integrity: sha512-WZO8ykRJpWGE9MHuZpy1lu3nJluPoeB+fIJJn5CWZ9YTVhNDWoCF4i/7nxz1ntulINYGQ8VVuCU9LD86Mek97g==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@node-rs/jieba-linux-x64-musl@1.10.3': - resolution: {integrity: sha512-h45HMVU/hgzQ0saXNsK9fKlGdah1i1cXZULpB5vQRlRL2ZIaGp+ULtWTogS7vkoo2K8s2l4tqakWMg9eUjIJ2A==} + '@node-rs/jieba-linux-x64-musl@1.10.4': + resolution: {integrity: sha512-uBBD4S1rGKcgCyAk6VCKatEVQb6EDD5I40v/DxODi5CuZVCANi9m5oee/MQbAoaX7RydA2f0OSCE9/tcwXEwUg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@node-rs/jieba-wasm32-wasi@1.10.3': - resolution: {integrity: sha512-vuoQ62vVoedNGcBmIi4UWdtNBOZG8B+vDYfjx3FD6rNg6g/RgwbVjYXbOVMOQwX06Ob9CfrutICXdUGHgoxzEQ==} + '@node-rs/jieba-wasm32-wasi@1.10.4': + resolution: {integrity: sha512-Y2umiKHjuIJy0uulNDz9SDYHdfq5Hmy7jY5nORO99B4pySKkcrMjpeVrmWXJLIsEKLJwcCXHxz8tjwU5/uhz0A==} engines: {node: '>=14.0.0'} cpu: [wasm32] - '@node-rs/jieba-win32-arm64-msvc@1.10.3': - resolution: {integrity: sha512-B8t4dh56TZnMLBoYWDkopf1ed37Ru/iU1qiIeBkbZWXGmNBChNZUOd//eaPOFjx8m9Sfc8bkj3FBRWt/kTAhmw==} + '@node-rs/jieba-win32-arm64-msvc@1.10.4': + resolution: {integrity: sha512-nwMtViFm4hjqhz1it/juQnxpXgqlGltCuWJ02bw70YUDMDlbyTy3grCJPpQQpueeETcALUnTxda8pZuVrLRcBA==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@node-rs/jieba-win32-ia32-msvc@1.10.3': - resolution: {integrity: sha512-SKuPGZJ5T+X4jOn1S8LklOSZ6HC7UBiw0hwi2z9uqX6WgElquLjGi/xfZ2gPqffeR/5K/PUu7aqYUUPL1XonVQ==} + '@node-rs/jieba-win32-ia32-msvc@1.10.4': + resolution: {integrity: sha512-DCAvLx7Z+W4z5oKS+7vUowAJr0uw9JBw8x1Y23Xs/xMA4Em+OOSiaF5/tCJqZUCJ8uC4QeImmgDFiBqGNwxlyA==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] - '@node-rs/jieba-win32-x64-msvc@1.10.3': - resolution: {integrity: sha512-j9I4+a/tf2hsLu8Sr0NhcLBVNBBQctO2mzcjemMpRa1SlEeODyic9RIyP8Ljz3YTN6MYqKh1KA9iR1xvxjxYFg==} + '@node-rs/jieba-win32-x64-msvc@1.10.4': + resolution: {integrity: sha512-+sqemSfS1jjb+Tt7InNbNzrRh1Ua3vProVvC4BZRPg010/leCbGFFiQHpzcPRfpxAXZrzG5Y0YBTsPzN/I4yHQ==} engines: {node: '>= 10'} cpu: [x64] os: [win32] - '@node-rs/jieba@1.10.3': - resolution: {integrity: sha512-SG0CWHmhIveH6upJURgymDKLertEPYbOc5NSFIpbZWW1W2MpqgumVteQO+5YBlkmpR6jMNDPWNQyQwkB6HoeNg==} + '@node-rs/jieba@1.10.4': + resolution: {integrity: sha512-GvDgi8MnBiyWd6tksojej8anIx18244NmIOc1ovEw8WKNUejcccLfyu8vj66LWSuoZuKILVtNsOy4jvg3aoxIw==} engines: {node: '>= 10'} '@nodelib/fs.scandir@2.1.5': @@ -4482,10 +4482,6 @@ packages: resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} engines: {node: ^10 || ^12 || >=14} - postcss@8.4.41: - resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==} - engines: {node: ^10 || ^12 || >=14} - postcss@8.4.47: resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} engines: {node: ^10 || ^12 || >=14} @@ -4838,8 +4834,8 @@ packages: rtl-detect@1.1.2: resolution: {integrity: sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ==} - rtlcss@4.2.0: - resolution: {integrity: sha512-AV+V3oOVvCrqyH5Q/6RuT1IDH1Xy5kJTkEWTWZPN5rdQ3HCFOd8SrbC7c6N5Y8bPpCfZSR6yYbUATXslvfvu5g==} + rtlcss@4.3.0: + resolution: {integrity: sha512-FI+pHEn7Wc4NqKXMXFM+VAYKEj/mRIcW4h24YVwVtyjI+EqGrLc2Hx/Ny0lrZ21cBWU2goLy36eqMcNj3AQJig==} engines: {node: '>=12.0.0'} hasBin: true @@ -4888,8 +4884,8 @@ packages: resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} engines: {node: '>= 12.13.0'} - search-insights@2.15.0: - resolution: {integrity: sha512-ch2sPCUDD4sbPQdknVl9ALSi9H7VyoeVbsxznYz6QV55jJ8CI3EtwpO1i84keN4+hF5IeHWIeGvc08530JkVXQ==} + search-insights@2.17.2: + resolution: {integrity: sha512-zFNpOpUO+tY2D85KrxJ+aqwnIfdEGi06UH2+xEb+Bp9Mwznmauqc9djbnBibJO5mpfUPPa8st6Sx65+vbeO45g==} section-matter@1.0.0: resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} @@ -5664,19 +5660,19 @@ packages: snapshots: - '@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.15.0)': + '@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.17.2)': dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.15.0) + '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.17.2) '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0) transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - search-insights - '@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.15.0)': + '@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.17.2)': dependencies: '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0) - search-insights: 2.15.0 + search-insights: 2.17.2 transitivePeerDependencies: - '@algolia/client-search' - algoliasearch @@ -6647,9 +6643,9 @@ snapshots: '@docsearch/css@3.6.2': {} - '@docsearch/react@3.6.2(@algolia/client-search@4.24.0)(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)': + '@docsearch/react@3.6.2(@algolia/client-search@4.24.0)(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.2)': dependencies: - '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.15.0) + '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.17.2) '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0) '@docsearch/css': 3.6.2 algoliasearch: 4.24.0 @@ -6657,7 +6653,7 @@ snapshots: '@types/react': 18.3.11 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - search-insights: 2.15.0 + search-insights: 2.17.2 transitivePeerDependencies: - '@algolia/client-search' @@ -7076,7 +7072,7 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/preset-classic@3.5.2(@algolia/client-search@4.24.0)(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)(typescript@5.6.2)': + '@docusaurus/preset-classic@3.5.2(@algolia/client-search@4.24.0)(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.2)(typescript@5.6.2)': dependencies: '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(debug@4.3.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/plugin-content-blog': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) @@ -7089,7 +7085,7 @@ snapshots: '@docusaurus/plugin-sitemap': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/theme-classic': 3.5.2(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/theme-common': 3.5.2(@docusaurus/plugin-content-docs@3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) - '@docusaurus/theme-search-algolia': 3.5.2(@algolia/client-search@4.24.0)(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)(typescript@5.6.2) + '@docusaurus/theme-search-algolia': 3.5.2(@algolia/client-search@4.24.0)(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.2)(typescript@5.6.2) '@docusaurus/types': 3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -7140,13 +7136,13 @@ snapshots: infima: 0.2.0-alpha.44 lodash: 4.17.21 nprogress: 0.2.0 - postcss: 8.4.41 + postcss: 8.4.47 prism-react-renderer: 2.4.0(react@18.3.1) prismjs: 1.29.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) react-router-dom: 5.3.4(react@18.3.1) - rtlcss: 4.2.0 + rtlcss: 4.3.0 tslib: 2.7.0 utility-types: 3.11.0 transitivePeerDependencies: @@ -7194,9 +7190,9 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/theme-search-algolia@3.5.2(@algolia/client-search@4.24.0)(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)(typescript@5.6.2)': + '@docusaurus/theme-search-algolia@3.5.2(@algolia/client-search@4.24.0)(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.2)(typescript@5.6.2)': dependencies: - '@docsearch/react': 3.6.2(@algolia/client-search@4.24.0)(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0) + '@docsearch/react': 3.6.2(@algolia/client-search@4.24.0)(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.2) '@docusaurus/core': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(debug@4.3.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) '@docusaurus/logger': 3.5.2 '@docusaurus/plugin-content-docs': 3.5.2(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1))(debug@4.3.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2) @@ -7335,7 +7331,7 @@ snapshots: '@docusaurus/utils-common': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@docusaurus/utils-validation': 3.5.2(@docusaurus/types@3.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.2) '@easyops-cn/autocomplete.js': 0.38.1 - '@node-rs/jieba': 1.10.3 + '@node-rs/jieba': 1.10.4 cheerio: 1.0.0 clsx: 1.2.1 debug: 4.3.7 @@ -7545,66 +7541,66 @@ snapshots: '@tybys/wasm-util': 0.9.0 optional: true - '@node-rs/jieba-android-arm-eabi@1.10.3': + '@node-rs/jieba-android-arm-eabi@1.10.4': optional: true - '@node-rs/jieba-android-arm64@1.10.3': + '@node-rs/jieba-android-arm64@1.10.4': optional: true - '@node-rs/jieba-darwin-arm64@1.10.3': + '@node-rs/jieba-darwin-arm64@1.10.4': optional: true - '@node-rs/jieba-darwin-x64@1.10.3': + '@node-rs/jieba-darwin-x64@1.10.4': optional: true - '@node-rs/jieba-freebsd-x64@1.10.3': + '@node-rs/jieba-freebsd-x64@1.10.4': optional: true - '@node-rs/jieba-linux-arm-gnueabihf@1.10.3': + '@node-rs/jieba-linux-arm-gnueabihf@1.10.4': optional: true - '@node-rs/jieba-linux-arm64-gnu@1.10.3': + '@node-rs/jieba-linux-arm64-gnu@1.10.4': optional: true - '@node-rs/jieba-linux-arm64-musl@1.10.3': + '@node-rs/jieba-linux-arm64-musl@1.10.4': optional: true - '@node-rs/jieba-linux-x64-gnu@1.10.3': + '@node-rs/jieba-linux-x64-gnu@1.10.4': optional: true - '@node-rs/jieba-linux-x64-musl@1.10.3': + '@node-rs/jieba-linux-x64-musl@1.10.4': optional: true - '@node-rs/jieba-wasm32-wasi@1.10.3': + '@node-rs/jieba-wasm32-wasi@1.10.4': dependencies: '@napi-rs/wasm-runtime': 0.2.5 optional: true - '@node-rs/jieba-win32-arm64-msvc@1.10.3': + '@node-rs/jieba-win32-arm64-msvc@1.10.4': optional: true - '@node-rs/jieba-win32-ia32-msvc@1.10.3': + '@node-rs/jieba-win32-ia32-msvc@1.10.4': optional: true - '@node-rs/jieba-win32-x64-msvc@1.10.3': + '@node-rs/jieba-win32-x64-msvc@1.10.4': optional: true - '@node-rs/jieba@1.10.3': + '@node-rs/jieba@1.10.4': optionalDependencies: - '@node-rs/jieba-android-arm-eabi': 1.10.3 - '@node-rs/jieba-android-arm64': 1.10.3 - '@node-rs/jieba-darwin-arm64': 1.10.3 - '@node-rs/jieba-darwin-x64': 1.10.3 - '@node-rs/jieba-freebsd-x64': 1.10.3 - '@node-rs/jieba-linux-arm-gnueabihf': 1.10.3 - '@node-rs/jieba-linux-arm64-gnu': 1.10.3 - '@node-rs/jieba-linux-arm64-musl': 1.10.3 - '@node-rs/jieba-linux-x64-gnu': 1.10.3 - '@node-rs/jieba-linux-x64-musl': 1.10.3 - '@node-rs/jieba-wasm32-wasi': 1.10.3 - '@node-rs/jieba-win32-arm64-msvc': 1.10.3 - '@node-rs/jieba-win32-ia32-msvc': 1.10.3 - '@node-rs/jieba-win32-x64-msvc': 1.10.3 + '@node-rs/jieba-android-arm-eabi': 1.10.4 + '@node-rs/jieba-android-arm64': 1.10.4 + '@node-rs/jieba-darwin-arm64': 1.10.4 + '@node-rs/jieba-darwin-x64': 1.10.4 + '@node-rs/jieba-freebsd-x64': 1.10.4 + '@node-rs/jieba-linux-arm-gnueabihf': 1.10.4 + '@node-rs/jieba-linux-arm64-gnu': 1.10.4 + '@node-rs/jieba-linux-arm64-musl': 1.10.4 + '@node-rs/jieba-linux-x64-gnu': 1.10.4 + '@node-rs/jieba-linux-x64-musl': 1.10.4 + '@node-rs/jieba-wasm32-wasi': 1.10.4 + '@node-rs/jieba-win32-arm64-msvc': 1.10.4 + '@node-rs/jieba-win32-ia32-msvc': 1.10.4 + '@node-rs/jieba-win32-x64-msvc': 1.10.4 '@nodelib/fs.scandir@2.1.5': dependencies: @@ -11370,12 +11366,6 @@ snapshots: picocolors: 1.1.0 source-map-js: 1.2.1 - postcss@8.4.41: - dependencies: - nanoid: 3.3.7 - picocolors: 1.1.0 - source-map-js: 1.2.1 - postcss@8.4.47: dependencies: nanoid: 3.3.7 @@ -11850,11 +11840,11 @@ snapshots: rtl-detect@1.1.2: {} - rtlcss@4.2.0: + rtlcss@4.3.0: dependencies: escalade: 3.2.0 picocolors: 1.1.0 - postcss: 8.4.41 + postcss: 8.4.47 strip-json-comments: 3.1.1 run-parallel@1.2.0: @@ -11913,7 +11903,7 @@ snapshots: ajv-formats: 2.1.1(ajv@8.17.1) ajv-keywords: 5.1.0(ajv@8.17.1) - search-insights@2.15.0: {} + search-insights@2.17.2: {} section-matter@1.0.0: dependencies: diff --git a/web/pnpm-lock.yaml b/web/pnpm-lock.yaml index 01a1dca51..b5a807262 100644 --- a/web/pnpm-lock.yaml +++ b/web/pnpm-lock.yaml @@ -206,100 +206,75 @@ packages: '@antfu/utils@0.7.10': resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==} - '@babel/code-frame@7.24.7': - resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} - engines: {node: '>=6.9.0'} - '@babel/code-frame@7.25.7': resolution: {integrity: sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.25.2': - resolution: {integrity: sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==} + '@babel/compat-data@7.25.7': + resolution: {integrity: sha512-9ickoLz+hcXCeh7jrcin+/SLWm+GkxE2kTvoYyp38p4WkdFXfQJxDFGWp/YHjiKLPx06z2A7W8XKuqbReXDzsw==} engines: {node: '>=6.9.0'} - '@babel/core@7.25.2': - resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} + '@babel/core@7.25.7': + resolution: {integrity: sha512-yJ474Zv3cwiSOO9nXJuqzvwEeM+chDuQ8GJirw+pZ91sCGCyOZ3dJkVE09fTV0VEVzXyLWhh3G/AolYTPX7Mow==} engines: {node: '>=6.9.0'} - '@babel/generator@7.25.0': - resolution: {integrity: sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==} + '@babel/generator@7.25.7': + resolution: {integrity: sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.25.2': - resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} + '@babel/helper-compilation-targets@7.25.7': + resolution: {integrity: sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A==} engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.24.7': - resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} + '@babel/helper-module-imports@7.25.7': + resolution: {integrity: sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.25.2': - resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} + '@babel/helper-module-transforms@7.25.7': + resolution: {integrity: sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-simple-access@7.24.7': - resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-string-parser@7.24.8': - resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} + '@babel/helper-simple-access@7.25.7': + resolution: {integrity: sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==} engines: {node: '>=6.9.0'} '@babel/helper-string-parser@7.25.7': resolution: {integrity: sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.24.7': - resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} - engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.25.7': resolution: {integrity: sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.24.8': - resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} + '@babel/helper-validator-option@7.25.7': + resolution: {integrity: sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.25.0': - resolution: {integrity: sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==} - engines: {node: '>=6.9.0'} - - '@babel/highlight@7.24.7': - resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + '@babel/helpers@7.25.7': + resolution: {integrity: sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA==} engines: {node: '>=6.9.0'} '@babel/highlight@7.25.7': resolution: {integrity: sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==} engines: {node: '>=6.9.0'} - '@babel/parser@7.25.0': - resolution: {integrity: sha512-CzdIU9jdP0dg7HdyB+bHvDJGagUv+qtzZt5rYCWwW6tITNqV9odjp6Qu41gkG0ca5UfdDUWrKkiAnHHdGRnOrA==} - engines: {node: '>=6.0.0'} - hasBin: true - '@babel/parser@7.25.7': resolution: {integrity: sha512-aZn7ETtQsjjGG5HruveUK06cU3Hljuhd9Iojm4M8WWv3wLE6OkE5PWbDUkItmMgegmccaITudyuW5RPYrYlgWw==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/runtime@7.25.0': - resolution: {integrity: sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==} + '@babel/runtime@7.25.7': + resolution: {integrity: sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w==} engines: {node: '>=6.9.0'} - '@babel/template@7.25.0': - resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} + '@babel/template@7.25.7': + resolution: {integrity: sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.25.2': - resolution: {integrity: sha512-s4/r+a7xTnny2O6FcZzqgT6nE4/GHEdcqj4qAeglbUOh0TeglEfmNJFAd/OLoVtGd6ZhAO8GCVvCNUO5t/VJVQ==} - engines: {node: '>=6.9.0'} - - '@babel/types@7.25.2': - resolution: {integrity: sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==} + '@babel/traverse@7.25.7': + resolution: {integrity: sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==} engines: {node: '>=6.9.0'} '@babel/types@7.25.7': @@ -546,10 +521,6 @@ packages: vue-i18n: optional: true - '@intlify/core-base@9.13.1': - resolution: {integrity: sha512-+bcQRkJO9pcX8d0gel9ZNfrzU22sZFSA0WVhfXrf5jdJOS24a+Bp8pozuS9sBI9Hk/tGz83pgKfmqcn/Ci7/8w==} - engines: {node: '>= 16'} - '@intlify/core-base@9.14.1': resolution: {integrity: sha512-rG5/hlNW6Qfve41go37szEf0mVLcfhYuOu83JcY0jZKasnwsrcZYYWDzebCcuO5I/6Sy1JFWo9p+nvkQS1Dy+w==} engines: {node: '>= 16'} @@ -564,10 +535,6 @@ packages: resolution: {integrity: sha512-OcaWc63NC/9p1cMdgoNKBj4d61BH8sUW1Hfs6YijTd9656ZR4rNqXAlRnBrfS5ABq0vjQjpa8VnyvH9hK49yBw==} engines: {node: '>= 16'} - '@intlify/message-compiler@9.13.1': - resolution: {integrity: sha512-SKsVa4ajYGBVm7sHMXd5qX70O2XXjm55zdZB3VeMFCvQyvLew/dLvq3MqnaIsTMF1VkkOb9Ttr6tHcMlyPDL9w==} - engines: {node: '>= 16'} - '@intlify/message-compiler@9.14.1': resolution: {integrity: sha512-MY8hwukJBnXvGAncVKlHsqKDQ5ZcQx4peqEmI8wBUTXn4pezrtTGYXNoz81cLyEEHB+L/zlKWVBSh5TiX4gYoQ==} engines: {node: '>= 16'} @@ -576,10 +543,6 @@ packages: resolution: {integrity: sha512-6ngLfI7DOTew2dcF9WMJx+NnMWghMBhIiHbGg+wRvngpzD5KZJZiJVuzMsUQE1a5YebEmtpTEfUrDp/NqVGdiw==} engines: {node: '>= 16'} - '@intlify/shared@9.13.1': - resolution: {integrity: sha512-u3b6BKGhE6j/JeRU6C/RL2FgyJfy6LakbtfeVF8fJXURpZZTzfh3e05J0bu0XPw447Q6/WUp3C4ajv4TMS4YsQ==} - engines: {node: '>= 16'} - '@intlify/shared@9.14.1': resolution: {integrity: sha512-XjHu6PEQup9MnP1x0W9y0nXXfq9jFftAYSfV11hryjtH4XqXP8HrzMvXI+ZVifF+jZLszaTzIhvukllplxTQTg==} engines: {node: '>= 16'} @@ -668,8 +631,8 @@ packages: resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - '@rollup/pluginutils@5.1.0': - resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} + '@rollup/pluginutils@5.1.2': + resolution: {integrity: sha512-/FIdS3PyZ39bjZlwqFnWqCOVnW7o963LtKMwQOD0NhQqw22gSr2YY1afu3FxRip4ZCZNsD5jq6Aaz6QV3D/Njw==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 @@ -774,8 +737,8 @@ packages: '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} - '@types/eslint@9.6.0': - resolution: {integrity: sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg==} + '@types/eslint@9.6.1': + resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} '@types/eslint__js@8.42.3': resolution: {integrity: sha512-alfG737uhmPdnvkrLdZLcEKJ/B8s9Y4hrZ+YAdzUeoArBlSUERA2E87ROfOaS4jd/C45fzOoZzidLc1IPwLqOw==} @@ -1056,10 +1019,6 @@ packages: ansi_up@6.0.2: resolution: {integrity: sha512-3G3vKvl1ilEp7J1u6BmULpMA0xVoW/f4Ekqhl8RTrJrhEBkonKn5k3bUc5Xt+qDayA6iDX0jyUh3AbZjB/l0tw==} - anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - are-docs-informative@0.0.2: resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} engines: {node: '>=14'} @@ -1091,10 +1050,6 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} - boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} @@ -1108,11 +1063,6 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.23.2: - resolution: {integrity: sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - browserslist@4.24.0: resolution: {integrity: sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -1130,9 +1080,6 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - caniuse-lite@1.0.30001644: - resolution: {integrity: sha512-YGvlOZB4QhZuiis+ETS0VXR+MExbFf4fZYYeMTEE0aTQd/RdIjkTyZjLrbYVKnHzppDvnOhritRVv+i7Go6mHw==} - caniuse-lite@1.0.30001667: resolution: {integrity: sha512-7LTwJjcRkzKFmtqGsibMeuXmvFDfZq/nzIjnmgCGzKKRVzjD72selLDK1oPF/Oxzmt4fNcPvTDvGqSDG4tCALw==} @@ -1166,10 +1113,6 @@ packages: resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} engines: {node: '>= 16'} - chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} - ci-info@4.0.0: resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} engines: {node: '>=8'} @@ -1285,15 +1228,6 @@ packages: supports-color: optional: true - debug@4.3.6: - resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.3.7: resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} @@ -1360,9 +1294,6 @@ packages: engines: {node: '>=14'} hasBin: true - electron-to-chromium@1.5.3: - resolution: {integrity: sha512-QNdYSS5i8D9axWp/6XIezRObRHqaav/ur9z1VzCDUCH1XIFOr9WQk5xmgunhsTpjjgDy3oLxO/WMOVZlpUQrlA==} - electron-to-chromium@1.5.32: resolution: {integrity: sha512-M+7ph0VGBQqqpTT2YrabjNKSQ2fEl9PVx6AK3N558gDH9NO8O6XN9SXXFWRo9u9PbEg/bWq+tjXQr+eXmxubCw==} @@ -1394,10 +1325,6 @@ packages: engines: {node: '>=12'} hasBin: true - escalade@3.1.2: - resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} - engines: {node: '>=6'} - escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} @@ -1738,10 +1665,6 @@ packages: resolution: {integrity: sha512-tqFIbz83w4Y5TCbtgjZjApohbuh7K9BxGYFm7ifwDR240tvdb7P9x+/9VvUKlmkPoiknoJtanI8UOrqxS3a7lQ==} engines: {node: '>=18'} - globals@15.8.0: - resolution: {integrity: sha512-VZAJ4cewHTExBWDHR6yptdIBlx9YSSZuwojj9Nt5mBRXQzrKakDsVKQ1J63sklLvzAJm0X5+RpO4i3Y2hcOnFw==} - engines: {node: '>=18'} - globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} @@ -1787,10 +1710,6 @@ packages: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} - ignore@5.3.1: - resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} - engines: {node: '>= 4'} - ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} @@ -1820,10 +1739,6 @@ packages: is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - is-builtin-module@3.2.1: resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} engines: {node: '>=6'} @@ -1900,11 +1815,6 @@ packages: resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true - jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true - jsesc@3.0.2: resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} engines: {node: '>=6'} @@ -2144,9 +2054,6 @@ packages: mlly@1.7.1: resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} - ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -2179,10 +2086,6 @@ packages: normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} - normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} @@ -2274,9 +2177,6 @@ packages: resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} engines: {node: '>= 14.16'} - picocolors@1.0.1: - resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} - picocolors@1.1.0: resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} @@ -2300,9 +2200,6 @@ packages: typescript: optional: true - pkg-types@1.1.3: - resolution: {integrity: sha512-+JrgthZG6m3ckicaOB74TwQ+tBWsFl3qVQg7mN8ulwSOElJ7gBhKzj2VkCPnZ4NlF6kEquYU+RIYNVAvzd54UA==} - pkg-types@1.2.0: resolution: {integrity: sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA==} @@ -2322,10 +2219,6 @@ packages: peerDependencies: postcss: ^8.4.29 - postcss-selector-parser@6.1.1: - resolution: {integrity: sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==} - engines: {node: '>=4'} - postcss-selector-parser@6.1.2: resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} engines: {node: '>=4'} @@ -2334,10 +2227,6 @@ packages: resolution: {integrity: sha512-8I7Cd8sxiEITIp32xBK4K/Aj1ukX6vuWnx8oY/oAH35NfQI4OZaY5nd68Yx8HeN5S49uhQ6DL0rNk0ZBu/TaLg==} engines: {node: ^8.10.0 || ^10.13.0 || ^11.10.1 || >=12.13.0} - postcss@8.4.40: - resolution: {integrity: sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==} - engines: {node: ^10 || ^12 || >=14} - postcss@8.4.47: resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} engines: {node: ^10 || ^12 || >=14} @@ -2373,10 +2262,6 @@ packages: resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} engines: {node: '>=8'} - readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - refa@0.12.1: resolution: {integrity: sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} @@ -2640,9 +2525,6 @@ packages: peerDependencies: typescript: '>=4.2.0' - tslib@2.6.3: - resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} - tslib@2.7.0: resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} @@ -2689,15 +2571,14 @@ packages: unist-util-visit@5.0.0: resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} - unplugin@1.12.0: - resolution: {integrity: sha512-KeczzHl2sATPQUx1gzo+EnUkmN4VmGBYRRVOZSGvGITE9rGHRDGqft6ONceP3vgXcyJ2XjX5axG5jMWUwNCYLw==} + unplugin@1.14.1: + resolution: {integrity: sha512-lBlHbfSFPToDYp9pjXlUEFVxYLaue9f9T1HC+4OHlmj+HnMDdz9oZY+erXfoCe/5V/7gKUSY2jpXPb9S7f0f/w==} engines: {node: '>=14.0.0'} - - update-browserslist-db@1.1.0: - resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} - hasBin: true peerDependencies: - browserslist: '>= 4.21.0' + webpack-sources: ^3 + peerDependenciesMeta: + webpack-sources: + optional: true update-browserslist-db@1.1.1: resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} @@ -2792,8 +2673,8 @@ packages: vscode-uri@3.0.8: resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} - vue-component-type-helpers@2.0.29: - resolution: {integrity: sha512-58i+ZhUAUpwQ+9h5Hck0D+jr1qbYl4voRt5KffBx8qzELViQ4XdT/Tuo+mzq8u63teAG8K0lLaOiL5ofqW38rg==} + vue-component-type-helpers@2.1.6: + resolution: {integrity: sha512-ng11B8B/ZADUMMOsRbqv0arc442q7lifSubD0v8oDXIFoMg/mXwAPUunrroIDkY+mcD0dHKccdaznSVp8EoX3w==} vue-demi@0.14.10: resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==} @@ -2845,10 +2726,6 @@ packages: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} - webpack-sources@3.2.3: - resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} - engines: {node: '>=10.13.0'} - webpack-virtual-modules@0.6.2: resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} @@ -3008,30 +2885,25 @@ snapshots: '@antfu/utils@0.7.10': {} - '@babel/code-frame@7.24.7': - dependencies: - '@babel/highlight': 7.24.7 - picocolors: 1.1.0 - '@babel/code-frame@7.25.7': dependencies: '@babel/highlight': 7.25.7 picocolors: 1.1.0 - '@babel/compat-data@7.25.2': {} + '@babel/compat-data@7.25.7': {} - '@babel/core@7.25.2': + '@babel/core@7.25.7': dependencies: '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.0 - '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) - '@babel/helpers': 7.25.0 - '@babel/parser': 7.25.0 - '@babel/template': 7.25.0 - '@babel/traverse': 7.25.2 - '@babel/types': 7.25.2 + '@babel/code-frame': 7.25.7 + '@babel/generator': 7.25.7 + '@babel/helper-compilation-targets': 7.25.7 + '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.7) + '@babel/helpers': 7.25.7 + '@babel/parser': 7.25.7 + '@babel/template': 7.25.7 + '@babel/traverse': 7.25.7 + '@babel/types': 7.25.7 convert-source-map: 2.0.0 debug: 4.3.7 gensync: 1.0.0-beta.2 @@ -3040,66 +2912,55 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/generator@7.25.0': + '@babel/generator@7.25.7': dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.25.7 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - jsesc: 2.5.2 + jsesc: 3.0.2 - '@babel/helper-compilation-targets@7.25.2': + '@babel/helper-compilation-targets@7.25.7': dependencies: - '@babel/compat-data': 7.25.2 - '@babel/helper-validator-option': 7.24.8 - browserslist: 4.23.2 + '@babel/compat-data': 7.25.7 + '@babel/helper-validator-option': 7.25.7 + browserslist: 4.24.0 lru-cache: 5.1.1 semver: 7.6.3 - '@babel/helper-module-imports@7.24.7': + '@babel/helper-module-imports@7.25.7': dependencies: - '@babel/traverse': 7.25.2 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.7 + '@babel/types': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)': + '@babel/helper-module-transforms@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-module-imports': 7.24.7 - '@babel/helper-simple-access': 7.24.7 - '@babel/helper-validator-identifier': 7.24.7 - '@babel/traverse': 7.25.2 + '@babel/core': 7.25.7 + '@babel/helper-module-imports': 7.25.7 + '@babel/helper-simple-access': 7.25.7 + '@babel/helper-validator-identifier': 7.25.7 + '@babel/traverse': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/helper-simple-access@7.24.7': + '@babel/helper-simple-access@7.25.7': dependencies: - '@babel/traverse': 7.25.2 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.7 + '@babel/types': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/helper-string-parser@7.24.8': {} - '@babel/helper-string-parser@7.25.7': {} - '@babel/helper-validator-identifier@7.24.7': {} - '@babel/helper-validator-identifier@7.25.7': {} - '@babel/helper-validator-option@7.24.8': {} + '@babel/helper-validator-option@7.25.7': {} - '@babel/helpers@7.25.0': + '@babel/helpers@7.25.7': dependencies: - '@babel/template': 7.25.0 - '@babel/types': 7.25.2 - - '@babel/highlight@7.24.7': - dependencies: - '@babel/helper-validator-identifier': 7.25.7 - chalk: 2.4.2 - js-tokens: 4.0.0 - picocolors: 1.1.0 + '@babel/template': 7.25.7 + '@babel/types': 7.25.7 '@babel/highlight@7.25.7': dependencies: @@ -3108,42 +2969,32 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.0 - '@babel/parser@7.25.0': - dependencies: - '@babel/types': 7.25.2 - '@babel/parser@7.25.7': dependencies: '@babel/types': 7.25.7 - '@babel/runtime@7.25.0': + '@babel/runtime@7.25.7': dependencies: regenerator-runtime: 0.14.1 - '@babel/template@7.25.0': + '@babel/template@7.25.7': dependencies: - '@babel/code-frame': 7.24.7 - '@babel/parser': 7.25.0 - '@babel/types': 7.25.2 + '@babel/code-frame': 7.25.7 + '@babel/parser': 7.25.7 + '@babel/types': 7.25.7 - '@babel/traverse@7.25.2': + '@babel/traverse@7.25.7': dependencies: - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.0 - '@babel/parser': 7.25.0 - '@babel/template': 7.25.0 - '@babel/types': 7.25.2 + '@babel/code-frame': 7.25.7 + '@babel/generator': 7.25.7 + '@babel/parser': 7.25.7 + '@babel/template': 7.25.7 + '@babel/types': 7.25.7 debug: 4.3.7 globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/types@7.25.2': - dependencies: - '@babel/helper-string-parser': 7.24.8 - '@babel/helper-validator-identifier': 7.24.7 - to-fast-properties: 2.0.0 - '@babel/types@7.25.7': dependencies: '@babel/helper-string-parser': 7.25.7 @@ -3307,11 +3158,11 @@ snapshots: '@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.5.11)(prettier@3.3.3)': dependencies: - '@babel/core': 7.25.2 - '@babel/generator': 7.25.0 - '@babel/parser': 7.25.0 - '@babel/traverse': 7.25.2 - '@babel/types': 7.25.2 + '@babel/core': 7.25.7 + '@babel/generator': 7.25.7 + '@babel/parser': 7.25.7 + '@babel/traverse': 7.25.7 + '@babel/types': 7.25.7 prettier: 3.3.3 semver: 7.6.3 optionalDependencies: @@ -3333,11 +3184,6 @@ snapshots: optionalDependencies: vue-i18n: 9.14.1(vue@3.5.11(typescript@5.6.2)) - '@intlify/core-base@9.13.1': - dependencies: - '@intlify/message-compiler': 9.13.1 - '@intlify/shared': 9.13.1 - '@intlify/core-base@9.14.1': dependencies: '@intlify/message-compiler': 9.14.1 @@ -3346,14 +3192,14 @@ snapshots: '@intlify/eslint-plugin-vue-i18n@3.0.0(eslint@9.12.0(jiti@1.21.6))': dependencies: '@eslint/eslintrc': 3.1.0 - '@intlify/core-base': 9.13.1 - '@intlify/message-compiler': 9.13.1 - debug: 4.3.6 + '@intlify/core-base': 9.14.1 + '@intlify/message-compiler': 9.14.1 + debug: 4.3.7 eslint: 9.12.0(jiti@1.21.6) eslint-compat-utils: 0.5.1(eslint@9.12.0(jiti@1.21.6)) glob: 10.4.5 - globals: 15.8.0 - ignore: 5.3.1 + globals: 15.10.0 + ignore: 5.3.2 import-fresh: 3.3.0 is-language-code: 3.1.0 js-yaml: 4.1.0 @@ -3373,11 +3219,6 @@ snapshots: '@intlify/shared': 10.0.0 source-map-js: 1.2.1 - '@intlify/message-compiler@9.13.1': - dependencies: - '@intlify/shared': 9.13.1 - source-map-js: 1.2.1 - '@intlify/message-compiler@9.14.1': dependencies: '@intlify/shared': 9.14.1 @@ -3385,8 +3226,6 @@ snapshots: '@intlify/shared@10.0.0': {} - '@intlify/shared@9.13.1': {} - '@intlify/shared@9.14.1': {} '@intlify/unplugin-vue-i18n@5.2.0(@vue/compiler-dom@3.5.11)(eslint@9.12.0(jiti@1.21.6))(rollup@4.24.0)(typescript@5.6.2)(vue-i18n@9.14.1(vue@3.5.11(typescript@5.6.2)))(vue@3.5.11(typescript@5.6.2))': @@ -3395,17 +3234,17 @@ snapshots: '@intlify/bundle-utils': 9.0.0-beta.0(vue-i18n@9.14.1(vue@3.5.11(typescript@5.6.2))) '@intlify/shared': 10.0.0 '@intlify/vue-i18n-extensions': 7.0.0(@intlify/shared@10.0.0)(@vue/compiler-dom@3.5.11)(vue-i18n@9.14.1(vue@3.5.11(typescript@5.6.2)))(vue@3.5.11(typescript@5.6.2)) - '@rollup/pluginutils': 5.1.0(rollup@4.24.0) + '@rollup/pluginutils': 5.1.2(rollup@4.24.0) '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.2) - debug: 4.3.6 + debug: 4.3.7 fast-glob: 3.3.2 js-yaml: 4.1.0 json5: 2.2.3 pathe: 1.1.2 picocolors: 1.1.0 source-map-js: 1.2.1 - unplugin: 1.12.0 + unplugin: 1.14.1 vue: 3.5.11(typescript@5.6.2) optionalDependencies: vue-i18n: 9.14.1(vue@3.5.11(typescript@5.6.2)) @@ -3415,6 +3254,7 @@ snapshots: - rollup - supports-color - typescript + - webpack-sources '@intlify/vue-i18n-extensions@7.0.0(@intlify/shared@10.0.0)(@vue/compiler-dom@3.5.11)(vue-i18n@9.14.1(vue@3.5.11(typescript@5.6.2)))(vue@3.5.11(typescript@5.6.2))': dependencies: @@ -3476,7 +3316,7 @@ snapshots: '@pkgr/core@0.1.1': {} - '@rollup/pluginutils@5.1.0(rollup@4.24.0)': + '@rollup/pluginutils@5.1.2(rollup@4.24.0)': dependencies: '@types/estree': 1.0.6 estree-walker: 2.0.2 @@ -3552,14 +3392,14 @@ snapshots: dependencies: '@types/ms': 0.7.34 - '@types/eslint@9.6.0': + '@types/eslint@9.6.1': dependencies: '@types/estree': 1.0.6 '@types/json-schema': 7.0.15 '@types/eslint__js@8.42.3': dependencies: - '@types/eslint': 9.6.0 + '@types/eslint': 9.6.1 '@types/estree@1.0.6': {} @@ -3650,7 +3490,7 @@ snapshots: dependencies: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 - debug: 4.3.6 + debug: 4.3.7 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.5 @@ -3839,7 +3679,7 @@ snapshots: '@vue/test-utils@2.4.6': dependencies: js-beautify: 1.15.1 - vue-component-type-helpers: 2.0.29 + vue-component-type-helpers: 2.1.6 '@vueuse/core@11.1.0(vue@3.5.11(typescript@5.6.2))': dependencies: @@ -3862,7 +3702,7 @@ snapshots: '@windicss/config@1.9.3': dependencies: - debug: 4.3.6 + debug: 4.3.7 jiti: 1.21.6 windicss: 3.5.6 transitivePeerDependencies: @@ -3872,7 +3712,7 @@ snapshots: dependencies: '@antfu/utils': 0.7.10 '@windicss/config': 1.9.3 - debug: 4.3.6 + debug: 4.3.7 fast-glob: 3.3.2 magic-string: 0.30.11 micromatch: 4.0.8 @@ -3917,11 +3757,6 @@ snapshots: ansi_up@6.0.2: {} - anymatch@3.1.3: - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - are-docs-informative@0.0.2: {} argparse@2.0.1: {} @@ -3940,8 +3775,6 @@ snapshots: balanced-match@1.0.2: {} - binary-extensions@2.3.0: {} - boolbase@1.0.0: {} brace-expansion@1.1.11: @@ -3957,13 +3790,6 @@ snapshots: dependencies: fill-range: 7.1.1 - browserslist@4.23.2: - dependencies: - caniuse-lite: 1.0.30001644 - electron-to-chromium: 1.5.3 - node-releases: 2.0.18 - update-browserslist-db: 1.1.0(browserslist@4.23.2) - browserslist@4.24.0: dependencies: caniuse-lite: 1.0.30001667 @@ -3977,8 +3803,6 @@ snapshots: callsites@3.1.0: {} - caniuse-lite@1.0.30001644: {} - caniuse-lite@1.0.30001667: {} ccount@2.0.1: {} @@ -4010,18 +3834,6 @@ snapshots: check-error@2.1.1: {} - chokidar@3.6.0: - dependencies: - anymatch: 3.1.3 - braces: 3.0.3 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - ci-info@4.0.0: {} clean-regexp@1.0.0: @@ -4130,10 +3942,6 @@ snapshots: dependencies: ms: 2.1.3 - debug@4.3.6: - dependencies: - ms: 2.1.2 - debug@4.3.7: dependencies: ms: 2.1.3 @@ -4193,8 +4001,6 @@ snapshots: minimatch: 9.0.1 semver: 7.6.3 - electron-to-chromium@1.5.3: {} - electron-to-chromium@1.5.32: {} emoji-regex@8.0.0: {} @@ -4242,8 +4048,6 @@ snapshots: '@esbuild/win32-ia32': 0.21.5 '@esbuild/win32-x64': 0.21.5 - escalade@3.1.2: {} - escalade@3.2.0: {} escape-string-regexp@1.0.5: {} @@ -4433,10 +4237,10 @@ snapshots: eslint: 9.12.0(jiti@1.21.6) eslint-compat-utils: 0.5.1(eslint@9.12.0(jiti@1.21.6)) lodash: 4.17.21 - postcss: 8.4.40 - postcss-safe-parser: 6.0.0(postcss@8.4.40) - postcss-scss: 4.0.9(postcss@8.4.40) - postcss-selector-parser: 6.1.1 + postcss: 8.4.47 + postcss-safe-parser: 6.0.0(postcss@8.4.47) + postcss-scss: 4.0.9(postcss@8.4.47) + postcss-selector-parser: 6.1.2 postcss-styl: 0.12.3 vue-eslint-parser: 9.4.3(eslint@9.12.0(jiti@1.21.6)) transitivePeerDependencies: @@ -4673,8 +4477,6 @@ snapshots: globals@15.10.0: {} - globals@15.8.0: {} - globby@11.1.0: dependencies: array-union: 2.1.0 @@ -4722,8 +4524,6 @@ snapshots: dependencies: safer-buffer: 2.1.2 - ignore@5.3.1: {} - ignore@5.3.2: {} import-fresh@3.3.0: @@ -4746,10 +4546,6 @@ snapshots: is-arrayish@0.2.1: {} - is-binary-path@2.1.0: - dependencies: - binary-extensions: 2.3.0 - is-builtin-module@3.2.1: dependencies: builtin-modules: 3.3.0 @@ -4768,7 +4564,7 @@ snapshots: is-language-code@3.1.0: dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.7 is-number@7.0.0: {} @@ -4834,8 +4630,6 @@ snapshots: jsesc@0.5.0: {} - jsesc@2.5.2: {} - jsesc@3.0.2: {} json-buffer@3.0.1: {} @@ -5234,11 +5028,9 @@ snapshots: dependencies: acorn: 8.12.1 pathe: 1.1.2 - pkg-types: 1.1.3 + pkg-types: 1.2.0 ufo: 1.5.4 - ms@2.1.2: {} - ms@2.1.3: {} muggle-string@0.4.1: {} @@ -5269,8 +5061,6 @@ snapshots: semver: 7.6.3 validate-npm-package-license: 3.0.4 - normalize-path@3.0.0: {} - nth-check@2.1.1: dependencies: boolbase: 1.0.0 @@ -5355,8 +5145,6 @@ snapshots: pathval@2.0.0: {} - picocolors@1.0.1: {} - picocolors@1.1.0: {} picomatch@2.3.1: {} @@ -5371,12 +5159,6 @@ snapshots: optionalDependencies: typescript: 5.6.2 - pkg-types@1.1.3: - dependencies: - confbox: 0.1.7 - mlly: 1.7.1 - pathe: 1.1.2 - pkg-types@1.2.0: dependencies: confbox: 0.1.7 @@ -5385,18 +5167,13 @@ snapshots: pluralize@8.0.0: {} - postcss-safe-parser@6.0.0(postcss@8.4.40): + postcss-safe-parser@6.0.0(postcss@8.4.47): dependencies: - postcss: 8.4.40 + postcss: 8.4.47 - postcss-scss@4.0.9(postcss@8.4.40): + postcss-scss@4.0.9(postcss@8.4.47): dependencies: - postcss: 8.4.40 - - postcss-selector-parser@6.1.1: - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 + postcss: 8.4.47 postcss-selector-parser@6.1.2: dependencies: @@ -5408,17 +5185,11 @@ snapshots: debug: 4.3.7 fast-diff: 1.3.0 lodash.sortedlastindex: 4.1.0 - postcss: 8.4.40 + postcss: 8.4.47 stylus: 0.57.0 transitivePeerDependencies: - supports-color - postcss@8.4.40: - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.1 - source-map-js: 1.2.1 - postcss@8.4.47: dependencies: nanoid: 3.3.7 @@ -5450,10 +5221,6 @@ snapshots: parse-json: 5.2.0 type-fest: 0.6.0 - readdirp@3.6.0: - dependencies: - picomatch: 2.3.1 - refa@0.12.1: dependencies: '@eslint-community/regexpp': 4.11.1 @@ -5648,7 +5415,7 @@ snapshots: css-tree: 2.3.1 css-what: 6.1.0 csso: 5.0.5 - picocolors: 1.0.1 + picocolors: 1.1.0 symbol-tree@3.2.4: {} @@ -5659,7 +5426,7 @@ snapshots: synckit@0.9.1: dependencies: '@pkgr/core': 0.1.1 - tslib: 2.6.3 + tslib: 2.7.0 tapable@2.2.1: {} @@ -5705,8 +5472,6 @@ snapshots: dependencies: typescript: 5.6.2 - tslib@2.6.3: {} - tslib@2.7.0: {} type-check@0.4.0: @@ -5746,19 +5511,11 @@ snapshots: unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.1 - unplugin@1.12.0: + unplugin@1.14.1: dependencies: acorn: 8.12.1 - chokidar: 3.6.0 - webpack-sources: 3.2.3 webpack-virtual-modules: 0.6.2 - update-browserslist-db@1.1.0(browserslist@4.23.2): - dependencies: - browserslist: 4.23.2 - escalade: 3.1.2 - picocolors: 1.1.0 - update-browserslist-db@1.1.1(browserslist@4.24.0): dependencies: browserslist: 4.24.0 @@ -5795,7 +5552,7 @@ snapshots: vite-plugin-prismjs@0.0.11(prismjs@1.29.0): dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.25.7 babel-plugin-prismjs: 2.1.0(prismjs@1.29.0) transitivePeerDependencies: - prismjs @@ -5804,7 +5561,7 @@ snapshots: vite-plugin-windicss@1.9.3(vite@5.4.8(@types/node@20.16.10)(stylus@0.57.0)): dependencies: '@windicss/plugin-utils': 1.9.3 - debug: 4.3.6 + debug: 4.3.7 kolorist: 1.8.0 vite: 5.4.8(@types/node@20.16.10)(stylus@0.57.0) windicss: 3.5.6 @@ -5863,7 +5620,7 @@ snapshots: vscode-uri@3.0.8: {} - vue-component-type-helpers@2.0.29: {} + vue-component-type-helpers@2.1.6: {} vue-demi@0.14.10(vue@3.5.11(typescript@5.6.2)): dependencies: @@ -5917,8 +5674,6 @@ snapshots: webidl-conversions@7.0.0: {} - webpack-sources@3.2.3: {} - webpack-virtual-modules@0.6.2: {} whatwg-encoding@3.1.1: From 14b803e696e197da83f30821aa8683c20f9145ab Mon Sep 17 00:00:00 2001 From: qwerty287 <80460567+qwerty287@users.noreply.github.com> Date: Sat, 5 Oct 2024 17:43:39 +0300 Subject: [PATCH 215/547] Fix NFPM builds (#4190) --- nfpm/agent.yaml | 4 ++-- nfpm/server.yaml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/nfpm/agent.yaml b/nfpm/agent.yaml index fb3883d01..725bb75da 100644 --- a/nfpm/agent.yaml +++ b/nfpm/agent.yaml @@ -10,7 +10,7 @@ section: daemon/system contents: - src: ./dist/agent/linux_amd64/woodpecker-agent dst: /usr/local/bin/woodpecker-agent - - src: ./woodpecker-agent.service + - src: ./nfpm/woodpecker-agent.service dst: /usr/local/lib/systemd/system/ - - src: ./woodpecker-agent.env.example + - src: ./nfpm/woodpecker-agent.env.example dst: /etc/woodpecker/ diff --git a/nfpm/server.yaml b/nfpm/server.yaml index 66c8488d8..2c51167fd 100644 --- a/nfpm/server.yaml +++ b/nfpm/server.yaml @@ -10,7 +10,7 @@ section: daemon/system contents: - src: ./dist/server/linux_amd64/woodpecker-server dst: /usr/local/bin/woodpecker-server - - src: ./woodpecker-server.service + - src: ./nfpm/woodpecker-server.service dst: /usr/local/lib/systemd/system/ - - src: ./woodpecker-server.env.example + - src: ./nfpm/woodpecker-server.env.example dst: /etc/woodpecker/ From ecb3979fb0de05a87d1b8970639b08f35ea30e92 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 6 Oct 2024 07:21:58 +0200 Subject: [PATCH 216/547] fix(deps): update dependency simple-icons to v13.13.0 (#4196) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- web/pnpm-lock.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/web/pnpm-lock.yaml b/web/pnpm-lock.yaml index b5a807262..253c584f1 100644 --- a/web/pnpm-lock.yaml +++ b/web/pnpm-lock.yaml @@ -52,7 +52,7 @@ importers: version: 7.6.3 simple-icons: specifier: ^13.5.0 - version: 13.12.0 + version: 13.13.0 vue: specifier: ^3.4.38 version: 3.5.11(typescript@5.6.2) @@ -2350,8 +2350,8 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - simple-icons@13.12.0: - resolution: {integrity: sha512-UY6Zpet45M8ON24y0x3LsvNkh7a+zxzX4u8KulYXEbJnQ8J1mdel9Tl+7aKmpvKck0TYsU7K58RhfRwd2/7G1Q==} + simple-icons@13.13.0: + resolution: {integrity: sha512-lHit5FeMG4Uga9M81Hf6UKugVTC9xnuSYM+AqZ4UMIoaRnkraq2T1RvvgRGk2T1CjONim3NfwzLx26hbDhvZlg==} engines: {node: '>=0.12.18'} sisteransi@1.0.5: @@ -5312,7 +5312,7 @@ snapshots: signal-exit@4.1.0: {} - simple-icons@13.12.0: {} + simple-icons@13.13.0: {} sisteransi@1.0.5: {} From 84922f33474f08314a4d1b23949e5a6ef99ef3da Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 6 Oct 2024 08:31:39 +0300 Subject: [PATCH 217/547] chore(deps): update pre-commit hook pre-commit/pre-commit-hooks to v5 (#4192) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 7abc75f8f..6abec44c6 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -5,7 +5,7 @@ repos: - id: check-hooks-apply - id: check-useless-excludes - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.6.0 + rev: v5.0.0 hooks: - id: end-of-file-fixer - id: trailing-whitespace From 2fe2956dcb5c72c0aa4711913ee27efbcb2fe35d Mon Sep 17 00:00:00 2001 From: qwerty287 <80460567+qwerty287@users.noreply.github.com> Date: Sun, 6 Oct 2024 13:01:04 +0300 Subject: [PATCH 218/547] Upgrade vue-i18n (#4197) Co-authored-by: Patrick Schratz --- web/package.json | 2 +- web/pnpm-lock.yaml | 56 +++++++++++++++++++++++++++++++++------------- 2 files changed, 41 insertions(+), 17 deletions(-) diff --git a/web/package.json b/web/package.json index 455ffc57b..71fe9a393 100644 --- a/web/package.json +++ b/web/package.json @@ -33,7 +33,7 @@ "semver": "^7.6.3", "simple-icons": "^13.5.0", "vue": "^3.4.38", - "vue-i18n": "^9.13.1", + "vue-i18n": "^10.0.3", "vue-router": "^4.4.3" }, "devDependencies": { diff --git a/web/pnpm-lock.yaml b/web/pnpm-lock.yaml index 253c584f1..3f6c2ce1f 100644 --- a/web/pnpm-lock.yaml +++ b/web/pnpm-lock.yaml @@ -13,7 +13,7 @@ importers: dependencies: '@intlify/unplugin-vue-i18n': specifier: ^5.0.0 - version: 5.2.0(@vue/compiler-dom@3.5.11)(eslint@9.12.0(jiti@1.21.6))(rollup@4.24.0)(typescript@5.6.2)(vue-i18n@9.14.1(vue@3.5.11(typescript@5.6.2)))(vue@3.5.11(typescript@5.6.2)) + version: 5.2.0(@vue/compiler-dom@3.5.11)(eslint@9.12.0(jiti@1.21.6))(rollup@4.24.0)(typescript@5.6.2)(vue-i18n@10.0.3(vue@3.5.11(typescript@5.6.2)))(vue@3.5.11(typescript@5.6.2)) '@kyvg/vue3-notification': specifier: ^3.2.1 version: 3.3.0(vue@3.5.11(typescript@5.6.2)) @@ -57,8 +57,8 @@ importers: specifier: ^3.4.38 version: 3.5.11(typescript@5.6.2) vue-i18n: - specifier: ^9.13.1 - version: 9.14.1(vue@3.5.11(typescript@5.6.2)) + specifier: ^10.0.3 + version: 10.0.3(vue@3.5.11(typescript@5.6.2)) vue-router: specifier: ^4.4.3 version: 4.4.5(vue@3.5.11(typescript@5.6.2)) @@ -521,6 +521,10 @@ packages: vue-i18n: optional: true + '@intlify/core-base@10.0.3': + resolution: {integrity: sha512-ysJnTGDtuXPa6R2Ii4JIvfMVvDahUUny3aY8+P4r6/0TYHkblgzIMjV6cAn60em67AB0M7OWNAdcAVfWWeN8Qg==} + engines: {node: '>= 16'} + '@intlify/core-base@9.14.1': resolution: {integrity: sha512-rG5/hlNW6Qfve41go37szEf0mVLcfhYuOu83JcY0jZKasnwsrcZYYWDzebCcuO5I/6Sy1JFWo9p+nvkQS1Dy+w==} engines: {node: '>= 16'} @@ -535,6 +539,10 @@ packages: resolution: {integrity: sha512-OcaWc63NC/9p1cMdgoNKBj4d61BH8sUW1Hfs6YijTd9656ZR4rNqXAlRnBrfS5ABq0vjQjpa8VnyvH9hK49yBw==} engines: {node: '>= 16'} + '@intlify/message-compiler@10.0.3': + resolution: {integrity: sha512-KC2fG8nCzSYmXjHptEt6i/xM3k6S2szsPaHDCRgWKEYAbeHe6JFm6X4KRw3Csy112A8CxpavMi1dh3h7khwV5w==} + engines: {node: '>= 16'} + '@intlify/message-compiler@9.14.1': resolution: {integrity: sha512-MY8hwukJBnXvGAncVKlHsqKDQ5ZcQx4peqEmI8wBUTXn4pezrtTGYXNoz81cLyEEHB+L/zlKWVBSh5TiX4gYoQ==} engines: {node: '>= 16'} @@ -543,6 +551,10 @@ packages: resolution: {integrity: sha512-6ngLfI7DOTew2dcF9WMJx+NnMWghMBhIiHbGg+wRvngpzD5KZJZiJVuzMsUQE1a5YebEmtpTEfUrDp/NqVGdiw==} engines: {node: '>= 16'} + '@intlify/shared@10.0.3': + resolution: {integrity: sha512-PWxrCb6fDlnoGLnXLlWu6d7o/HdWACB9TjRnpLro+9uyfqgWA9hvqg5vekcPRyraTieV5srCbTk/ldYw9V3LHw==} + engines: {node: '>= 16'} + '@intlify/shared@9.14.1': resolution: {integrity: sha512-XjHu6PEQup9MnP1x0W9y0nXXfq9jFftAYSfV11hryjtH4XqXP8HrzMvXI+ZVifF+jZLszaTzIhvukllplxTQTg==} engines: {node: '>= 16'} @@ -2693,8 +2705,8 @@ packages: peerDependencies: eslint: '>=6.0.0' - vue-i18n@9.14.1: - resolution: {integrity: sha512-xjxV0LYc1xQ8TbAVfIyZiOSS8qoU1R0YwV7V5I8I6Fd64+zvsTsdPgtylPsie3Vdt9wekeYhr+smKDeaK6RBuA==} + vue-i18n@10.0.3: + resolution: {integrity: sha512-8ul2S4Hy9orKs7eOlkw/zqnVu98GttUdyIMRyjoMpv6hFPxnybgBLdep/UCmdan5kUHyxqMnr2cGHTBuPBYJaw==} engines: {node: '>= 16'} peerDependencies: vue: ^3.0.0 @@ -3170,7 +3182,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@intlify/bundle-utils@9.0.0-beta.0(vue-i18n@9.14.1(vue@3.5.11(typescript@5.6.2)))': + '@intlify/bundle-utils@9.0.0-beta.0(vue-i18n@10.0.3(vue@3.5.11(typescript@5.6.2)))': dependencies: '@intlify/message-compiler': 10.0.0 '@intlify/shared': 10.0.0 @@ -3182,7 +3194,12 @@ snapshots: source-map-js: 1.2.1 yaml-eslint-parser: 1.2.3 optionalDependencies: - vue-i18n: 9.14.1(vue@3.5.11(typescript@5.6.2)) + vue-i18n: 10.0.3(vue@3.5.11(typescript@5.6.2)) + + '@intlify/core-base@10.0.3': + dependencies: + '@intlify/message-compiler': 10.0.3 + '@intlify/shared': 10.0.3 '@intlify/core-base@9.14.1': dependencies: @@ -3219,6 +3236,11 @@ snapshots: '@intlify/shared': 10.0.0 source-map-js: 1.2.1 + '@intlify/message-compiler@10.0.3': + dependencies: + '@intlify/shared': 10.0.3 + source-map-js: 1.2.1 + '@intlify/message-compiler@9.14.1': dependencies: '@intlify/shared': 9.14.1 @@ -3226,14 +3248,16 @@ snapshots: '@intlify/shared@10.0.0': {} + '@intlify/shared@10.0.3': {} + '@intlify/shared@9.14.1': {} - '@intlify/unplugin-vue-i18n@5.2.0(@vue/compiler-dom@3.5.11)(eslint@9.12.0(jiti@1.21.6))(rollup@4.24.0)(typescript@5.6.2)(vue-i18n@9.14.1(vue@3.5.11(typescript@5.6.2)))(vue@3.5.11(typescript@5.6.2))': + '@intlify/unplugin-vue-i18n@5.2.0(@vue/compiler-dom@3.5.11)(eslint@9.12.0(jiti@1.21.6))(rollup@4.24.0)(typescript@5.6.2)(vue-i18n@10.0.3(vue@3.5.11(typescript@5.6.2)))(vue@3.5.11(typescript@5.6.2))': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0(jiti@1.21.6)) - '@intlify/bundle-utils': 9.0.0-beta.0(vue-i18n@9.14.1(vue@3.5.11(typescript@5.6.2))) + '@intlify/bundle-utils': 9.0.0-beta.0(vue-i18n@10.0.3(vue@3.5.11(typescript@5.6.2))) '@intlify/shared': 10.0.0 - '@intlify/vue-i18n-extensions': 7.0.0(@intlify/shared@10.0.0)(@vue/compiler-dom@3.5.11)(vue-i18n@9.14.1(vue@3.5.11(typescript@5.6.2)))(vue@3.5.11(typescript@5.6.2)) + '@intlify/vue-i18n-extensions': 7.0.0(@intlify/shared@10.0.0)(@vue/compiler-dom@3.5.11)(vue-i18n@10.0.3(vue@3.5.11(typescript@5.6.2)))(vue@3.5.11(typescript@5.6.2)) '@rollup/pluginutils': 5.1.2(rollup@4.24.0) '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.2) @@ -3247,7 +3271,7 @@ snapshots: unplugin: 1.14.1 vue: 3.5.11(typescript@5.6.2) optionalDependencies: - vue-i18n: 9.14.1(vue@3.5.11(typescript@5.6.2)) + vue-i18n: 10.0.3(vue@3.5.11(typescript@5.6.2)) transitivePeerDependencies: - '@vue/compiler-dom' - eslint @@ -3256,14 +3280,14 @@ snapshots: - typescript - webpack-sources - '@intlify/vue-i18n-extensions@7.0.0(@intlify/shared@10.0.0)(@vue/compiler-dom@3.5.11)(vue-i18n@9.14.1(vue@3.5.11(typescript@5.6.2)))(vue@3.5.11(typescript@5.6.2))': + '@intlify/vue-i18n-extensions@7.0.0(@intlify/shared@10.0.0)(@vue/compiler-dom@3.5.11)(vue-i18n@10.0.3(vue@3.5.11(typescript@5.6.2)))(vue@3.5.11(typescript@5.6.2))': dependencies: '@babel/parser': 7.25.7 optionalDependencies: '@intlify/shared': 10.0.0 '@vue/compiler-dom': 3.5.11 vue: 3.5.11(typescript@5.6.2) - vue-i18n: 9.14.1(vue@3.5.11(typescript@5.6.2)) + vue-i18n: 10.0.3(vue@3.5.11(typescript@5.6.2)) '@isaacs/cliui@8.0.2': dependencies: @@ -5639,10 +5663,10 @@ snapshots: transitivePeerDependencies: - supports-color - vue-i18n@9.14.1(vue@3.5.11(typescript@5.6.2)): + vue-i18n@10.0.3(vue@3.5.11(typescript@5.6.2)): dependencies: - '@intlify/core-base': 9.14.1 - '@intlify/shared': 9.14.1 + '@intlify/core-base': 10.0.3 + '@intlify/shared': 10.0.3 '@vue/devtools-api': 6.6.4 vue: 3.5.11(typescript@5.6.2) From 7ff14530d407c2d39950ac1ccc0f70735a060722 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 6 Oct 2024 12:10:08 +0200 Subject: [PATCH 219/547] fix(deps): update dependency vue-i18n to v10.0.4 (#4200) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- web/pnpm-lock.yaml | 54 +++++++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/web/pnpm-lock.yaml b/web/pnpm-lock.yaml index 3f6c2ce1f..837049835 100644 --- a/web/pnpm-lock.yaml +++ b/web/pnpm-lock.yaml @@ -13,7 +13,7 @@ importers: dependencies: '@intlify/unplugin-vue-i18n': specifier: ^5.0.0 - version: 5.2.0(@vue/compiler-dom@3.5.11)(eslint@9.12.0(jiti@1.21.6))(rollup@4.24.0)(typescript@5.6.2)(vue-i18n@10.0.3(vue@3.5.11(typescript@5.6.2)))(vue@3.5.11(typescript@5.6.2)) + version: 5.2.0(@vue/compiler-dom@3.5.11)(eslint@9.12.0(jiti@1.21.6))(rollup@4.24.0)(typescript@5.6.2)(vue-i18n@10.0.4(vue@3.5.11(typescript@5.6.2)))(vue@3.5.11(typescript@5.6.2)) '@kyvg/vue3-notification': specifier: ^3.2.1 version: 3.3.0(vue@3.5.11(typescript@5.6.2)) @@ -58,7 +58,7 @@ importers: version: 3.5.11(typescript@5.6.2) vue-i18n: specifier: ^10.0.3 - version: 10.0.3(vue@3.5.11(typescript@5.6.2)) + version: 10.0.4(vue@3.5.11(typescript@5.6.2)) vue-router: specifier: ^4.4.3 version: 4.4.5(vue@3.5.11(typescript@5.6.2)) @@ -521,8 +521,8 @@ packages: vue-i18n: optional: true - '@intlify/core-base@10.0.3': - resolution: {integrity: sha512-ysJnTGDtuXPa6R2Ii4JIvfMVvDahUUny3aY8+P4r6/0TYHkblgzIMjV6cAn60em67AB0M7OWNAdcAVfWWeN8Qg==} + '@intlify/core-base@10.0.4': + resolution: {integrity: sha512-GG428DkrrWCMhxRMRQZjuS7zmSUzarYcaHJqG9VB8dXAxw4iQDoKVQ7ChJRB6ZtsCsX3Jse1PEUlHrJiyQrOTg==} engines: {node: '>= 16'} '@intlify/core-base@9.14.1': @@ -539,8 +539,8 @@ packages: resolution: {integrity: sha512-OcaWc63NC/9p1cMdgoNKBj4d61BH8sUW1Hfs6YijTd9656ZR4rNqXAlRnBrfS5ABq0vjQjpa8VnyvH9hK49yBw==} engines: {node: '>= 16'} - '@intlify/message-compiler@10.0.3': - resolution: {integrity: sha512-KC2fG8nCzSYmXjHptEt6i/xM3k6S2szsPaHDCRgWKEYAbeHe6JFm6X4KRw3Csy112A8CxpavMi1dh3h7khwV5w==} + '@intlify/message-compiler@10.0.4': + resolution: {integrity: sha512-AFbhEo10DP095/45EauinQJ5hJ3rJUmuuqltGguvc3WsvezZN+g8qNHLGWKu60FHQVizMrQY7VJ+zVlBXlQQkQ==} engines: {node: '>= 16'} '@intlify/message-compiler@9.14.1': @@ -551,8 +551,8 @@ packages: resolution: {integrity: sha512-6ngLfI7DOTew2dcF9WMJx+NnMWghMBhIiHbGg+wRvngpzD5KZJZiJVuzMsUQE1a5YebEmtpTEfUrDp/NqVGdiw==} engines: {node: '>= 16'} - '@intlify/shared@10.0.3': - resolution: {integrity: sha512-PWxrCb6fDlnoGLnXLlWu6d7o/HdWACB9TjRnpLro+9uyfqgWA9hvqg5vekcPRyraTieV5srCbTk/ldYw9V3LHw==} + '@intlify/shared@10.0.4': + resolution: {integrity: sha512-ukFn0I01HsSgr3VYhYcvkTCLS7rGa0gw4A4AMpcy/A9xx/zRJy7PS2BElMXLwUazVFMAr5zuiTk3MQeoeGXaJg==} engines: {node: '>= 16'} '@intlify/shared@9.14.1': @@ -2705,8 +2705,8 @@ packages: peerDependencies: eslint: '>=6.0.0' - vue-i18n@10.0.3: - resolution: {integrity: sha512-8ul2S4Hy9orKs7eOlkw/zqnVu98GttUdyIMRyjoMpv6hFPxnybgBLdep/UCmdan5kUHyxqMnr2cGHTBuPBYJaw==} + vue-i18n@10.0.4: + resolution: {integrity: sha512-1xkzVxqBLk2ZFOmeI+B5r1J7aD/WtNJ4j9k2mcFcQo5BnOmHBmD7z4/oZohh96AAaRZ4Q7mNQvxc9h+aT+Md3w==} engines: {node: '>= 16'} peerDependencies: vue: ^3.0.0 @@ -3182,7 +3182,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@intlify/bundle-utils@9.0.0-beta.0(vue-i18n@10.0.3(vue@3.5.11(typescript@5.6.2)))': + '@intlify/bundle-utils@9.0.0-beta.0(vue-i18n@10.0.4(vue@3.5.11(typescript@5.6.2)))': dependencies: '@intlify/message-compiler': 10.0.0 '@intlify/shared': 10.0.0 @@ -3194,12 +3194,12 @@ snapshots: source-map-js: 1.2.1 yaml-eslint-parser: 1.2.3 optionalDependencies: - vue-i18n: 10.0.3(vue@3.5.11(typescript@5.6.2)) + vue-i18n: 10.0.4(vue@3.5.11(typescript@5.6.2)) - '@intlify/core-base@10.0.3': + '@intlify/core-base@10.0.4': dependencies: - '@intlify/message-compiler': 10.0.3 - '@intlify/shared': 10.0.3 + '@intlify/message-compiler': 10.0.4 + '@intlify/shared': 10.0.4 '@intlify/core-base@9.14.1': dependencies: @@ -3236,9 +3236,9 @@ snapshots: '@intlify/shared': 10.0.0 source-map-js: 1.2.1 - '@intlify/message-compiler@10.0.3': + '@intlify/message-compiler@10.0.4': dependencies: - '@intlify/shared': 10.0.3 + '@intlify/shared': 10.0.4 source-map-js: 1.2.1 '@intlify/message-compiler@9.14.1': @@ -3248,16 +3248,16 @@ snapshots: '@intlify/shared@10.0.0': {} - '@intlify/shared@10.0.3': {} + '@intlify/shared@10.0.4': {} '@intlify/shared@9.14.1': {} - '@intlify/unplugin-vue-i18n@5.2.0(@vue/compiler-dom@3.5.11)(eslint@9.12.0(jiti@1.21.6))(rollup@4.24.0)(typescript@5.6.2)(vue-i18n@10.0.3(vue@3.5.11(typescript@5.6.2)))(vue@3.5.11(typescript@5.6.2))': + '@intlify/unplugin-vue-i18n@5.2.0(@vue/compiler-dom@3.5.11)(eslint@9.12.0(jiti@1.21.6))(rollup@4.24.0)(typescript@5.6.2)(vue-i18n@10.0.4(vue@3.5.11(typescript@5.6.2)))(vue@3.5.11(typescript@5.6.2))': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0(jiti@1.21.6)) - '@intlify/bundle-utils': 9.0.0-beta.0(vue-i18n@10.0.3(vue@3.5.11(typescript@5.6.2))) + '@intlify/bundle-utils': 9.0.0-beta.0(vue-i18n@10.0.4(vue@3.5.11(typescript@5.6.2))) '@intlify/shared': 10.0.0 - '@intlify/vue-i18n-extensions': 7.0.0(@intlify/shared@10.0.0)(@vue/compiler-dom@3.5.11)(vue-i18n@10.0.3(vue@3.5.11(typescript@5.6.2)))(vue@3.5.11(typescript@5.6.2)) + '@intlify/vue-i18n-extensions': 7.0.0(@intlify/shared@10.0.0)(@vue/compiler-dom@3.5.11)(vue-i18n@10.0.4(vue@3.5.11(typescript@5.6.2)))(vue@3.5.11(typescript@5.6.2)) '@rollup/pluginutils': 5.1.2(rollup@4.24.0) '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.2) @@ -3271,7 +3271,7 @@ snapshots: unplugin: 1.14.1 vue: 3.5.11(typescript@5.6.2) optionalDependencies: - vue-i18n: 10.0.3(vue@3.5.11(typescript@5.6.2)) + vue-i18n: 10.0.4(vue@3.5.11(typescript@5.6.2)) transitivePeerDependencies: - '@vue/compiler-dom' - eslint @@ -3280,14 +3280,14 @@ snapshots: - typescript - webpack-sources - '@intlify/vue-i18n-extensions@7.0.0(@intlify/shared@10.0.0)(@vue/compiler-dom@3.5.11)(vue-i18n@10.0.3(vue@3.5.11(typescript@5.6.2)))(vue@3.5.11(typescript@5.6.2))': + '@intlify/vue-i18n-extensions@7.0.0(@intlify/shared@10.0.0)(@vue/compiler-dom@3.5.11)(vue-i18n@10.0.4(vue@3.5.11(typescript@5.6.2)))(vue@3.5.11(typescript@5.6.2))': dependencies: '@babel/parser': 7.25.7 optionalDependencies: '@intlify/shared': 10.0.0 '@vue/compiler-dom': 3.5.11 vue: 3.5.11(typescript@5.6.2) - vue-i18n: 10.0.3(vue@3.5.11(typescript@5.6.2)) + vue-i18n: 10.0.4(vue@3.5.11(typescript@5.6.2)) '@isaacs/cliui@8.0.2': dependencies: @@ -5663,10 +5663,10 @@ snapshots: transitivePeerDependencies: - supports-color - vue-i18n@10.0.3(vue@3.5.11(typescript@5.6.2)): + vue-i18n@10.0.4(vue@3.5.11(typescript@5.6.2)): dependencies: - '@intlify/core-base': 10.0.3 - '@intlify/shared': 10.0.3 + '@intlify/core-base': 10.0.4 + '@intlify/shared': 10.0.4 '@vue/devtools-api': 6.6.4 vue: 3.5.11(typescript@5.6.2) From 496859c083da39b557b0c6f32e9a3a21d147bf6d Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Sun, 6 Oct 2024 15:34:20 +0200 Subject: [PATCH 220/547] Highlight invalid entries in manual pipeline trigger (#4153) and move key-value editor into own component --- web/src/components/form/KeyValueEditor.vue | 107 +++++++++++++++++++++ web/src/views/repo/RepoManualPipeline.vue | 82 +++++----------- 2 files changed, 129 insertions(+), 60 deletions(-) create mode 100644 web/src/components/form/KeyValueEditor.vue diff --git a/web/src/components/form/KeyValueEditor.vue b/web/src/components/form/KeyValueEditor.vue new file mode 100644 index 000000000..fee45ee22 --- /dev/null +++ b/web/src/components/form/KeyValueEditor.vue @@ -0,0 +1,107 @@ + + + diff --git a/web/src/views/repo/RepoManualPipeline.vue b/web/src/views/repo/RepoManualPipeline.vue index df569448f..b61ef435d 100644 --- a/web/src/views/repo/RepoManualPipeline.vue +++ b/web/src/views/repo/RepoManualPipeline.vue @@ -7,33 +7,16 @@ {{ $t('repo.manual_pipeline.variables.desc') }} -

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

ly)2_+KpMU!@*gZ`RC<3OD&KCKzh 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 n!PyVz{Ig+jim9Z!!Be6 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 -XgKTm2$L2p!Dg>XRd2lN? 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%0DNb9(~L9#fN#nIoqNqn`+^(QtSBYtK0eF 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�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

K9v9CM8_Z@2yQPD?((BAqJ@Ql8SnoI2(>}G zqv_M-I$VA^TxH+aJF&5`MIUd8Bva^;i6{Cu>{_pJ*ZpfaHa;I*oS$ba<%&-L?OxQ7 z6DP)H4C16>53@#ZR#7=&zfaa=IRBrVo$_r6FPQP97-3b%^|;W%v{kEmUU%m9Wcjh~ zB5HB{oh z&;&lc<{64<)JwSS9V90l#G{l^pfE784$TLO4b14>*+E5A*w_E2u6?)~e*-_0iz&~w z*IL6sJ2j=N3XumnFeH7f<|@{MPhOcO6>yiGs|cPdXm^TBJ5k zH^Y9s&crB0n%I>`q^L0{KhBO=Jd^1p7`Ye)oNj?NiaiOmYn>{T59&VbaakL?eL8+m#B0}R0V zdO*iK+Fj;Qa&*eI+lTlca7v?%0J`2NPP>!RPD+1197%!6Fd3*VhjeD+$u+S0p zg$a(WO0xr%te$W>PyXyLC7XOk&xC=tsofV@rqpRlJN1P(?l+x1Lv_Yu@0&&rV1Q{O zN5m&HZ+JkJ8c;xlT3H!|Eo;ff`(^UFr%awueHK92AInIN%aUW?9m|Y%sJ^Hv58CAi zpEtYAMjM^p$LS2D#Y67I2OW3$(^uybqE-k*)fUSNa;R>U>&>g<`6TomoW?{dn@9>~ z#p)HSX}sf0*C?BawgnBdVf$x}XRuq*ECd#&v#n2InlE;&ZHg>6J$gCtHdI%_ahbcZ zj_xDZ3usJb5)}jNn942Fwj05{vlnMiAFfbvLMcflKJKI#qR{SW1&kUX`kt##* zxcYOZZ#tAx)#(EMb=POVUyf7OW4&LV&rY>yT>B&GA2sEFUY%fsG(Oj#F2{U%@fCdG zxb+dmJ4aHC0jokMc-CJ_9y7? zs}xbkj=R|D`dL;a`IxuFTRm!~}ZoX6A-8^$Mb z4&ybn0}>(VDpQjMbGhhkQ-|q4T@e56RyWav@g#29Q~YJn0;pggZ1wU!jg+yEC((Sl zA#JU9#=l>E#}@RQD9^ER4J;Q!*g8POqNd%j1V&g|(9Kbuao@WV{njQw7=d8`6cORH zp5@S|!DA@bFAAG0QIly%x{|yR7pc^3ELk`-6gqm><{%e{cTSrZMR#wUNWc;&6Rc%$_7!mzb?*pO2$d%cb3|C)B&xtF0V=dd$$KO7MRHxe4%jpT%F8 zc}Yg8xs2EPTukI|ruX{*17gBVXbb&mc9{zrU7W}}`t{!*w4<^+RwS8>UT z2q>963nMu>?iq1w%EC9y8XZGc%LMO@&Nq6bwH8N5qj>rF_S0QgvNM1yFgO@q=-Ry} z3@4t;P9G=OnwHnvM5)N$*g-UvyjsjxN2YYU-ElXHUW0)sE;2;q3zLmUhhtyGbJ;I1 zCC+VO;sKZA-tsz|T`1$ry0c989L3rdzArSOPV|zu{`}8Bo|3sefEaZoB&7E|%}X#B z=9_Sk_?$~LWE3LOi=B~NHOr}Lpry|^8kAN5CB@Dk!i;89>T}|uJ1F2gfLWP{>q!X$K#54yOcuJ zz}wP}oLG?qA$nzFAdKU7aWAtI?+7@o3#GIes^_b7JQZ45`mW;jvQVwj%2l4inMZos zVn}QqyU1TFKJNyVaIUe)Q5gJ0{L)DeqlqFFaaN8|XV;Cbcc&EJf3}JX|LE$O50y@=YwNwKp)eWC z6A6h*ySgsy>XTQ_^?>NlR!FzwLk*XP1J$o1T3iGc>;fqv|mz;UuipjP}9 z_YLd)DeC*+VWxrB1H_skZ~qek=R93^<08*=rY(IAa7E^+kn7XJxc|~N9mtWI-JD0z z)xT0D#(*Oo6(oBjM)=dU)U|)6mUw$GJ+Q_EQh4?jYhSCvQ}h#N8&gUl^I8k*^Ajg7%pqkz+9zXdJxKYd7_!jtfDC|1yD4na4r1e!^g5IDYUYTl6 zB;Q~2Us(W>2SA!^Zm}cY{-@%s)Nl%Ck@9EhKb&8@c8H&QV7?cDyOxcHyMm`H=bGv5 z92N_8sv~`W;gNevtV9*)VEiocnGK`GmRM^`Mp)~qc3K<5s<2XxI0q^M_ znC~-N1vTuJ$n7d~RBHk>a;yO|bh*%&#!JmBna#Aok9kxz-{JF3eKAYC{Z>+C$!wvg z)ZlMxuJ_p*`y8co#u-;5a|=nFh=)vl@^=`#EJo!$BO}Qr8pVR(j1O|`&t6CIO=T*% zHJ0C79H$R=eKJly8dj1g>I@VzZjU8$>3?Z`vn7;i7a)N?%N>U6QYhUrnq7{Syz_gZ zd!}@KYc0lL1Y}hH7ao9+`t##le=h{sbedn@SLD<|&{`kiO>TfNg0pAFVN)E4haJ#Q zY6vy_^l8q(k5Kg;$J&&@#8~fvE32W?R_4P+*ENJWp`)s>k z<=GQE=qICce|i|sB{{-H(h7SF*V|EpoKy_Bv4o<_KT-mN$$T`cWH}`XnUxF_@63j3 zzxHFivh4H#TW3bbB>9~UHVZ!n5c8}LokIO|MO3I6%S=3}y;XXx#k)`LmrY;*tAs*p zeg&p}cq={>sJSk?*qc!t<|A=fy>!&T}H zRqEqUnhmvIA&2W}G(RrIl}K-FkCckC4uV$*Yi?xC#xer=`oL<|52xW=rP zg%7*bW&*(j=h=Ob4Xxq2m~#a2WB4CNSlry)V3UxPQ(FrT@_RjSv|i8ZZ0+t!82CJM zDoFDw+m6cm2wG$D$ji%zW%1c>h-%kaU|7;Gcf5yx{n5Ak^884Tirt+p{TM?-`I9UY zkTFe+q;k!`MH~8@QgJox@DLeQ>yPRjr8Nx;|K$|D!7#JN$gEVKrX| zMB`0-tWfB+NL9$mIi(dd<59n#m8=B^>LQ@1$9*8T0pYP&5u|Tf%X)m>*x1^yRn7La zT=t}K_ruv4#PVeEH|#w2uz0gQvLm4p)g}g8(`{B8&?Ed#&F_;Vw2QcSnuk0k_2J+!%p&BEUM0JASu2?wN{;c6`Sln_p8p ze>KGj{GS%-f6g7i-?Gp(U;EUxTRfR6eY#WLLmO>$c=Hv%!}2YkA9POL-!;%k6*C@n zxa(+Bof`Bcfng#C`*LEcytS;*Xy9_^`&|Y8O33w)x_@x-Xt}x9m#Ojb^RnO@c)F?h zvtwWgp_a>3Xvocxt7Ttj=0e?DOt+dDKOOqX-RW8!`=I}g)s=tqG1HO=#MjekhTgD$ zenS-ISsb`eGWYy~XWYW9pZWfY)#Hyj<2S>Tam@iJO^9u+=e5XSgE{SZ}3?qHS4xwA{F(*?;lji6z&L_AEbthF7mNm z%@x)@OHmLG(2V=WVRIrZc0|@^1N(b<(pGGVddXlo&`y_i6+c}WMcHADyc3A^QE7Ggvr|1~Mm6$Sa%fsGG;2!tvgspmK6nElQ7b*)-f46qo>zC?;pFJ**n%u@D^OP%F6rHd25l{c-_WcE*opnRIuJWSM6y~@qfxPK(kt?s?cZi`#STxJ(|I; zk=%24lXDW|X=$cRUy9319Es!ArC*XMu^#FFYWe@3=Y4!%w4s(1i$lQ&ebPF)d>J|b zLB3+1dOz`H3IvT_mEC!~vm;J!YAuk_7fq(XpkAh!XLGdl_n+)vU0GSF3kh8r9Ua96 zSc;RA6V)0MDSEY%_y>ER{Yfgd3Sc}~e_}m-BTjtr9>ra87l2ucfS9?GcjZS{VMJAa zY~3@~>m{L7nud6D3-AG!_%2=6hAD%MVO8g2B@i8p?q8O?6OBq-G}w6R74vx;^bhgt zQo3H8=*z>nzT5L&?~nS=r?6dS#?huen2*8MSc$|Sl_*xkTdMZ*na4imU-A@1j9Jz+ z2*^P-FHX+KEzQXdW4gqo%Of{Jfpbw_Y|4?Qi`_M&xN#LO~0z^po+V=kALC`3CxUmMtpI zO90IrSq~xgVcZn|a;F@0dOGoR5WK9oWw&#j#peF11ZrH{X9p7+#*aya)F-m2Fm{Z( zoCQj~mt^<)or7R{Aw_X6&Y=r*jocE$TnvP>M9t@=$tnWDR8emN>Iue2nz{dH z5fhX~|I-K(7%_)-W(0XN9v|oT_mC{Mca}86;%K=&xjIhsmgtlC9RHCRQn$%#;w)uT zYG!Ypx>uvu&Z|m!P3;JnV>ch`8>)BS)fe;Y`XU3Yu2l2V`%<4D+rx*m?m63Hu!lY- zrClo~qjBlENm7*HDz61d`NVx%BT1~gJV-7 zf5Unh-4)v5u1DtmK}kSjp=n){e%piV!XPP;p#|3iQrgGpFSmvHb-NuHIEAs6RX4Iv^_?)_}p`qD(Oc_9Z~nE)p2Gu zRWYB7A1g^f7Hn}V*}~x-L1<4Q{6@k|Cs^@ON@OADU^s$W`cP85n&PpG? znQuIX*KB?LQBQT7;oFbw$JoD;w0JsR(Ae3E8^=*i2X#3DKoy@Vq`vACe=z5bPFYVD z2a*F)DrX9|w8jT#qnz)&bNJSe)-U|tv6AfHkbEhL)hOMF%ktwuc(PzwF~Hy1wU3Ne zn2)7L@u~9tI^3On;Ptz9wZxrryBPcO3ea?9ug<;*wcE`b%0^=iAKsFEl3x$Hc)amU zec{@pJovMYBc{IElS03QEzUeqhOhk?sES)DA#9tL2o%`6 zFd7~1Q#)+d5|lMYN{U7}Q<;Czb+@%~l(+IqSG!Z{x{$zXnZQ_jP3-TxcN_>Ws!u!MZPrxfQnJ0~! zI1$KqPxsZ_+=WjwmcDLPR;#r$gza+dE=jY=?JHTc*0A`t$2;;dHs}78nV$uf?ZR9v z%Z1Y0naUMu^V0$5v%w8}z1O8%s{BNzqp?jYZ$YycuV z4YnU8J&nHt1Axr7)EUTb$0`SC1(SZzR-!MOI1gJYCQGSR+cWc3@%G{|aLDp%Tp^O% zxDz84>TA9`MgdzhGd9-$q9Az-ZJu<+ovxN;NRF9`sV-y$mK3|-^ zA^Rdu*>;yy(u?Rweu7GE|L)le6SnGhj0E(qMq_-}L}`_MH_4~C}w=ldjun^q*^jg`z8v82CJ2rhii{HeAK`r0JzMVA*vrw zvNM}ZJMB&SY0zay7{GI}HJV=vMx7)LNvVqFchmVP4C(a63dseBwQ4`zhbLMrqy-*0 zbo8AP?Mh>e`|tjE<+{=Ng7sbKCtLfDyMheQs2}b-*o V&lIYIu7c7e*fac)jnP> zUBH}KRu(EtWQxtQA-VBpM!j)ogBf|>SjKC()!~EO;)Wpt&YqEMKkURk94I$XLPKR} zG(dfX{OmG^@iTtjR))|ysnzYDH>@wELh*n-Z$=HhUFh!F#wn%b(_ikX+xB!LLp%Qb*KL;X*)n6)cdLjh zZp+E6C?vqv8t>=cnr{+nWHxxOeesv}H97sd?d$~2@YUKFI;2~1fUK+g*gYJqqC`FT z*o{b)zTZdZPT|>8^(TNyd}Yn~*Ogblo{L zg=23@UmI5}uh;F1=delVrAkPkoh(+z=L$Rd$HKv;jy-IyO04Lj%NtA*WHVb zwgaR$@G;yR-Pou)hqRZwY(8RVgy_uWz3x_0dUS{KCETSE-2lCFiwR92ClZV;~O<B?J9x~1dexy|j7A}A;te_FhA_UAD^2PSNh(aO<6#Z_4+fjXRJeszB&v(NI`4d9=v z=U)f)vzXNE=7N^O;?1vJx&q8^aZjFz%_;gkgF<~|g>k;Uz)6J}zD5f^FZ*;UXN$u$TcxGuCQ61;d zZ!LzxT2S3z7N)Zbo~h!LR*(5&LXV)F5@8t`TS+ONV_wJz2UfJbV>;m3*RN!#Bi=F; zxr@ZSJr*T1OhRkmK%WIUpUNiRWoFFx{T$5AJ?#naU9v4;Od<)Qk-lu}mPs3gs{i_< zM8#pON+^o~Irhh!%JNssWvF#rt1I%J&CfNuSW}bxBr2O)Rg4Ww7s6PKKZ?Al7J}Wn>|azmNUtY0M@PG0mTbZAszYV+ZZU+l zj6Rq(H64wBicKSF7e5 z66HiM52sJSLqoUDCQrZJ=ENv^&TK}P#Bmn2AU5#rl@!4;*9%!c_0u6EBx^x4r^I z7ULZl`2~ojG+7m!n0_;FScJ#bFBTF3cX7G8Uzego!F1r=BG+|M`k6yoibAJ}aXx zdA(KrjF`?KbVkwPB#yAbDkDh#`~v^b6L?ND?LKb|bfA)kLvteFCP<^D1UHDv%8I5n z-^P9YTEydZwvyUwk7gQw!7NYZHc5olR>@Ietj^f`MfPLcy*5#s-F*B5jH-g*O;8Hl z2{Nt$W4YF5QweW;_=OxQGM?hI_)_BLjJ=_SbP!XRUOpB#)p*k;pXn_fa3L zk}D`c%G0%%_FlyuC7l)x`PtvxpaS$vw)It-NhIz@`>fx2;JSSlg`F#TS<=b2{4%Vd z(I8wjb5Qc_{rBwcU`46-w|)o8GNnE1A#O7HHcV~8_mg3aVb_e2-=e&6Z#mFgcbRl? zD=S0bS(jqnN)tjKzACw*d~jnTmO%H)Zi`URj&YPbWaDeVdAlVyz}MBn{c#c$rRcKG z9bFF~g7(QKQzv!~nXs*4@a2M(+Pjq=qp>>7*;f{grtv)M_iUCn~LY(B8NUK+8g;s9m_Sm|J4 zc}9!mv`RD4Yyn>-bdK0z>thJHrTs#+Sz0W2hCoXq*vw{_QFUC73e_BnbfgLn%jG(# zsZ2@D=cwA)s43{)9k-%}qijO3TyLxn2p1X4Ek8B2x{|0QlR}hc%Wec9S})9h^xH3DFum%BBJXcI_s0~wnAfIlrD-Y) zrh7`YtneNy6X3;+&?~ar_<%I?{Fc8^I$#{ZnkiE9|75d}Cm9CFb|?%C4797hLNzuK zQnRos!A(Wou~z>4on7+d`xM%w)%gON4^yR!XiCJ_P4RajbHjjfc)ZN6Jq#~Hv*Yo! z?RTDnBNg-zZvuThwI>BdZv2pNH_s)E+P_nx?}b!w}DtxfhQ%MqXw0pdZ6rWuwa_t!hll zr;0)yGHSSU!1;?9sMjo%^vltSHY-&fSyukBt_6`qr$$H2Gwa5Ggk&t^xohwtuw4GY zxcW^6fw8f%Gvc)-zFXy?bs5S^+Kid--lw=ay*rX~qlQp&uR{V{jDwky0v*!HF1_vP za|8OG?D5jMX;E#Z47YkQL$OMI#Q!l%`9=hGM4st5?d?e+?NVY($)VEw+die15n~yf zs1(t$IWYex^Kxb&`le(mQMglet~IPz!%rTG+LrmjajVgRFu<_x8ZAE1eKd<3_M1Y6 zPMui>FB#fYe+YP=946NsZ?k_3J@FUuw-=u`OneB1A63}sE8Y`B)lSh7aR>Hd%wc`w z0#QIXh6~|z5tM&ldg}`vHrjaLc4jCW?$zdpc?dfjkrdO$MJq|5W65$FnOC0ZS!~Uz z%q&^IW*g6Vz_sY9U(v}yO4RD5)y0T7P;zonlgN)&Kk2Ya4)9GqgmLnG`@-#d9;@u$ z%MRVM3pxs%R1VY{iW_I;%z$mZI7i_yWGOnsNAhzG<#ynlJmGOtHMLwA*NqpeOv?+f zlwNjg4~otxOQkx}{)L3L!O?-9cQ4&C4^{GVMq6dEZ}o89fGVqeqfSInHJ?X|ypxwO zKfhneWpVAhRB7&EUAKTArwCehkHkFWIJ@!)> zAp9L(%qc>m7*~H)^y8}0y%qM56$~c)uQ#}_hD@qaz8rXin}BC5@93l5OCj|#C{kYE z2Aj=R7OiFsaeI8azp632`}oX7)8#7j<)73^9vO^T74+?E)M##k(4q=Ni5xUm#{N-l z=&1p@D;o6lWAt}(hR{J!6R?fgGdtxvNpIu#nLp8B9gzN0@WuIH98m5hJaAF72;ufc zOT_<_2pFOpHY1gvH4NFw_98$Fm3Zw?k%gbj&wy^FjyFWFM#xSD5% z>OylWu5zr~u4#9AF~g#~qyuGIrSrq$^M|!+sFL@}*HvrO)dp456HwfgrR-v5WfH*> zvKGF3kqTD8`{b{~&!T{qTH42L_?a$A^ZkIOfsrW%DON)L6%>&LCL8)`siso>#89H9 zyIWh<;~dp@xUpiH_7tx*YmU99ku%~_C7WRzSf zSiUqJ6HdX|Ts5z(9=fNF9M-e5K6k+WS4Gr!ff4*VGfR0iPif?Ua=9Y~p;e!lJ#eH2 zwzC%C!k9CD|FF?IqiZxT+GG|0t;#<7%GdPC zt8@|jWGpqx`Nw)@5RUml1_1>twVU+{yT3b@ki{Qo{VDpQZsoFV2o>>ImD%h{^`BqP z)8>nyG9`8f;xRd;q_XP5 z_*E|n-kKIjT{DfYQ*sKQX|mBkp={+^|MW*C}Wmg9$MSYahYH5c*Gl!~8Cicq@ofU-G ze(R>}#U^&xFh*38BV=A@?*L`IWWzUW-<$i(k|ID>+b08^=CC^`hGt}h`HgGZlL?iS zDErPMlWTD_{R?>Qd_ui>P?O3e+y0z1aAb&iZzo4`nfy(zjUpF36!F2Z^`{ppRx~nY zAWOWLLA#6GhnV^tGmpF@W&CITidnhEe^g%)qF(tFsh3^of!ZQ?XLE%FeMUCu1pP>u z*X1MFI^$a?>ya5$g-COuhOh6OSoWk%@4UW%_<=BYJacHy={Ca=<)7cRIpllVypIn! zOa#f)yp>czb6{D@>*Fxd#ul>YodB2X%FabZ6Xk0MfaP+&j3iN=Z=a<9Ti|>X{ zRZ_Nios<;p#ABNa-;!6*9d>>R-|WJt8ya9~JqI=o(r?Z7J8PkyQQmZ~yKa>odigMY zTK96|>&HKRcuT@tfUx?f$Z0E}^5ROTRy#i+1)ROPaoB6VcOtp@?@t%T_bR+&4asim zUbF8CTR41PJP#&v;jfS8bR@ zS&bh(9$#IZ5LPu`&o4O8xmbcV?OeZ0CROtu!?+8z1?r(Rl||LRGOeO7;zOLj>ZJAmSDz+NK<9J`|YHpw-H3qM*kxKV_>K}#XQ@tOG3UzAHS9twd zv4~)*&dI6N^S-~&e3YZ?$!P>bvEq=Fvl!YH39`*Q#=Yory0^m zJ-9FrScPLnkwOwtnbb?QaLy&AkA-s?iSK0*R$03A;`#p_{WHObIcQSPa%O7FhDCjq zU_z!j4)z9YkZRg7JwF>PNas+dR^vIa1qOj75Ym7HH#?ojRe2zm%5ow{3>zI?(0nva zsSkhxl|nJ8R5??={02-&`#>n*RS%xQI1pka^w;8Ta!SJEG7cn0>;b};I{QuW64hc% zAloMjXyHY3C87(0%ZjSZMhMl^jl$sQ_7k^o{&gY#dl?3PBG09GV>+(ThA+3s6pxc# z0WhzU)KQ)yt#?Cg5j=DZOPshywd|soyU2DCq5Zi2Xsg3xX=lwnL^#(gYL$TL8?{a6?L-4$4w^0 zLc}J`0JzdLAb+0$Kv3WERoY(6&hIY>u-hmpbDaie^fSa%AArvTf!)<+?)LVZJ4_3$ zucvP72;&dcHoM+>ew>rvR$C1q3>=JYDO@4`hm9j1L2bN->lC!vct#24_}C%7>!Ypk z*ENd%O`NKCaeWGVN=LbFmbT)eB_FMkRyEoM1G3VDgUiH@(1#wS!fe)oRV zVHND%T48sKRI>Khs;OFVdV-7>?eR!UE&kz-!%|VcyC!OoH9{$*^TOT0vA`V9l1Ci` zGcow?k#wfQ2y4x>#wrkqiE>JT_bhjYlT}j=*UzPn|ERvn`Iu2XmVch|oR%I6?uXf5d8|9_m6r~di zrH-zvH2PO;fw;&)DOs4?o-8Hs(&ES0$j=^`<7dlkHL|;&E72q>?}j)q)II%G{VwCB z)xFs+U^NF(We4-(K&x3@E?)SGj=Fzzt%V$74d=JEVQOu8a1?ko6y}^KQ8PN&y%{K@ zG4ayX7Xc#>bMub)OT|S_Sw;Fn@ikT2?qEV(o52}_7tbY)cJ&S#3<2ua_sAHeSf+Te z9MjFYaTBJ*Ad~9&2#0jKfg$EOd?tzt8Q+C%3yM9Ieh*5(J=5Y%4Anm9aI{rCwjJ_R zZ}h_fkXVK}>RfIOl!sh(jK%XJ=3K^9QYQx{*U!%n{B|RAIr=R5tGxg`Y5u#8amcZ* z(F`Je@O*E7j)YTQ?5$HEx3|zUzlPd(JKX42GO1{F`s6{BKte?IH^QVIOyEYB)Z5)^ zY&h2$Ig{3kF3IkrDNEU&QL>_743kMdR*lt0Ut~K{QlJ#Cs56Y&mW7;okzdT#&IO=m zGvX80bD6j2>s=BDB)y;%N(q;P$!eRDx`Xu5O3Vx&^c_Iol{ha>KpPqT>JsHK3TR8M zt{h^f!&Dx4sdrmtOJ6?RoaAr2qMgmIKt_Cy3v!=$H+jlri#McNanz@t>$bQKrjLyu z?9c7YEXx7`kXCg0(OZb@9lj98&xT0%j?eg)BPa(;n^+4i&WWtNR5WmKV$#wvE&sZ9 z|J%75^X+fDOBvICjzPI;f>PCiMjlfIx;c{C9wMS<7ZDLDR?HUe<<6Us+yElORM2-u ztQGyoJ265W_3unkfu`sV-7vlYO{HSal9jclNC~5O0O!v0 zc}JxJJCf`gHm(epmh)45H84Op*gL3(tqssk&GM4#pMQwE_-JmeuQN$zxB=DAp{Q=N zF#ZWTo#|Rq`#(kU06g)->!pRm!_9~AsvYs_wtA{;hcBe1HB9*^jz-q@oysBkoxmkc z>nf)XkCZJ-Ix+Hi()wGAv;NS!V4Uh(Qf^F*RTZ&oDi*oOakIS^OKvA)T!1r5IrmLSBdOh#8 z%8BQOG+yO_$gF%hpW~bh)0Ta*Ufg!;POV7d+t$m&bHw65itucoPoP4^z(J3&emvjE z7^K=~id#)Fmk+^m2ac;~B_Q7Kf4J4^Np5lS&H?|`{_sZzG>;FUOKhY!kYZnnbSUo?71T1Op$6&z)w-sJ6v-~_#WYRpF+CQ)>1jo4gL1@ zDfN>=zRZ5@SM}skG4>Z9))V9d`15voR7YrtJlIW$vqU`yaBCIqmd+J+6~{Ca2`DfX ziN(RuGa)qpGC!+(d%@ES&&$9?X{&-?s=rB6p;*D;%=wXrSEkl8eMGy&?EDpx7CtpIg{DF+FJK`@;j2bGc_mc&8g2xPSdFzVP2Y}@2=(M4#`2|gV)fzgO}OE z1Fl@ich!hfJhxvRyW>COrVC7sXGkOT?xKQiwraFF?ea!dE`VW`PDtV6pZY&P!4itE z(v!22e<~^}rrTQYyAyB=NhT1A9LacGBIMJ!vn3aS2w3H<@7*MP9;(md2KCm2e8F%M_Ub?ApzS2JTOje5d>po_?||8CCzyGoEFJkg-Pv0tZAXAU!TZt0cP zb%WR-8@I3HdhD)<^d5H0!(ANN4$-Wt=~Jjbert{v_t|kY~dPrJ|As^8ofc#L(8ffgv3j-#J8pGB-*BTOQrXn zifwx&)N3cAZh_B8iAkuIQnWC~$K&lDFx-FvQNI$Tt z15T&KH3t6!(h{BfFY|4JkXXi9_R({40Y74|UND2L+dg}gv*HmVD9kr}w>-!%ek z(ech-9X!c8t7es3rC|?x^FC?d(cqXJlF_P18$v(&8K~23FkmO2`?|A9-Ihlk7s;2? zH}$AjYAa#1y&Z*Dii30B$oKWT!;^i0lh>$RR)kUbP_m^0_PE^>o+t~k9SO5vHf}o_ z3tO_@<6xjMKtNKLswNHOZwE&H(u0$V6{QBr#Frh+x2C1n%@?g45SaCmSowqn> z^`mj)>(maTYCyl^(<>&vcX+nlN>4bIc>(+v+N+>^ zt+(F%Jd-VAvwWRbuSLNWJ1<^W@f33Y({@&L?zpl;6Fil=)h$-8s#hc>8l@=&Xh&(8WOT^7Lh`>7#!BWVHR;AakVl^+mP;4&XZK<*fj+ zLO_ESH+i*w@7Tcr4lqL_10I&8WsxLV{8U&Fc}Os2O(SI)4!#j15y~U$A>y9K?;;|X z?MvFo;O#x54ml`pQ368!-n!p4KvEN+1$xmnM~Ocdy?r{ z&{mM;{j&e#L;#oW+9S%ZJh*kD)FgdN?aWVhizAn6*O5d4<$<}VsE4zPM8#)mvumdu zBWKT0X!z#P%;O9rgjT=lzL+(EPJJ6IBd~F3lK(m2*NKqRaz|(rzcS9y|9XjPt)ne;uiVRg-1&kdsP!C6PBZwa93f21s06d@Q1)fNm;=nLEU@~lR~MRBaS=ILDy z5!VLZ1zZ%Wr3tWb3kR~YUYd0d0<;1(Sa!p}0mj3VBLD}MQkA9EO{6bkAQ$tfT6}|9 zqyB?em-GrE!8B(u`@W6}+AW<<7V?v^->&uO;p7R&;ZN0i0ZMf|Ih={?eRni|pouvOr9UbOJZzAOf(Ge^;mQ z9)5jg**g&a?6@OYwWmm3@BQc1C+uVMT`*nPT4^HGm@dp~RLAQSa?@ul$({N?UM~Xh z*s--{LnYI`*@R{09;?f4JC&@yBxAhsfkF@R!&z`dy)e$`cO+V&-0z8orBBJdqPIrA zbC#%0$|1pi$M0_%U9Jg zWe#e;rtFGkY&N)~wC5@s&owK!;hyney+-%6K!3vi(1TsjA_RS~-a$hL*3^kr7Pl(= zy#&3o9gId+9qR+-*W|5D)c^E{Hw<-OaZjG!Tgp;HIkRutgJq(i?m!{uRG-lM_5-Z7 z&g5FNtQ|@!4&N$lBk6l*H>JzY!^6WQuqA5` z2vaI-^Li`^wYI)Kgh+M%YvBLCFw!c~H}odtARR(%Fa(yTNQr8OsloK~Kx;4bIpC%> za&CVE3EA$KwnC__n_Gl@Rrct#wXbB)ezvAo_Tzx+3^8+chw?beOAb3ig*5q+`D7uW zg{-!L+8tV7c5nE~N;E#G=`LDbQ{Un{Y}2C>@db{bU>@PRy}@eE{*Ly=w{&U9=m5+xn;!QX3I> z_zDNDcstv_vUd(x7vyK6{9$HFK^oq-)TIty&tnt5?a?afgi;!nvSmW#4Jf9{_nUnR z@l8AMEyZF)rGiUIoOab70upj*^6kT!((cK+l>eFV0nDi_k}!h$^;fZR;A{W7q(aGc zj$&w-#!gvUxsvxb+eoGfgZGv%Hp-!6*C^Kfh#qZpqqo86y?k5F$vNja&-0%5dB1=Brr5LhzW2IU zxz<|OvU>t#$yi=Pp&Qb{^iEKft;cj(LgfozG3J&Er6w+PAE~gg z^5_g731^mCKkAu{AdL=Re9DKRKMGYlmEM_QR(Pyd#B1i&Inn&ey6yg;7#`^4od*8rw2biOkH(dVg3>A81RbLea@beRF;)plB` zy&g4Is7diJ<#UPsTcpB4gB>U1_(mRYlbrAr7!4*;l%7NEoU&H;$HM`*Y{eSlwEh zNMnHrF0qW3I>vw+okz>3P%MxRR_*|B3xr~J2V z{+bhexa^woI?&~&0`z%)|N7N?!dZxm*=c0KrIsnEHQq-XL<-aQclysjmq&t8t;R|R=~uXpre^HbW0 zdXn*Iy=__6MkFsMRN@~3#p!RN0>}yI3k;Bx}$9cKpXcNiC{pmEu zLHA3$n1RBQMK)p{z0!rJiak$SRWnubN4=Kr;wBKvkxq~8ck&U`Qlx&ISL(^tD$)sm zsVxn0h8zmaer;-SEjCYhZ;E@q z9phrnMhIGXBGj}WRN!@KBH-gp(Ni)KX4O#GlTXz9iWk71o&t__uCBb3;65~~^sF*e zqX2_<0HyHU}}M z&qmAi|1Q;imoKQ>Za9mL{ylwt6`SYbB|9Ec`-{9tSXdaB$AOLBL3gGwl0e*pR4<_? z?E3?EfNISQg@9ZzX_+H)V;_9#Xbj_4rPuj4ow0MXq4D$zgT2KS(74`2&6lu`DQ^kw z_BUQdeD;-j1QDkfD0>;Kbs8-tARusLXCngBtt&Q;>>2{Paa4_#)#So?9GR{Y8@`yc z0!;$G<5DzwbuM{4nwsD4ePd(3CcOvL7<<9F#Op!msazgT1WD@|_+5UD#m&krJE}*= z!tQ&WT;w2Q^<{mcqwk$0?4w6>%PLW9v=3aDfj*x5Cv3PQy`?>wQ6~r61lY?p5)nrM zUx>Dxl&{gneCrt6GMU#XnWOo$+Mk5n-`rKL{+@IjXo1>puH_ltT3;Ww{|InXO95VV@>l3CPhPtVVzI#> z?y!lNS!+1aT#eH38mbQ3RIe|0H%9(CxvlWpn2-6e=#!@53X@rA=}yINz__&*mG7M^ zUP#&f8r<29iW1LMUH2QYCa-WdZ%m?JtXo@i?Zq#*r!~(|XMV}}>TXPe`gp%jdO5GB+PqXayLRLCmDL9A z#L)=CbK$}huZ_TU0#BCLhPPfWnOSYH^{wR%<){Tkp0mkzl_OqWQ!W8U64PvOJfy+Q zcX&8QO!CrtFjBHeGySdg80g=-ie+WHI4A9M6bFS;Lr!;x0umAd9#j`riD4j#5{Z3K zX*)af?cpWk_rsL!s*eX}e{lhr+ZFVYA};o8tmBi+S0;UbS=f%6qby@6~oG2fjYYGIETQo)I-HyN50=MbI^`IGwG zue|XL?$AkV0Of?L!JvQ?9M3sl>O=wRmn=ip%ITdqG}^|rNVv%fO7A16S9>%&v(h<=9 zPeSmDfZ#-ckX&OF;nS+BH2a|}=oQd~C(ik0HHfbO=x$RU;h1z->=xqwurA{9xkWBP z>^9>53*qtg^x?(~_}jIXdeu`$3($PgU|_1t<+i6(+CJh1eFseTZ=Zp)i%yaNC>tEG z8dOxRV+QskL~JW02#S|1oIY1_sW9P0=)Z7x*(Tyar~>Ue9_`VY=xN?T4bQ~Z=~nTanhx z{{h3}q30Vl-Iacj&g&j_H@yNO>kfog0q<&KmUp{rhn?`JkH5{Zmi;S-5|D%xWu{GL zvL1q~hfrut8v^M>X*Sp9kGDQ$cEzwmAGkkEQBzNirStv|sTA9*qKBF#07;6hQW1GN z#w2$okLf+sgu~vAhX3uF;!>r&Hdnp!1NDlz^8yYa|}{D1L~|@kwI~Z4p^J zW#hKi7}Cg0IN87Xgt9}lQN{wUR2~@yaGTg@-BlG&Ti^JAM|xJ@PA=nd+S4C*UE8HZ zoajFHDyN;DoJ%K%RX?%XtcdNXei)Q7gtCQTiK^wTW%}Knd7KOxt7}|*MY|KM9du^u zRP57Y*zszQ@duqp(k``#Ti!L(sgEwo6mecvU%adSMBy#6TH;}x&^Z|ui}NiWCVIb( zAby_nGVQ_5!z^kgfOn~EW(hJm&SAY}`JP!&wN`$t0wBbBzmGkftmysI-D3zLm-!YT+uZWOaz!{7-5oBMKZj zpnxB4MGMgmuY2`@^{|Y8{?T8wtEiiJgU$*~U75n@!@qp|3(zFN;Ud8ROsub7yzqT+ z_jMR!nQ(7!uWDVj!KO64Lq>&8?yLDr|IpzA$6?@kZJ6gDaZ{9bZpB1KfbQsdCtuCSUX6b%>Y6 z*Of}+F>A*Ypzzwn2#izBFYu~<5|eWP!3)k#+iT6zVREcCX@cHqlqrk80$TkhtA5`{ zthTfigy!i7s5Ee*UaKgl8S{5oWQU2k9z_B$-kS^mv#vLVWDu?!Bq%t(Y}sJncX;s1 z$E>TbYM`bDi;z_)IEZ{et$7V#Fq++EpQ*5C;=S!!Q#Tm)f#@W3a%CV%rX+P5 zh$`Q%j6=;ZV)mcqI%2lZNwJkso?#|3Jc?azA;nuxJ)Yt@i>=}$(k_EXT`P&&T+SRU zmeGYdu!&s$>*&F{l6xcM1{>CwGAt-|JCV+0+bZ%0i61nBb*~C+?AyNge=n1}gIQ9# zBxauU_@fYQLjYOex$aIc9vHr9`11S)D6aWzcw|0BpG+=|yS|hAp}Pgp`(<)xIJTsx z{<1A(3GCyK;9(_42M11|)?dzlSuHTV=wbN!tB2vsJ5eHbVx=QtcUq-_s~6RK-q(EJ zQH^L@AS6exq>RNaht-vpO1BkcM5X;z^DN)OqV>pXt$ASe_v+<8qou#{CwgBCx^%Ua zy@vJF%ICrDa!W0J^;`R!5sU=bHydvkKh`YHe#=^CJen#&pd!Xg*74d=7w$&l__>x+ zf`+?^3Sb9Qe|~*sCd#87_M}5(UXzK8l-MaKxe-1BG-@z&+eUJG?A*zC>CX2o@_AD} z3&}XUBrpbH*BUvT>}FLZcGvtX%aD~aP7gu|g$$7I+w_>Ck0Jt+{dgnFH&FmW!#=XhBh&L5z}r^JYP(q7+gE_@Xc#5}Qli~iWdH3u8K-helGxiH75 zt3@Q|{6~?4Z&Yf8`Tn{{@<#kEX4kxxD8~{YnH|BM>R~sj8?em!k_Q_dzVn#vm%L_Gq4)yX;ru_7!=3aDY6CXtiWRzTCZbwT417iGmdT zu=3jv+%1gfr_a?F9`AUhWstJ{3w;&`Hn#NfeDp212UdR+Y5wOY{s+!PlSp&vJv4I* zawK=jti2Z*x9Gl5bswg?K8_5}h~E%Z`z!=hd_BN-aw{vdt|6$Yfo*JPUwNKx{eY;J zgiQbYggmeGQ-%eN5)aq4$YS(b_FIDLJEG;K(@*K64}@Dp z@>o1x2G850E0(GaIk&S0g0z*%UHg;U|g9 z3p}Hf%h+VTukXkEwUYuryym=0l;4Z?V{)x0&`0-P`NRkBsl&FKQSIuIbBOaKP3W37 zk5z+|ebA#&c9G*kfy0vUXD?ShO?zJX@N>^ZJ;XX^#j*C)_KFen)GN2UoQEpyx*EU< zKX!gQ(dlA^md0fX=qZmjj78|ghI5_4zqY)-nZ^oQ$Q zqt8?Yv7%f66W)>Qi@E=K@sq)|kQ>Lb8=g-$>}olFlErh7V!O)3WZbU@28p0nyzFAcqu66)fwe4OZH>#&!fl zNLm`#uVf5u;Ji#-3Y2`n3J{vD0sTm?V<-vd7(;J>CGLOh0tle)_v0np;7CFzijM4= zyr7F>xI9g6c0sAmH0$5Lsbabm3BHtgy;Ag0@*Vh4L7?qXL_ZZxNOjR7V6r99CSrq2tK^3DxePTP&Z{RjErQdyhveil4~ ztkWLNK$#Mo&zB3f?w)Q;KRh!2#((6^Ydw&s$=!SO;K4N}jkXJ-%GZEYCsjuY8 z2i1(wfQ7t^j{+vxXJsj#r%3L?hk|$Z3B|@2^1I}HhaX?eO79 z>&1C@Oa|+bMb*jvn&RBl*I88XRK7J;FO>Ia;Z_|{YbM+uUFB$V99mtKk?zz0P%h^h z=8}I^Zmg*rY#r;@lLygoSf6 zTLBvf0q=(c?)%U8|M5?<*3})5HyF-eN+c$H(##bLV{S*X6E_SRV6s3Y<}8nv^PX2j z-1*c^h5FfC;IIdEZw8MVS0>e~^Vjo+EJ3T?T^$h=pwo)<4cqpjS%Y?l|^7#?)&;K-VNS{+wtT{Czb>EuLEO2l*m=~FKN%iT+Z zNeJ*jwwt!1EY|Xcg=*pq+f}9~sd9O8ZK~G$c{LNdGrblarvx}kker1>4 ziESdqE5;FY-pi{;f3$6J+LE^wPw=ian_LocI<4L&U?bWx;abvB6r5-=AkW%Auoz>_ zt7GrCgX!0eW5}|uaHv{M>uuteR*b<&-}T@JRfH7e}xQz zr(mgb(BqA44R+=hfn23gs>5l&eS}n(9IkPzL*$YI(s1$gnHfZbXSt%-1rn;NiwSIZCQK2EFBkHxtb5(Gig!xlld;4-_I? z+}!wA`4ClNb=K7@Wkk+S_~_S|N6*w!+)W$VdPOq0;i)wRuwd)K5$hrTVO5flAjQW| zH}Zzmlx$RiR(0ddX_d<+UPoH$@o5 zJQ|&^VRd7Ww|)ns%g0-vo?+Tfj)B00$pq(8j?ax@N@I+6!!|0s78b`Da6e&>Km+aA67=5UQ#V)H1VN}A=&eR z*J%~WK(XIp)oSXtys?vR;%UgYu&shI@Z;W=>Psx+s65#(_#WD)$h3Tlby%4NvX33!9##k+qz`}v$h-!+X zGIXh;>SX&3sIjloyt{;bRh1VD8#TB_Vp#Xv`=1~F{f`o0^=qAcm)_02myqppbF6gT z8$VoV9mHK~&y6Cnap3kc-mw}jmPf(}3i#hScYT*tcxH^DTKrxs5}ggJvN!tiPWapN z0sWpc&Al8LQcuq@L-t_vbm^;zeD{~{%hS*h|n=v|DdwpCG-H(wYN1jRnmn7 zUTE{8dbR_V9kf#EviVp&Y^7XkFgVaZ!4xk8b$Vd0S?y7l;AO3UxG!}6m|rfKf+@5@ zI^r?l&(xTMvsc^55_-7Iz>dA*8A|BA46;cD(@`_tzLese@AUjL0KJx!8uDPCO*uR=8{nNYl=#48SL%~r_f zwlw8!((hJ!#Ilu*I#vs`sf=x0fiI=iLqq6t;<+4NKeL;^9|NU#TPJB{jzaf@o6xJK zIO+KK``45zPcJ_+-VQo?Z0ETBB0Y|iw&lgg|t|05l=>GcZg9`YY!zK9#}o=-mhL;?9Nx>_Z$Q*>bsyj%|C z?L7EF_leS(PW5w$Kr{a#Di_naSbUa?WL5M-L%rrHKdGavl}f9s2Gw})mWH#g#M2{U zx8dXVL#z@vZb1xXBCBsnRg^PpD2QM3j-ywK{^2aGE;n35ckk$TTa{c*Fp!^5Xgcu^ z!Uotswq!UP$`$>nchFqc+zsVhl$Q8BlAcm~@DvK!tkZ1#Cf;)!$`GVjnP74LbX@gw z*Z0nF#X$|-lu`4iu$3yJkQJxHZ{q1dRq$NQ|gNhjkw6`;WdoUA5?tLH^odOQXv3te$CHRZGl$F6ox_&QHLvLRoOu0&@C z`AuuVOE?-QtE=~0*RFQaxeyHQomDuG1uVm}>N7r}+6hOTwU5j96GR|iE7n5jeR&Dx@O9 z>oqf%c8T}cm>cbXIZXK2>)g{1DzE&{#_^`;lpM+3l=p$+S8jyj5}qs5&K!nE>)j3S z2iZG@7K01cmFtuCW2-&fbzhNJd?cD*F5DP=$X<3VJN7moyK{EER@(3JIV0+HBmRZe zFmob*c~oboP_YikO~~V*&=)R)7}AHhe(Kk;ZBrVlwelA{I3Vn+e03S${N5w&iq`L6 zef&~HDEp`Y*Qwuy@2AOvGE~br8S_A_6y=g=Zc``1 zU{m=q+UMM_Mzc3kc>++eM%d}sK@yv`hSufqgL3@q%2B-nUxtiVWWmxZULyD)44krP zGdwAbUOlAp1u2_memQ3#>uzv-{wq+3ig5`+#u=(fQP#pSUkP+iNDMR*G)ZNFz0RsS zzq6Pr$6?U%=JpR;_V{)A}_2xz%BX1!wi1G%)`?4{Pe}Dpf9e~po&O(RX)CCf%(DO^#nM0!L{=m3!9 zJs&VdPB33vcgme{?)^Fex_c_@s4~z|;HB~Qkra=T_+<6i$0yg&W{F!dK!o$=1b&W;jR8Bg&lhCAFTmwDwI8Idx` z(m&@?Su1`kH2CsafDXL?=&n{lNox^7U+^Mixon?a9@pP-cg!0WZmt6`lqlhalNNe+p% z#H;SAQ#P`VYQdj4h^pw5)Q+>dt8OUQnC8Gn)?sfB=wZ(f>oHa0aYu)wlnlBL8|j`s zQUVOEId-Zovt^#HLpDb`D0$p{f9Va@_M3>xr5`CsJ{WVAHGld#^LX~xkVFBn}{y*C*s%;XCS+@F7^z8;m9sLY-#m3DYS6tc;FCW7W_hnM=N2GRV`OF+~0~2@i9aK^dr5J))Rp^~9 z6sRonMP(g*e1N!VEJ^6N(|w^9t4{Ig{VwKPlcJnGjPz88{zF?H?#ep{Xwu@x0!72N z@1utA8*7|0zVt+-;YwxX5y+u(5lo^ey6Khe=D60uG$L~Jp&=;aL~xfcD)srmA*^rz zn>bz@WM%t}yIk#yoSxgdz4czu#-8qo!-+EFR2s8KkI)_~-jE)j&M4f%X0X~}{jD|C zNRDuaa)1BeqIv3}oV`7qRj5WHyC=$hAc)Jj##_Q`ePu|<+BDTDyNB`AHAN)i^wh)X z{gGtgM(|pvX|SF@A}lLA<7}~mB!=iI(dnRwl!L~ZmgD6xgr)@E*5YYVv&X}hC}tPT z@N*ySSg+uvp~otaq^#_o?eSW{9PO;&suc70c1|bdS6YiKA1cL(%4lW6qEUsV;=}6i z-|gnH9z7LcRKz}k$UH0Fs^0GJr&~sY(?x;a2xKrtd(6AQfqKJZ%JcoCzF^Z|-YSif zE{^$HPq)z7gzKR3VD9ZdBA%(-J0CwOh8w^!@KOsDBw~B$i`r8)6LFzs*?p}I5|73 zV2SDPYLv5=3`RLQK6|C!i;SuZ{BToN>xGPY^$W~L?wZT-yqtq29sK3#d>x|&O`mge z?#;~Ws{3W1C_IzH%MW+XinAbmyJCu+%}C*}dP#^!n6?dP)kmvbX()%88h(l8I+m2T zvq+M$zpJB{FRc6gd%7)2{*IMjouksI`E6BtQ{7i5sufKunYSPhTYJ-RSFVIaM=5{P z>xqR4b8ZbTswTsN^^rYUKc`l> zv&+E15Kn*-mcI|}R5e+}CfP%x+JC^^$y`rT++`CKQ8;P!Uq$_UPCX#a;uFo{;>oGl zz!)s`b75kQ-f7dWXQzC|+;w?g1OpY&B`L^lJv;ME2Yd?)N;?@U`*O>00J?}c>6}4n z&8+xR2@Cff2WqCW`1Jn@Prc(FG@KvjFcr`ZdH?MR{ma{guh>aRNqsru+S@9<#w(YM zmEffFRFf}2je{cdR{YQMykM!W?yh{GZQ83eQq#mBJgo^bUPO z;J-O+FI%{&Tc)MHNM(<9B)&D7l5W6u9FwoXT7WnV%SixJCc}R~g9|H!p*8XGr9@`N ziPg$fy9p$Rl(|co^-dsWMk6*(u#5p;#%I^`ZQ)Vo`}Vg-ZsPAd_F_|-#=(%CDlS#t zf1&hY;N7;S_AM}iqAAZjlxn* zX1zeA@Nb?;HyaR&nGT`51|M8RW`7UD{^c_g;!3aawXG!BPTlKXWllZyMPv$CckMV} zT0BF)z&fKF?lURUsY}EEczxJmSi47_MfWuZaT*?5CKb)5&q_!p6*qMRxG+qRANLCP z$GstQX|br6=33RR_19L1R7NYVlRzFSy_sPmJIlmXea-ZOuA4RlXkueuO<=+% z!FSiTVBE2i-uU?YwQ@_mYjBo#rLQ9TCr9h26`Q(4Fi@~)^?pSD6f(bUNRqj`?C?(e zd|-P|IjY1b0CW;Os!@p=>|^*$2^nQ}ui^J{TsfYJr#9~HA?yry^jq6>o_LIP2HIxD znYZ2E*$7=sa#6~J!`8LaoWHB1x>$K??X&hcTxT>uxV4@|5C_0OjxZ@j7dp@8>(Vg_ zi*1z@>pZx1t7agPVQclv!c^T>p*tvEs9O`!`xm>G;5sne*SbH16SquTc+zObqi!r zx0h;pV~_ChYv=&SWqe{{fV)(g7au2{9Cv)&99l)z&<=Q}r38`Os}qI`kNH9)AF#vowr{#W{V6u0uDEYzB8-Mtj@t!tn`fO-J1U=!hyT9W z8gg!a{4~bI$LDHdu1m|Cyd0|^yQ})_39u>y6y5;D)A8O<))?46jJ1!zAS}TLxjvsM zJPnGNrx+L4Xy^7d|Lx{%Fmb{J$e!%6-*H}Hz2o6j4bbC zs}(c=S6sQ?<=XW{`8n!{<_0zO^69t7IYUo#`;hG~eyw`L@}1LiugC~rRk7zR>8Bvso4U*H{?%V4D%hB(^0eQ+WU)_h zZKVF~2Pk#uKQL~h_zQ)Pu7iP0Uaa>P94ZBYVi!#zPW#`(w1u8wV@Q zakzHv$G`FXeis8YfM|0seVbGMrGEdgn!ir*_b;;ZvGbpg83TKK2yO1+NaWt5U-`nM zM;Dk2^n4PzyV9C1uf3L)LYp_&F6-Zp>w`B8vHV?MiFV!0*5zdLf&WiPQk{*C}OxL;;C{|_?rFY5E^z%wkCQeED{j7sje8tdqi7PPlp4S(4(*y9l)DJyHa zk(Y@6@=#4YpppQ0|7&<+JS$Vqz3_;5#tyaIu+p7t?w^S~MF3>|UJ49?;ydE6fnNXp zfo3Bv0D6o?Yx_R{^#8i>*@->bR}ubmL6k~x zsN%NXKl@N8{$9HsuRw%xKcuE^ps*q%`SSG9a88IKu@KTc%&P!EMPiMG=5PH{JvkS$ zeAHNE`CrTO&FnMme$;`|%*^dI!d_6FK9olSJML%%Vm$HjDu$*<-c|HyXVv_MW}!_^ z=Yd`M>4~Z}1<<<|9?Ee|5dX8 zl*(u1xC`t$4}iyA#;)sM=a{h`VFv8!4#OLtWBfsb8`<)`Ca|9RGqGx4=R1^FMM$iw zV035OCnCnOJ49{WZBe6T7P4=Zl6RH|<@4*0>~cVGwG8N9tG*|%y`F8`O|yYQv5cM` z-``|1K^j~2KsZA0I`aJ=YV6M^@ISmV4Qlwz?p0X8O;hgq=Q6N%e~nKb zB6pwNO#$9@Vjf(knG<5~rTs{;{vb0~=Qcgi$PpI2rWIJBt~+uohUO@t2eA`P(cV)q zV9#;yH@Ps42OeF?8p)#De=Ve<$?dofj+hJCrwqw?2fzxt%g6b>Lt`qER-?>7?qIZs z#n5oGxPHECUxZU-0zd_~zO@##1@_2A_lS6a7|u}|w$9Em#(-5}BWz6=Q>~`~G?U$?vRK5Q1MOieN09RSL zpPo&)SMTe`Y4NqS_Q|`p%TGRy-m%KmMcCyTEzSkxpFxWAl9NS|R>PK=%Y$`+9m{SG zYmceB4zz%fKt@KZ8s{K}eE{K%@;r3ktXWr}`VkS+@38DNWL zlGA@>4n2O9pKOfQp)~(uA+nZHxKgp-Mc^k9|S%{bPi>)3g6q`jzZFk?QOSDE{)Z| zUEJNJt*w({-I`k7_CgrP9G9F7liLt*zqM2QETT}C-NgrVyV1h>t9Zu9uV>Y z0Ue~4NJt;RCaR8u<5v->DQVcIUNc~baA4(C-wUM2{ z^QW_Gw^ulchXs>|@77_K%?f1QB%=jA&L^Cv+|SP}U8e_~jk}KIzqMSW8kSl=Ta;H; ztcoe4r=#!K84?LyqO|??!2wOo5OFS~R$IG5I#yxU!Q;A@!E4+zd8%*>Xp+cJ`;$!2 z&J#7y|?mC zt8!ZT*9XMrDuln#@`qApH;&X*OMKacBPH9w_3UAQvJ;?MFFhUZXOI8k0D!>hS@+3c z`9ciVS-DyzVxTUC80ip&DD@<-PF3%SL?L8AYDT>m?m!t6UP`qnA&L+xq~UN@PU{ z%fC=py`cu`#e3k#9-~U2xZQ^jRdO%HV6n?(@AN2I!+z!(U(Od!=?L0wHa^BN<$ZGEM zF10CvMU4#1R`;vP*?6Oun1kYJeE7iWgLEDQoTw z*~RXyxH~~-TjCta<%es4WX4uw#0{Bk6Zy3X{}76>-t)M(%m(Lm{4#7cOCBYd_hJzF zDR*0ZZw!4HOPB599-4`Y%FniDmz*cQutG7SWh;QdK>HNp?i>T;&lvZG57O~1FdrwF ztez|C)Is(Xw}DiRVGVL?b@ukR{{H?1`{oTo3A_?a?2fNx;HMbhW}}+M%A7*sUC`}4 zAQh{Tq&|dx#wOu6b}n=n`zES>x4HWM!E6uW4UmJlUzLwzT?Wsu)Znq6WQc$!Fu3Vf zuN-DHUD2*_{Rw4eKkyC*JHk?NZMFUnDtF5A*4x{}9$M^!Pc1!R3b{?+`}H8|#e1t! zdsffqW>S3GJz(5u-ng6gC6~Oa_Vp`B$$8(3QdhkI4FI#a0R@HXc99i^V2rbXU>`Zr zCI8{t{nsC?o~gO&hyaxfF#~xjQZuTB{7ih`Rx8e)x$R`1kW{q`mbI)f_6p3%=__?C zI1P_EWQ#a_KiR&a&yBu%-P+7C=E!BX>|y67yWnmp9w%uw=2j zB4iV=E4N~ZN}w^$Y4#faTSQDlo1BAgUP%=%S6toOZbx8L42+<5K_RcO3@6@e<3>MY z)9_1>wfF?v+KpaXD|XaQFfuZcQBX)ST3nDm>3$K@^nqxd-78xL83>wk2Nc~{s|MBv zVK>@ze>n)KDl-iU>etu7_WbuNZ;28M@0Qxa!5(29jbi zRC;bq(W=PTmKt^$o&1dMZDcMKma-m$)E_ZMwj36F0l#w3gti^gqS``fr{6zVWYbR# zz;tbT#{G9o=L@3Z$;`OV#ow=*Pw+8+T!nR=nI$c4l+K=^3lKVz*Xornf)DQWX2kXQ z^61I}4(F4D4va}xb@gsqM2qZq{P!dI-HFj*#?_Gc%6zRnXCCW;2Gt%mEmtj(^S3QS zTN5|x`Q+D@mvcI66OJgL4$I?hs%^o6ilOOqcknH#XpXkuNY62=B-Xy2(pFzTtKW2f z*|UDD`1Q21CV83WsU?R9Cn6#5Ir1yVS-y7qT9M3D@SlH0#crp#EP*76T9T|+FRk`ho#;+lFMfBCvM?9N+CyV~cD zfOBKixr9!L-X0(<=(wm>#9um_mFs=d*3Vpt^6YyG49z9>Z?-0Q!yBC zN_)akF%?38kxLBh%3(2pUQ|k~97844cab1O8Yp9J=d&EQlz{DgzBtMUZ;xA~%GI^l zwZlm>Q%_cx$-~{UR&Z-BaI3E*1n`r(0ul?}wyLn#GQ^j!hlWn6aU317WR$_$Cn{fw z-!>m=MVz$wZyl#*C^Yexnpq`*Ls)Y^u9t2PM*zN}tenRtY=Qq{y#Rfl>TGT8n>XoWuKLVenp+NUkTer{7)vl- zYh7JkI;N;f_MY;(E*$xyjRowHj@@21H+_r=r@A0m$(* z;}t@}ScbkVs_QwW=(wC!_0?*s6g5t|Nfi@>#|*ID9YC#W1-GNIKW<;dRS*!cU*UQF@!@bOcCmwz*#@e^LlaAxdm~I)6z^knkr`{NDBiFW8 zJHXQ3)$licLWb#z>_ea`-D{2`gKD4(q}3tJF+91kQz9N=J3B`0$uw%!*ajp{GDUzS zU&kr1yd>xfel1*{7$PfiAkGp4AtqV9B=YYlDk}0-c(J2z9&Z*H!{>%@y#k0N$gKER zC(2~MEKfocRUDj)7Wp^4R7a|6s&dSyu)ghKMrsss8=dc%q=e{TsX!C!8{iZ_5+ zZ^M4<7{wWBz_awa2bzqvCm+=Z}hMg z=7BnHhzO5PVuH9klIYgeyd49I6KeOm&*wyXEtU{%p=!v4s5)+Bhq~Vb^*NxDY6_X&=u{T}Em?G&}AnerRJ)VT@ z-s?Sf><8sRG}sG> z$60yd7JZ;*NB5cO<8-NttF7XlP5`DLcmQ3b7kb#Cx?qjsd7)KyEpmb>r`W*0^yu_a z=yuN<%Q<2Z`mLpUpy0GPkUdm8pWF<40zPCF>AqgA$#$RPyRf8x9d#0id})w%m+Chg z5hz3Zvlbn%wb8QqBI*5?1ytV(P)WW&aZ>MohAGd{?&eRwo(`a*vgrUfrFu*BAc$Bg ztEl$YcHSHnpOQ2u=k>o>gujJaR|jys8((j|x~(-{@Vub9*!eP;z4tsw43kD{lX-QV z`^e4p;FFmNUy&{TR(m{kTN-nxN3lGhTWi&TtQfDs>Kda!Ucbv}jcRFiSw9xzW^5(mm_CI^C0X7N)KXMP40f3?#F$ug1t~z{EZw z-wragHYDq?LliTc+kNHwiYz<#elZDL!auhr@wWAvo!hmI{Rmz?kLQ!ebA*}*^F+(h z>ZX&*s=??6(yn<}2U{fVVocrh8lpy^{$0tzcnh%1nkfqd-WHTf^}8S7bGq|N%0T{@ zvFF4z^H!liAfx>S=Ig~$UC{!nczz;tjp*o<8Mj;!RIex*L4Am4L`5_^btwV3Dh7@GUM z6YC72TtETp*FV9y7u&SiRc&n<*tK>IMK3$>A0V7Do+NwL3{+H%`UiJHKxGKX}hdiMRmX^U*nxpWz95dfDK4`{1D) z%zO<8p$I(zTqd>-_53o$yD;X*AyvElpRQtF??)LwwELzNd$xe55LM@YZH0Y51U|kp zX{;&hD98Zh16ve5bj)+k>-I-gfv|%GF~@D(2*WskW}jP z_k`>Yl$QJ9@hV=ujQmSN?(2e|MoS0H$N-5Vic#D-76jZ;r{=ZDg8F!tu{SgGskDn1 zxYo+n0cXzkF|}93{`r1}X5W-IB;C-zoOryr3dWPf%A!`l8P)Fi#~5v%A|@IAVJ8iwkcpfi+n>1w%7n_NR5Hg zTciq=?9Cqr$7t)Cp~DQQ z4g*wh}Wg7AQJC7Exud?tz(oNI?6uPDI;Dj^7T6F2>#}{#trV{7t zUt9oI;y&qC@i)zYf0giT$w}?uoAt->;am+XYy2(-YZd?0@ihe*N=rI{w)ykQY;| zuYz-$EY7um2%{le3h*V+-X#Mo6&!L1%KUF zqVpFZxS*`b|KHh}L4dSn*!{}d{2wnt$rV^}mY(pxIIREkeg5sXfvl_yiA}-4$d_M* z2LIKe$$dB%DG|GQEoo55Q(Jt6ZAl<0V{(Qdrb3DVQ7+%w?62hd00pqH+>2#%GXK>t z{}iU=4_7+@2%=NJRP{}uZ!IM|yLrFbu^EuzuiENMvHLoO&E(0;fO+D(2tlK=X7sltFmWac0D8(kzvNwZ;-67luWf*tgPJb+6{ z$A`Xd>+XsMvN&yRT@l7C$d_7fn>GhmL2Jj|y+b640gJ!x`8ojps5g-X(LemxUGZ0$ z{8#g31G~VB%%^9!O@VC*)GS5}SNhH-np=ENKC^4$R(}a3*Rsx172nJ_wXZ@K$Or@X z*9PT(Pdu~n`~Gq2AROS-X=H&J{{V~p?bOx4Ay786u+50fmpUG)kjBud=&j-OO~z|( zW0!-ifOv=*<8e~eufxA{x|D7!abuqE_g$^}5UZjsf;v_?2-%_hU#lR|x|8&a>U)F(iIq6e0|xw_-f~&tM^IKGv$?>{n&cydbIJ=*}E4Qk}7^B6!s~W z>|gclzpBK)@3~|n??b|v??98y+GU5~<1^ceu^!pc1HeCD)x9XTXn{+;L`~|->z}$! zZVg|aozEfDiQpfk5KS+90j^U%R_U(P=lWPT+UGO=V9beIQ=Oj zSxU)!ObPKh|NWW)mn?G=h!ZxaoL<^=aQM{)Dv*%J&;ZHiYB`{jL8WbMw7_Tfk5qIX zwR-l=0zydanz?ezf$0)17XbGtTIAEcaXa8@B=zq7Nj5C``8)4%x zegg$>OhE1_ShN~gcyu{KU$!|1Al@|8`Sq6`6Q3%MIR0s;JW;3f29z`yes@^^#UE0* z{GEAjh#)PjZkZ97xDRNaR=?d&Z=I?6T;&iaX8DO@3J5yciJBY_k=-WVMW5J)#T=|y z9RU~<$SoWT3m|r`S*VpJSuM-tHxW=~3Zttt3W+^li6a>b6BARGY8$aLenhtdd zSOA3S1U@;F>7&lP;v&sj;dQq$Rda&1LFN{LvB{q>{NHKq1SXZfMHMJDK& zWx0NdOT(~%glxr-6xiKdkv9hPM-h&>=-=<|fBDq+G5v!z1^5(V0ICFW=cV?%9_HiS zfkT}^M1_Z6wTL3dEPtcAqX$!5u2f(3)fNdnMO<>pd!;~snoiz5-1u?AYyIW+r5o4b z2E9ZWVV87KBWp}|EOX@2|$y)dgS!hC+xGyFuWf$cn9zav6dd?FO@g8(G16 z-VXG=`(Z)2!Q8y0a(%Ts%!c5B6(HYOtv=9neAdv2b-Mnu%8I8h{}@&P1|1x(nN0&J zRBjT%;E#YQQ9n%{Iiwx00M*;8%dWCgKv=RiT$ZQhzC_Cgl(8s(@Gw>?g|Ltt0xT_0 z4UQ+L*@%$eXx*5(BV0B1qmDVOUk`%i1U@Ij<-e-SSLu*_%=y*+{P1hq3T_0QnWu*P z(OW=x@?7cmiv9U9erNZ34Zi!Fxl#}661c*G>e9_o6*i<;F92b4YdxdeX)xBU+=SQ4 zxA2rlO9$R(gXJBcpAuhflXJN!P`I1bV7hNe&H3LwP+VDONMVdhNk~Y81X{m@fyz;8 za9riR_TB)jMt-4kqm$^}V-WI@{6x7UP-8XC7=*JVorU%8c+EAe+>%^h*ZM6f_j;CJ zi*3-7pYY`;@~pg%*T>27GPFoTKy@G`;pcuY|VqA5Ls9|7-BzWmxkjMXEorU`FgFo}?e5_7^ zG9j$&ppPd?X+woBuKbAd*X+;>{59IcB3wswZb9##ucZ!&x~I&g9DXdFqtizC0W4~cD+-F)Di}}uU32xLYd&ld~s%2Cw zSSHo-HR+*nhYCoWXUTA((e0~cR|~E5Hl)mJDmM`9e8`+Kr`Wl!T=_^j)ujn_^-zc( zfiT;q*LBgJxpav^g<_Q>aNVv|RF||scdZBcgmhfD70+wLaT*oyRli+b1*OIS^w8N) zHYkvH)1T4ZB4>lmZ3W(6=lwj&NwLa(N3~)fXG=5D6VUszEmebLqYr?>D;l5(Z-T-e zpy3z44>ZJBFJDm03tT7Eo$f^%$z2L?O&t4q;{T5kpaxXF33Uq3|0o`5st^J|N?KjG zM&UK}6A-*UCD!@pq3^-pM6yj9PiL1@B>+CA0ePA&9~1H!2G<%c;CeebCa=3(Ua zwwi_aTXJn4=daerb+l)V;F? ziYVQ8ba*!{$zge&+*w2C7DQFo=BJFjJIP;TSQ5WG$FU3Y*d~!5Rd!UU_-^jLw~8?> zYA|+;UVHg1H#NZ7f}WH^qDRTGA!Kv|IZiB5_*y=QOXXUJvZB4NpNjFo`Si5*;4Gb5lW?K4@d!f~i+?xky+a+Jqe$XC`!`i4uY53Kac1?@@P$A)dopX4hQ{#d-5MASsl@tKV z4=L4wu%hxNXrWL8hgoE=8d0sNW<`X~`UTH(OLlo&T=TNtaJRYzvNz~=(TE=#7;Z7w z^zgxacRy8V9FLWoh=mCj&pjXrP30GGlgOXgP6zZ5KRpJstZ%K3r+vosum-`T zXKQmF0M&wkBxV+2Fc1Su*!V|{AdrGa_*@Adp0WCQr8G)jF11^k(mZ!GX}vp>xy@>6eDE@{>I5|&kYdLM(a~lnTs?FQ^&)r3aXT+* zat>x=$#r#e`-BsKlw!HJ66>Hfc;$QP_G5~&|Lcu9t>JQ_L!GkB2!2MhtFHi__7i$=^{6-^YyKT4z$d`6axx zcZ~1Xi?Cq-P0lALE<_S;YoC|t_c>)qO!cS`D3mkUoG{MH&-0sojSA6x@|s369dH$f zt7Zp=rb~c>JQWeuoEWwmS9us$!3(i@%3l9sc6&I(HaBnQkl~(xHaTy@h<{I282}ry zZT&zuoS~F9m}$wR3%!Kxsiu417~O;I!8hCIFcSiC)`ciKvCF~GqNQ3&FZ;*ocZLDY zGxwqD5ug!uaPMXwe0fy4&;f+T`v)e?ih# z?%Q3gRVlKXQcgYOEJf#j=0flf20KNOl*?k9d<3Kx88I68SB9|&A0D%=z5j#?I$ z%f3I~_x?>|F-Fv5-MGdGkaPYgr)R-I5_2oPC`2r&S7V)q@sR0GRCFS>RRNIdsMpR_ zZ8x7lmEl|!jcRmVc}#@L+11w$oJS*wn~lzN@3)N(Wbbd2c~aPlty#16YQCOtN4%1<*T8$#tHYl6H_3-DggB=F zB~u3i&||8WoaVZfkPBIZEQoGo+2sYE9=W9-(5&U-$0<`m)*8i`Vkm{+4eR{+M$$bs zGov#Eq$TIBsurlZ#U;?!f>;XYg0;jpzjk3WY2y3kUZmNMq?brv7sqPXT&u)%1 z;pJXiUIJ;YW?)+a@(}BfKz+R}P`*1zG!3(!rglrI*x;11(n$eeG3`%YJt9-@Va5D( z4do0IH#;-w5anWOL*ttG);|-i908QmpgqGMrAv0RP0j0NCThQ-KN;*`Y3cfHPihU?Pu zwxKu-`FodrNxIr8o>O65H$2Iv`4msvTHIs>Hj`g=&bJH2!*i{%tUJqR;DAGUCpoJU zz2su6Nsc`ed)RI!wN&qM#4x zaZ*G`NZ2*BlxMJ88f|o;pn6(sVve9|bGWQ`t2Z#(VyKzo(W1Cm~uyvEW0?k-@d>Z)MAh#^HaCeShC7!E3b6@*3YKY?r5TxA$ zjm%$RGpDIC?uXjkb{S0xLwx<`?@Mw`wB_Ls)0tGjeTae10LbA!;#$jS%y4U1Z-XTn zTl7HJ^SVrV4sr(_xBEs{VY`btHb>-Uv5qwFSUZ*&{Ipu5d6eUQkMleg5HDCvlWi@Q zJmt{&t$oFHBr6TWsSEodkfl$k&gyy}D-ZgbG4U0_0hOV`!N&aDoK711hOlTq(>-VJ zg9%uNEJ)eep@MGAQ+qVLknSqgSocfR>lKAd-5#|c1f7Lx-DTTft2ZKsd0Mhd4 z(bJYmUe&8gXO(7g7>k}AVtjCKZ-cV?{Q6w!>iD1i4P=L2vGsl8aW-QmKvoaqfWbW$ zh{B53RwF`3n{ZZTT{mfmh$`oBdxPm@PK}_blN%+i;rap805HLJms`hg)jKPPs%%9+ zhDb+kF_IOCu70;Z399C9OSr)VYH|+?b)bU*-&QUg)KL=AyLyx<*@Lv42GL55F6k!7 z>O~8c?VYwqeJfW_MNX8A74C>H03@)*2$a_EBP%-xB7>ANT~ZPq^3X$R`84?+|Q% zZK$syBF)ZIFgDowLg-i~IpcdLJuf7jhxnV-OnxqwigQH4)Pf3zXX>iC97xZcy!6Iv zFaGrP$FH_4czw7ZjXgkVGEff)PWR6a0IUI`PoaNI0{=RCWii|UA;$=Qz6I;J9WqD-$5(m`{(NLEdxEF z6L?D}?^-x?%j;tAQYtazU)48%;Udm3ey{9JMFR~=71%%p>H$p$8XDTNVvuyC@~cc~ z^(jV8ZGb|lr5yNrqwpZfxYJ3{F=GTet8`i|w$8_*&(6qv>xn#5DoTkB2rRdAO~P^C zcwgYOQt(}--Dcx7{wT+Ph=-tut@hP7WwPw4&JJuNQ`wB`l>q4(}V!k3w(&4>|rz325^C;U);@M&L!yE9e~bQ;Oi>Ka=@;TF&Bpxy72CF5)$o>`{Zs;sv33ATMx&VZ(kX5kF3QF`Ay$6RI9+6ONC^KZe?m0 zC4wyng{?1@Q?mSLsDzn&UM&W6F6XV!0A4MG+iG#CRnDc((FbP;3UtD8(_HQZR!`I^ z&2Ks%l{A2eWNcd*`S&sTUtYE8a=|JVsGKzcNEb&d?M&X^s>B6U&T=4#%!)1|bHk%) zSNsaoykR{a0Q|_JvZ+CJ$UFiRX?w#(*s`NLLPRqHMc&9^N4Nf)Q5{jgNwJPHms);L zvHt1j{u$Z*Wwr8Ptggeu`CsVVq&q+(7lckJj?G4@+l&sx&LKj%-P$vva24oOV|l*; zsO~ZLFtj!=;2R_JWf-VuwB7x6jKLF-lfLl=fzh+W_uriwZ z1rWas$*b=FL+DYt()*+DRrB`O7Wk2`*;9c1na*7vylwj!B^&(BdZ2KqMB5zGjOf{& z^P>kh9nFsMxo&!$C_Du?1z1;XbjW|N8}MC!_5g22I4e-_$vz3o7l0-11_b8vE{|p) zC@x~^=#RKBTJ%+$74bu+e2_)m8JrIW*dGxteUD5B`NgqM*( z8z)i@@t&|Mm%-?U_X|!5L{5Mt3_clvDh*JTeH`BZST90-gn+{2l`g38w?FxBXYx-U znE40+U<}<)*__(Db#Yoi>xr9hBO=VvZnnMmHyO|0Ef}u$8y(8a7sLOTiTz_phyYQw zwjy`OzocXTCZG7@o~EZvO5blrn#z@i!Hg)#HxV8Ti@%+01@cned#O9DK{Qiso%c$M* zRemlsdro-g760EvLw~&JuRkd$0*_7<{hsXa?pAmUAduD3uL*{Kz5Rbyhmb6RO_3={ z+u{HI@jqr{^z9R%pb{v2592#(I$1Bb_)X5mg_-e3uZMa3q@y?gPE+&8mnYpUw2z;; zQ2uVDxYB%Zc(XE%gBw$=i?*1uBUi$PjWt0hESTV@}uHQK6Ma5KKu40m{4&xdYS2s z*loqrTTDtigoM#_IXS^-Z%mb04<}J2RO`IKj5tDKCryWCuChXVxNK`lCwDQc=Hf?XbvKE}StHb>cD^D#pPg z?!vX*3kwgIa1ncLpw|-yM?YY}5GTd^)F|kLp8~Q%+&OdLEOn*1jsN5?SFx~-_4V#Ba3d~(Z;$P+W(G40JZ2E`M)_cK z3{x&sTEhsOsjHlB6@ML*uWn9DtXpcw+!B3qz9sCbnDg#-9tR)QUmgf}L`hnqW=;g= ze|#Vs8*Egus)r9fIxJ3`cZ5wQi&@63rav*fT3Pk5JtOwbpwjP^+}v_*qa?rDhfKuM zth$+h@Tb3d-dn!79Ufs%LR<%i3&;e>UeYM1L6?g8;o7_XvtB0f(s<1W`$616+tcDvySwsoa9bGvzN{-+HLQ$~&Vu{w(#9tdd~*8=)9fzUdzDD4wx3=7I^~r{ck2#coUx zneEnR$HdAh@S$%`Y+RIs^g@->)?>NU`>h3)jhP{(c$g7Ba8v`GvZQd}rR3lm?UdLt zb9wQCY1a|QJIh@qC(~@0Q=&4>W2?{hh+I>JZqRXO~Ydv;yQQXEN zhj^TtyFw@$1nO5vH|@8}=fEi;#&93@zl}Nipu^RDuyuKfcMyYU*Af)cP}tFiMe%U=Vh`kM9j9wB3Z85jRw0xZUNjSB^LL+o$}`sJ*W|)GU`458_|&7doJsvYEMq*zH;JV3ON|GrV+0I_FJ64y6*T>G?;UeftzGc`-C^|Sgj zElXy%2VTB5*Pha+B745MD%^Rf1+l)6Nw|siJTn$VX0CBJ9Z}(tzVIK-sTTB z?5>}w&L_Bw>vEc+n@aMF>2!IGp|EplQWsW-{lA#hKN(rybD^eTI1xc-Xp^)3a=aXZ z?Vjx>1xF5Ll2mLdHw0bw!1KZY@?f&3r`4>E9>p($*V)SDnFONz$dGYv7Yl@ zG?V5tfzyqN2P8-~L$X0A2$WZ8XEzu4uvWf^W%4bb_6O2OZ$b!PhSZIkvw04g>`$xB z1I-#vP9hnqTo{NAd!i~;Ke*EDjN^@0toXPN>_HO->x|S&pHf*N5Z8RT$Q)OtmRdK% zJaPi3O@Wi2*bV-o{qqr;uNUUjW^kyXy0kAD-s;M`)wpe~Z#l>HQEVSx8ri!XSGdXa zqFqk5wYMW+wmb8`tV~=^-z41Q9d5V(G_JSts~SOhwiy{V)w&CODzhA zS6Fq1I=gjJG-Vk4q`=|$?I8)4*oyeO4o;7>&ksw~2U|?`9qg0k&Q*G985uzkpQjS?vjZQPUK|{P z@*xlXkn_ZTR(V)Z8@t1G_KT8t)m9VV%_X)3ys+WLn3#M@s7{(y?z}OK@k=5xn==;( zrZE#|Yg1Uco;H6`TPOXhmB&TcTHWT6Y2H<#X9G{I+GnY*m06#h)rTh(++kfg539Ih z2lu02N=%rsy6UY^t0caMY@rdV?5BokK2e4mvFEueuaoZ!ehewu4d(F{ma}D{#_u@P z?ui!GpqEIt9#HlWL6N%~_~gk8b>_MsnZyNAqG-6B_FqB|@bZ>nPp^c7!@@Xfr=53R z>@D|YcierQvtYSQidh}oG&{^?e?%sg>pCKOxTZPtsM>ys4H75uezT>Y%37z(*gxEk zMP5>-&0ELBTl#n-d)Y}tfhG)=DNQUp?_=j)~V=@jPxF}cuih?UO#=G)yX2S&6;Sp z^#F5iUDGJ3cCMGXg-@C)lk2Xu3#dq6gI~Kwla`hFMBtGNqxQrH>|7iKZ3u}p$SLp9 z2B-C~pB&V#-(;qIuE43)iDpL<4N%)@8A|IHb*I+WTfBXM&O1A@bfIOw8u55S^W7y}-uvC|ja<11v!DC&aBs55rP2{QvCr%B{Ywrj z_=h9Q)KYwpbI1pbRQXGa6;`csGmt`k5W?+y_^7*+|2&_y-ns~N?sM2{m$3p>?Om@< z2yV)+Rz%1MSPuQ6I6c2c2!BmQX7OljUUCqt=BbQ0I~|N;?&Eys`|)D0{l}Opx2v>D zo{yeUL_+<8gQx?j~_3 zUgG)tNvM6X>y*{jj8>Vr;nH25H?>Y7A(a>|oicHsSUVcSOAVzqj0PC->@FwSiw&nJ zP#KI@%*;pv&K#AsE9>(#c;A3^I@#*oE{$ZA^{poy)0At~a8$${jC$m| z&OYNjTWs`V{yS#e-o!I5hF#~$xL3|;b{$8f`_^D z!R-CB8LA;!apy363wX&u*6ewAG~rTP^4X&UhkZID*7;z8tB`n2E@YHU!i+RnRo$`yL;yiHVkT!<9a)#~4-)nU7fy>Px`(`Z>tGEGzUVF!`)d#mGE3 zsrlIOXC#R{z(>{$9MImz@7*!kh>p0;FH zc-EFwc_K+Rq( zLEf14@F;rS9zG9aGZYVqM01xn5#^$%__W(G$@o&dF(a3$0;EP*4Z52n#Ath9?1N+S zyaoFYuMXF7 z!I}3Hcw230%qiB!Jnv1pG{&6n-J|_1qo`g=h9%XQ`bCk}pt7?!Hw(pkI=NAOq|-oo z)9h{5#MrIF)Ro;~YwTj1wZ@0X6Arx>W=Y#+Zlh9@|NLPom!zVd7Kv~px z@&f;Y9r#Lw`ZVI3guM9q1~cdLgIz@K?C|848kteqr@>U2W(Hau&h#YdM-R8l#8YhZ z3#YB@m%4M?9m>4U?i3v(4GH5rGrP&P#Ad_;B*fzVkozR8YZiDYaw#uKXV@X>itvPI zSxK$or|4#i$yM84CylHx6+dG2)JCz_l(-U>oTP>*!Ry@}wj`ac6QknZq6m3-cvQaV zLag``vpQJ3r#*_)~@^Ji^mZ=1~xTJssYYoC_B1MJ{ z$sr`=Q+R&Js*|~(mBH^N=79Rmts-QDgUPW+UbjY&Tcan)kHN*#v zz$B>IpbT~lE+w~>@(#SfzScqCx<`Oby2qp8{jnGSak!Ur4#N@0j zE6#G@LM_*)PDbI%syJNFOQP>Jt`>v&csP{1u#lKu8D9MPLS|kyGPUjbsnNp})uKj2 zi>Ye))JikkVfgtsyWN-pVtLv#@79hLwNxGL@;kM`lb%GaMxWO;oPNB<~c4nK^p;pOGdS=5}_xbqv95iff zUT|2?g!?k!r+K)YnZbW=K-eWM@2KW4miC+Pb@&t-Lc5Df?5G+k@n}dXq&eYpTD~Pomh# zr96(=bo~8~_U5#X1>Yjd#>TWrIHn;5sicnpdSv<#);8yYylLi)~6) zsBLCG)KZ>{n`bg#txVGmW}Qe>_C;eY5Ntn5XV?=nrlF|#(&!5pUyl|YkPKP^@Pwjd zpXDgTMHsc^HoZSGcow|Oi|Y)km-c)9=@Huw5!08NsFl9RPP>OrnTBbf`Pi^P6$%p6 zXBTf0Rm~WhPYOCdHmTgM1#^=`J<}O6;%rewMTl$X5qJ;HOWUqfSuK`8BUMUK+hDN|Z>Eego9L`x0uuQ2XtjTshAvh}<;x0D@ zB?$@;ob$6lyU+i1=EZMjJ}`ykmw>fu81-IrWn-gYitF+tF)^`sKfeh-e5sGx9otyF zRH()I`Zb|)wp{zc+VCJml__7N>~4kGX!`28T;sFN@IRw+v%YjTQkb>veYN_J^^P%@ z&X^TT{1OF>4iAn;m3&Kw5o4p z%^^h0`jt=_Ai8^hH6P8B=gwK<4ldP8Kn)N=qvbnN#_7ff)Ieu(qsmTgGefaK=Y2>E zkEmCB@X*rki3znuP%Rk%`PhmlsmS&1X)DjQe0Z`iCq9=&90Dvac|#T2sna{77stEw zk%ukOP{etvQ&pixJ(ig(NObISAa{r-Ry(<<5_6_|VkBk9hAI3dvf(3Vpl3c@4pfA=hvy0w?{q3q(8jFA zJvo_+Kq|JiX(@y_CM!0|-RFbXF`&pNbC4_%Gb@c-Xik>UWLO$0LJTmuVjV?H)T^9q z`nsy!+aaI1yyvL-qTWSV<;UY0PAo_@4PR!(IjyAJagoLR@+xHWQ$6Wu(S3~!y#Okf zSbJ%zDn&2Wa6HA_u;t88##h>kKk#$)cXmh*k!=r|nCSNy2qfkZ6^SK!Jvd3&;Ul;j zVv&O00_Em#6rdO5D8hEao&VHoGrJnQ*k!^jkIr>}S+z(QG7E>y;-uWTuzK=++}Fb~ z9~YTG2WyAsFxy?FeBud-JU9u>C*xVHd{!{tty`1~Z^eXFSPa`g5s!sU#prwf7+}PD z_Qf06`o*>zEEWjI;U)K}u=<)@E+4RX0QvE|k;XV*=^DlUr@zu1(^$8$8mvD&p86&K z;Ilz3WR$4UsYIiD5p5}QQE6NX$(B}=>*)(&YN`{JHpM=RQ*{DfAq5qLI;BuRiYYh`Ox>J|&jL`Y15 zh=@M*U0g|ap5p9l#FbWh`wScB@dg}?9ikTaJnTm#y((L=RjZoJl~EYKwqb2pqB%tL zII>&y9PWH~59S$PP-mjpZYOfR|10KJ1<)%a%wSvjM2`C` zEG(K$%zjpwcsA0LdsMFT2h6T_?%os1l!|`wzT;k7XQ#REiS|S4+CR+wZ}a9Nh8cXT z6fx^uu)TfxGP3-|5aVzd0Un=R3ilLbx!}lf^ke&5WUNjTkZ-RCRlQrWw`oeRM#Q;# zU%i%v6)IKx#nT^ZNAFAmx>1mRZ$R#Nxn=AZ!~Hn$C0LePfU5bqyriU{(?YaU?vkR%T&+PZGMp8TutPh?EkOl9n-*p6lONVU4a!=trM_24XGo%{!*&PGpUS;UMLP8l@bGR63JStw2eSp{2>yKU zEldL;AX1_3B3=Ra?C{%Ztw>kbQ|Tk+8{=Fh&bl`ffJ1Xfs0D4sh@eA^s&(Z#iUHnx zTm)`%oJBgB=>nX4%;(QlAzVikJM9;5n3&57h8WD!wi^6{98>0^nCR!n7*S5W{Ke;c zCq~RQ*j4DMX-ICTV31GoU1q43*vGSt*AJjK4(LKY#HoGYl=HX@Gk*#77u8WYu#*S9 zLG_%EU=nslI=I9Mqo|?sR9IW46itc&CE$BxbFCov6rf-P;(5WBPI0Fzi?01lAmab=+%>MGrMw!a5) z{LLUI9wu^{=jM>tvw*;?8mDsA<`j0Ev-2 zyLCQ!3lupSWXXH9UMbJCf-Ij?ZPqs4nm~Rhey%ME&L66o3jG=;ioXTMB*OuzIr~50dxx>aU zy@p`Hs{J`JfTwyc@c1~>NhaEDpwh~UxRwbz8+d3Yj5?<)lbHEt#VAcG2}{7A(mTGW zO!JxE_Yr6)q}#PFH1a7+XFF5uuIXAKGfMBSZtqXo6ca7Vz@92YN^e$O|M4E%oNsMO zvX4hfp6dgA?vwkzW6Y^OOVb=1E3RkAft(|cbK{@gfkI=?e2&ZV z%dUrJ(fLV@eSYT=tEWoF{6WFD&XG%b1;p{Fd8f!>R^$0k_&S{CTJo3;%G&v#^R1$=lM9;O zy$Cx4W2VaAMaxSj%~}Xby>6Q*PPAITzdj-s{VBz*j$q^=Gk5p7(K4>REgLCzo&{Vz zZ#j2!G6zjjmRnMz4IZU858B+9vGg-$-lKP$pWT}(RP3?7<4SZY z@i3(FmR9+uTl?P&|C19DLYbh7;N^|hi2ZXk?t@D48YM0Re$yv~(;>ylN)j_e#40AQ~*Q8cctqn6LiQvoCZqE;{~C;J|Hs7aELU z<%-OwTLFVl%OwYG)?*T1C+U{e=;7%~h{GK)Q;$wNyEVpCd6VVhxg|KE(4zc8!>EuK zn$!h%D!=Id=n;*ba>HNQw56=`$JFg>>*q(0o;tRvs)>3N&lZNkPvSdlEHc_J4U3X2 zM-^}6B?RK4lJzX>qCyO%mTjMJ5AIP2XkwowN%1lsBPH8=b+HHAWe-1t+`$#E z73m8ASo6{IKcBlSiG2O>n{xKcH<;yuk6)^%k}#^@Lgws^F(;ZjFKD~tPSVg7&dg75 zY4fYPJda*PDxOtnalQK4ayn%sar~mJ5MQ;CJqNep%#FkAWQp}+uTx(ocQJRlT2kyy z=jxY{98Jtt1X+X?i>Z1M2l4Y$5Ms(Fjk2k|`d*EL*>@-As_I)EV+DlFO6sHT#QVf7 zokjb^?*SMmN3kM(=z(tME`hKaN$@lFY+^N(bsV+6{pBD2nr3zAxTmJJX9CLc}TVdgGtr-j3Y-v}QIoTr(&e0+kxKHu!{8c~X zrTj0rmE`PQAj~~g`*mUFVA3#oiBZvF8lPPSw?|T#W(Zk5Fe{L5C zidy7;r7aiQ9R=w~(I3TJbyr9E22W;ty+Wr3x*@AOfu-QKZ^az9QcQhgYa73b1#`m9 znLDYdn~MZ46+XW3R)Gnmy$Kbs##l?>fP{dq&%d4>>zwsjk+6a@(c*LbY`bmqz4th+ZDu63(@cxNn-gj(0rRY#U#M1z7~S~GIYJk zV!!x;miYSppwyO(r`kt9*7lj#xIdE(c4+2TKbZ~o0bMYZ^jBY4Ojd$ngkK!W#1CHp zJr4k6TXuF1UR!a0zqb2w2EfeX+AuQo-`X>{xNm3DU!HSddN(&n{XG78t%)F`gkhA2wQ z#3myKN)?|XRBAyNXcKRq@+{X8Z)X>D+W#8DcZCXtjrZ)1onsoRB^v(8X4_C=qTWqy zM}JQ@Q-b&WdLxK;jD)x581>%q7Q6Y_Z2j?!KbI9i?Ffk>dSY2S?FaaSqM`_yyNCy& z1rJJ~!4*qE8Sq-??~32WZ5$lL(nLNeRN3f-lJgP+U5+`lYcm@T0F;KY+#H6Zqoeao z6%y4DhS8wwed$=Cy&df!C^J#RvH#2FqVPhYZrB!Fj=Hu-35Fi+!>%k_1lKYWLuWqZoq&{(Ci2)5eMGWaHUWqi5`gyvaS7hs`9W(I? z1p`6EreQs=KgPt?M|D*}k?MdD3_jk}R~m=)W^g*0>uu210l(vXPCjH~Z*kFppZJue zIA7Uxv1jESi1$=(e{YFv5rj;e?hf#?^~O9Q!}Q5c?71Xw6SZ-4MLec5b?tIqvWr5( zTB-FF$`WD~KS=z`;_$5%dvd9?Q0qYDB>m@DP6);MtB*(g^L}`lQC~~5Kl)&WIq)RR ze#o{qu}j1K#_KC=5C{Yut&*5-`N)6pXuRY-m+d?%kJDyO`@E7`gNG~gqE5L9o>6a{ z9_>kt)7}HyYK%sDnK++H%c*rfyx^b@A57;?_6G!6wO{@^|F$Ue<=XX{v?t`dFlR=& z=@_f&uMA73+Lo4jcoJZFS_hna0+D*U)PWum-_-}HIpB3=kISkS)e1Hs#pX+pqNxXU=CrQq2$G!8I8K*az3U}vuus1r|eNH^hbVC ziM4odg6lsH?r_W7Pr`7=o?pEMpx~>IujR3jC^>Nsl+N36fCw z66J9~-qUDBxzxH22Ocj@)?xgbg#Pb1Qxo$8z$$Uo|G?EH=m_nqGy!}ck_peZt)RT| z1C=15tXKf^l=vsGvx-X8Xl2zx$LC>vi)uX4Csy%Zb00_)s_hIHl~|+$G5C0RG>>Vg zN*;??PoyYK1_cC|2p+)+phldHDBrQFAlpGu-P@o`Vsa$a%e?p{w^of?Lk9ZCFxn2yNH^ z_(M|r{&)SUm$jThcYl2rdMe$kjg!&HRdLe(z}tAVant8Xh>?j!1QA0F;ywyM-?itG z)|vsXjj$ErF}i-#Y2f%XmkBTXd6obSa1x&&pV$+%mX6vp~#g zYC}AHJd*0ClcVEki-qkN4mS31%T`m9(B@1%DFp?^nbuIH$eE43eQOH8dwCbQAK>&t zn8B4Mu~tC0YPbw4V*arJfFb2;*AiRT9}*|LHccM}jE~>Q#^87Kmey9;FI5E_FT+tw zrQhwbqJMGdyFI|UFN092r&p}HRd`iK0%J|?OeL>rx)x!nn}Iw`A`1bJ3X%{8Way4P ztu{4u5g2_~9nIvWG)=@sS%0e>IC_BKU$&wz_{kIfH@0=rfWEdnri*uL>G}CrZ)_!u z_?QO+Z-Eqs5M_S;QseMT1hO8Gx|vk0(tdy0-H$#q%J{v^?m%t>B}I{RIkE}<lU(#i*q^po6US}o5~$)+-gIQSzV+Hu z-mTB(0%j7eCAHRwh6l!5*d#1ZXldW@?#iSJkT+iJVc(0jYR%`G0kti$Bx<9>;Ubr6@z9v_(!r7y7woiRONqOPOD6NYqapMlLz-Cbuz3E_KEd zYEqWV*vzdM{ZcMJ#0-n971`Wo?mOQekMlT3Js#)tFMQsQ&*%Mly`G=o$6pM=q2>nd5Bdsk|AS7rPw@==;20>^*1 zM)OV-r4-|zObCW^x+b+Vin8o4=RVt6ISmewbGV7CD69|fg;X^js8|a~A3#Ch>ta*x ztgfnE?5h}9r&Z?O>d$~((wxtqN1x7qDmy##8^QKdoWj>F7tRJ$+>`L@ZT!pdWaJZINiPW5!!+3gi-<|F#W1RpYn?w(~28oqRrA6E{(^q=%8g_)J-k2*C7#3|6qStocn~ zd?FO0k%N-HpI69weUzuB;_Tw0-(v-PVmoQ6<*6IKO)J9r#q{eb?*<(T8G9On^MnE|<=4*P|3It^r0Dc^BpP>cN+8R&^)2Oqcv2 z+e;OPLgG^nbM%~#?c{<W`lT@ z?yXFyCZ&Csyxcx?%I*oOC@K-KA}F`yU6% znhm|Fzk{kLvM7GaaQxm*>b&i^)%NC^6ZMH?V{@OJ71sBIH^&nU%oN%qQ==N-VSq5| zE-CyrGGhGVcd|vW?8%;45a7C4EZvapujl8!CEUHUk-&4-^`aipzoCKb&a>j+dLQ2} zNX_B59ic%vvK;+utKlfK=MQjQu1Jd@Npo?oDJD5#zhX#*^fO-@V03euFJZtooto?* zal7P?L?rrcuEL4xfWs?j5A%|7KpQy(D&T^>t+2PFQ~2E;X=!74)24?&SOD<0~#O!&VU5l z(Syz(1nqw<=+M)cpD46rfMS^%Kr*9Fs$*AXGUYflC}#!hD=&%_TQ0enT6ZR7VTwM# zu+Sg1BGq#H%lq`cKBp|_QB5tQQ2-!OcdJ60IML4J+~52SS9qlJU|5K9{T!6nCE#KtM20h4`qR_x3LDT8D_nsA4R9y) z2lA!mqvK7sYz7!iI>Rp8v4a^fbSIl2)!~6zhj{JgcFr0Gb^(ZESi#*rN`t4S|3a+( zUAUsW+0cdkV?Kdq4K_ZUG?%KN_c&I5@CESua)zCrj_%|;1ef|VG>kzM<&9ol8)~6D z@lmBn4BWHBaidi4RneXqH{DDkA%7}Ecy&6eS|Y=Uh$Al2_qPalX*aFz4XqU1iBLat z=HLkf zkkKMZT8@!N5rS_DhG53$Z*98SB4|p}x6w{Z_&q)kbRw^W?QJRMS9*>td}$MojuYM& zC>)Q+0vgtgp&$ORv+dT_-DEty9<@p!h|DXE#MYrYxKx5n(OQb1& z$H|{agF|Rff>ru9>>;PPEEW1^?Uj1P%N`jmR(`!#+>@YI;L2!91G~zkSuDUb&6vT>1brr?kvtfemgA_EmjK(Hffw zP#ta==(=~$Nl~}ZEB(Ud@t$&_&WRKDdsR#D1*kmq_0Pbt}tgW|I9A0aVM06e1VfeAi){4xq9NOhWuc*mRE{7}+qX;|9t(cT;~V zH`Kcp6w2v|QY&9do^tOwc&srB!dU~3w8NMhDkj0fFGu6n>6z$3n+kPm4*r4ovprGh z9=gh~4Etgk!5kSd4ErkLg>=TM*66GnLR!yKNTInAMsTu}5D7b0&mF;juwRA>NSe0x z_8;LrH#Gmol}ZGlEDP^>e@a25GgfVVrq%x;ZFont2#_7VjEn~ z6WbJ?CjeZe?Cem-tD~ex*tC!T7)=2_dU+2uewg7$xW->RS^M2l8(`2M9*73G7fGJn zAz#zlE_`cRx>qblqf6|}jj1a!Mr;Kr2bk=nlk;;y{nxQJa}v+wz0Ue9W?(Fr^1pWD bh_k40UpPhtJcmZa>;jgZ6&zM&>7Dd%xw!5{ literal 71639 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 e9QGTxvTWV{siteConfig.title}

rby>Msz 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 qE2q?NVt0;1!=zu#vN-K&atg5hOih{#F+ literal 0 HcmV?d00001 diff --git a/docs/docusaurus.config.ts b/docs/docusaurus.config.ts index e49a1efb5..b1daed84e 100644 --- a/docs/docusaurus.config.ts +++ b/docs/docusaurus.config.ts @@ -63,7 +63,6 @@ const config: Config = { to: '/api', label: 'API', }, - { to: 'cookbook', label: 'Cookbook' }, ], }, { @@ -219,21 +218,6 @@ const config: Config = { } as any; }, }), - [ - '@docusaurus/plugin-content-blog', - { - id: 'cookbook-blog', - /** - * URL route for the blog section of your site. - * *DO NOT* include a trailing slash. - */ - routeBasePath: 'cookbook', - /** - * Path to data on filesystem relative to site dir. - */ - path: './cookbook', - }, - ], ], themes: [ path.resolve(__dirname, 'plugins', 'woodpecker-plugins', 'dist'), From 059cb93d069914d2b2cc152c0226e0da6c997db5 Mon Sep 17 00:00:00 2001 From: qwerty287 <80460567+qwerty287@users.noreply.github.com> Date: Wed, 17 Jul 2024 17:13:56 +0200 Subject: [PATCH 014/547] Remove `unplugin-icons` (#3809) --- web/package.json | 6 +- web/pnpm-lock.yaml | 213 ++---------------- .../admin/settings/AdminReposTab.vue | 1 + .../admin/settings/AdminUsersTab.vue | 1 + web/src/components/atomic/Button.vue | 2 +- web/src/components/atomic/Error.vue | 2 + web/src/components/atomic/Icon.vue | 174 +++++++++----- web/src/components/atomic/SvgIcon.vue | 12 + web/src/components/atomic/Warning.vue | 2 + .../layout/popups/DeployPipelinePopup.vue | 3 +- .../layout/popups/ManualPipelinePopup.vue | 3 +- web/src/components/layout/scaffold/Header.vue | 1 + web/src/components/layout/scaffold/Tabs.vue | 1 + web/src/components/user/UserGeneralTab.vue | 1 + web/src/compositions/useTabs.ts | 4 +- web/src/views/User.vue | 1 + web/src/views/repo/RepoBranches.vue | 2 + web/src/views/repo/RepoWrapper.vue | 1 + web/src/views/repo/pipeline/Pipeline.vue | 1 + .../views/repo/pipeline/PipelineErrors.vue | 1 + .../views/repo/pipeline/PipelineWrapper.vue | 1 + web/vite.config.ts | 7 - 22 files changed, 174 insertions(+), 266 deletions(-) create mode 100644 web/src/components/atomic/SvgIcon.vue diff --git a/web/package.json b/web/package.json index 6bf67a344..6cbac0122 100644 --- a/web/package.json +++ b/web/package.json @@ -20,6 +20,7 @@ "dependencies": { "@intlify/unplugin-vue-i18n": "^4.0.0", "@kyvg/vue3-notification": "^3.2.1", + "@mdi/js": "^7.4.47", "@vueuse/core": "^10.10.0", "ansi_up": "^6.0.2", "dayjs": "^1.11.11", @@ -30,6 +31,7 @@ "pinia": "^2.1.7", "prismjs": "^1.29.0", "semver": "^7.6.2", + "simple-icons": "^12.3.0", "vue": "^3.4.27", "vue-i18n": "^9.13.1", "vue-router": "^4.3.2" @@ -38,12 +40,10 @@ "@antfu/eslint-config": "^2.20.0", "@eslint/js": "^9.4.0", "@ianvs/prettier-plugin-sort-imports": "^4.2.1", - "@iconify/json": "^2.2.216", "@intlify/eslint-plugin-vue-i18n": "3.0.0-next.13", "@types/eslint__js": "^8.42.3", "@types/lodash": "^4.17.4", "@types/node": "^20.14.2", - "@types/node-emoji": "^2.1.0", "@types/prismjs": "^1.26.4", "@types/semver": "^7.5.8", "@types/tinycolor2": "^1.4.6", @@ -59,8 +59,6 @@ "tinycolor2": "^1.6.0", "typescript": "5.4.5", "typescript-eslint": "^7.12.0", - "unplugin-icons": "^0.18.5", - "unplugin-vue-components": "^0.26.0", "vite": "^5.2.12", "vite-plugin-prismjs": "^0.0.11", "vite-plugin-windicss": "^1.9.3", diff --git a/web/pnpm-lock.yaml b/web/pnpm-lock.yaml index 62ea91740..1eb34139a 100644 --- a/web/pnpm-lock.yaml +++ b/web/pnpm-lock.yaml @@ -17,6 +17,9 @@ importers: '@kyvg/vue3-notification': specifier: ^3.2.1 version: 3.2.1(vue@3.4.31(typescript@5.4.5)) + '@mdi/js': + specifier: ^7.4.47 + version: 7.4.47 '@vueuse/core': specifier: ^10.10.0 version: 10.11.0(vue@3.4.31(typescript@5.4.5)) @@ -47,6 +50,9 @@ importers: semver: specifier: ^7.6.2 version: 7.6.2 + simple-icons: + specifier: ^12.3.0 + version: 12.3.0 vue: specifier: ^3.4.27 version: 3.4.31(typescript@5.4.5) @@ -66,9 +72,6 @@ importers: '@ianvs/prettier-plugin-sort-imports': specifier: ^4.2.1 version: 4.3.0(@vue/compiler-sfc@3.4.31)(prettier@3.3.2) - '@iconify/json': - specifier: ^2.2.216 - version: 2.2.225 '@intlify/eslint-plugin-vue-i18n': specifier: 3.0.0-next.13 version: 3.0.0-next.13(eslint@9.6.0) @@ -81,9 +84,6 @@ importers: '@types/node': specifier: ^20.14.2 version: 20.14.10 - '@types/node-emoji': - specifier: ^2.1.0 - version: 2.1.0 '@types/prismjs': specifier: ^1.26.4 version: 1.26.4 @@ -129,12 +129,6 @@ importers: typescript-eslint: specifier: ^7.12.0 version: 7.15.0(eslint@9.6.0)(typescript@5.4.5) - unplugin-icons: - specifier: ^0.18.5 - version: 0.18.5(@vue/compiler-sfc@3.4.31)(vue-template-compiler@2.7.16) - unplugin-vue-components: - specifier: ^0.26.0 - version: 0.26.0(@babel/parser@7.24.7)(rollup@4.18.0)(vue@3.4.31(typescript@5.4.5)) vite: specifier: ^5.2.12 version: 5.3.3(@types/node@20.14.10)(stylus@0.57.0) @@ -209,9 +203,6 @@ packages: svelte-eslint-parser: optional: true - '@antfu/install-pkg@0.1.1': - resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==} - '@antfu/install-pkg@0.3.3': resolution: {integrity: sha512-nHHsk3NXQ6xkCfiRRC8Nfrg8pU5kkr3P3Y9s9dKqiuRmBD0Yap7fymNDjGFKeWhZQHqqbCS5CfeMy9wtExM24w==} @@ -502,15 +493,6 @@ packages: '@vue/compiler-sfc': optional: true - '@iconify/json@2.2.225': - resolution: {integrity: sha512-3MxzXdrxDxItlGxvTmLnbZGlvGcwuBIOofJfyobq097lysZasvsNddFguiWecmKP91nRR4I2ik7enFVQ9Lz3mg==} - - '@iconify/types@2.0.0': - resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} - - '@iconify/utils@2.1.25': - resolution: {integrity: sha512-Y+iGko8uv/Fz5bQLLJyNSZGOdMW0G7cnlEX1CiNcKsRXX9cq/y/vwxrIAtLCZhKHr3m0VJmsjVPsvnM4uX8YLg==} - '@intlify/bundle-utils@8.0.0': resolution: {integrity: sha512-1B++zykRnMwQ+20SpsZI1JCnV/YJt9Oq7AGlEurzkWJOFtFAVqaGc/oV36PBRYeiKnTbY9VYfjBimr2Vt42wLQ==} engines: {node: '>= 14.16'} @@ -587,6 +569,9 @@ packages: peerDependencies: vue: ^3.0.0 + '@mdi/js@7.4.47': + resolution: {integrity: sha512-KPnNOtm5i2pMabqZxpUz7iQf+mfrYZyKCZ8QNz85czgEt7cuHcGorWfdzUMWYA0SD+a6Hn4FmJ+YhzzzjkTZrQ==} + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -754,10 +739,6 @@ packages: '@types/mdast@3.0.15': resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} - '@types/node-emoji@2.1.0': - resolution: {integrity: sha512-LBGWP2LL5A+PpcvzrgXCFcHt9N1l5bqQn05ZUQFFM625k/tmc2w9ghT4kUwQN6gIPlX6qnDOfekmJmV9BywV9g==} - deprecated: This is a stub types definition. node-emoji provides its own type definitions, so you do not need this installed. - '@types/node@20.14.10': resolution: {integrity: sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==} @@ -1530,10 +1511,6 @@ packages: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} - execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} - execa@8.0.1: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} @@ -1618,10 +1595,6 @@ packages: get-func-name@2.0.2: resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - get-stream@8.0.1: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} @@ -1703,10 +1676,6 @@ packages: resolution: {integrity: sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==} engines: {node: '>= 14'} - human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - human-signals@5.0.0: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} engines: {node: '>=16.17.0'} @@ -1794,10 +1763,6 @@ packages: is-potential-custom-element-name@1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} - is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -1893,10 +1858,6 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - local-pkg@0.4.3: - resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} - engines: {node: '>=14'} - local-pkg@0.5.0: resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} engines: {node: '>=14'} @@ -1969,10 +1930,6 @@ packages: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} - mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - mimic-fn@4.0.0: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} @@ -2038,10 +1995,6 @@ packages: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - npm-run-path@5.3.0: resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -2055,10 +2008,6 @@ packages: once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - onetime@6.0.0: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} @@ -2346,13 +2295,14 @@ packages: siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} - signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} + simple-icons@12.3.0: + resolution: {integrity: sha512-sJNnw4t1/dsPy9KBQhR/DWrVP5sd0b1GO2axdxn4kZU4xUa53kdc3dzXNrxwbgdJfD+R7dpY2mPaBfZ+cvAPrg==} + engines: {node: '>=0.12.18'} + sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} @@ -2427,10 +2377,6 @@ packages: resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} engines: {node: '>=12'} - strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - strip-final-newline@3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} @@ -2585,39 +2531,6 @@ packages: resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} engines: {node: '>= 4.0.0'} - unplugin-icons@0.18.5: - resolution: {integrity: sha512-KVNAohXbZ7tVcG1C3p6QaC7wU9Qrj7etv4XvsMMJAxr5LccQZ+Iuv5LOIv/7GtqXaGN1BuFCqRO1ErsHEgEXdQ==} - peerDependencies: - '@svgr/core': '>=7.0.0' - '@svgx/core': ^1.0.1 - '@vue/compiler-sfc': ^3.0.2 || ^2.7.0 - vue-template-compiler: ^2.6.12 - vue-template-es2015-compiler: ^1.9.0 - peerDependenciesMeta: - '@svgr/core': - optional: true - '@svgx/core': - optional: true - '@vue/compiler-sfc': - optional: true - vue-template-compiler: - optional: true - vue-template-es2015-compiler: - optional: true - - unplugin-vue-components@0.26.0: - resolution: {integrity: sha512-s7IdPDlnOvPamjunVxw8kNgKNK8A5KM1YpK5j/p97jEKTjlPNrA0nZBiSfAKKlK1gWZuyWXlKL5dk3EDw874LQ==} - engines: {node: '>=14'} - peerDependencies: - '@babel/parser': ^7.15.8 - '@nuxt/kit': ^3.2.2 - vue: 2 || 3 - peerDependenciesMeta: - '@babel/parser': - optional: true - '@nuxt/kit': - optional: true - unplugin@1.11.0: resolution: {integrity: sha512-3r7VWZ/webh0SGgJScpWl2/MRCZK5d3ZYFcNaeci/GQ7Teop7zf0Nl2pUuz7G21BwPd9pcUPOC5KmJ2L3WgC5g==} engines: {node: '>=14.0.0'} @@ -2927,11 +2840,6 @@ snapshots: - typescript - vitest - '@antfu/install-pkg@0.1.1': - dependencies: - execa: 5.1.1 - find-up: 5.0.0 - '@antfu/install-pkg@0.3.3': dependencies: '@jsdevtools/ez-spawn': 3.0.4 @@ -3215,25 +3123,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@iconify/json@2.2.225': - dependencies: - '@iconify/types': 2.0.0 - pathe: 1.1.2 - - '@iconify/types@2.0.0': {} - - '@iconify/utils@2.1.25': - dependencies: - '@antfu/install-pkg': 0.1.1 - '@antfu/utils': 0.7.10 - '@iconify/types': 2.0.0 - debug: 4.3.5 - kolorist: 1.8.0 - local-pkg: 0.5.0 - mlly: 1.7.1 - transitivePeerDependencies: - - supports-color - '@intlify/bundle-utils@8.0.0(vue-i18n@9.13.1(vue@3.4.31(typescript@5.4.5)))': dependencies: '@intlify/message-compiler': 9.13.1 @@ -3342,6 +3231,8 @@ snapshots: dependencies: vue: 3.4.31(typescript@5.4.5) + '@mdi/js@7.4.47': {} + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -3487,10 +3378,6 @@ snapshots: dependencies: '@types/unist': 2.0.10 - '@types/node-emoji@2.1.0': - dependencies: - node-emoji: 2.1.3 - '@types/node@20.14.10': dependencies: undici-types: 5.26.5 @@ -4430,18 +4317,6 @@ snapshots: esutils@2.0.3: {} - execa@5.1.1: - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - execa@8.0.1: dependencies: cross-spawn: 7.0.3 @@ -4531,8 +4406,6 @@ snapshots: get-func-name@2.0.2: {} - get-stream@6.0.1: {} - get-stream@8.0.1: {} get-tsconfig@4.7.5: @@ -4618,8 +4491,6 @@ snapshots: transitivePeerDependencies: - supports-color - human-signals@2.1.0: {} - human-signals@5.0.0: {} iconv-lite@0.6.3: @@ -4689,8 +4560,6 @@ snapshots: is-potential-custom-element-name@1.0.1: {} - is-stream@2.0.1: {} - is-stream@3.0.0: {} isexe@2.0.0: {} @@ -4787,8 +4656,6 @@ snapshots: lines-and-columns@1.2.4: {} - local-pkg@0.4.3: {} - local-pkg@0.5.0: dependencies: mlly: 1.7.1 @@ -4864,8 +4731,6 @@ snapshots: dependencies: mime-db: 1.52.0 - mimic-fn@2.1.0: {} - mimic-fn@4.0.0: {} min-indent@1.0.1: {} @@ -4925,10 +4790,6 @@ snapshots: normalize-path@3.0.0: {} - npm-run-path@4.0.1: - dependencies: - path-key: 3.1.1 - npm-run-path@5.3.0: dependencies: path-key: 4.0.0 @@ -4943,10 +4804,6 @@ snapshots: dependencies: wrappy: 1.0.2 - onetime@5.1.2: - dependencies: - mimic-fn: 2.1.0 - onetime@6.0.0: dependencies: mimic-fn: 4.0.0 @@ -5221,10 +5078,10 @@ snapshots: siginfo@2.0.0: {} - signal-exit@3.0.7: {} - signal-exit@4.1.0: {} + simple-icons@12.3.0: {} + sisteransi@1.0.5: {} skin-tone@2.0.0: @@ -5293,8 +5150,6 @@ snapshots: dependencies: ansi-regex: 6.0.1 - strip-final-newline@2.0.0: {} - strip-final-newline@3.0.0: {} strip-indent@3.0.0: @@ -5425,40 +5280,6 @@ snapshots: universalify@0.2.0: {} - unplugin-icons@0.18.5(@vue/compiler-sfc@3.4.31)(vue-template-compiler@2.7.16): - dependencies: - '@antfu/install-pkg': 0.3.3 - '@antfu/utils': 0.7.10 - '@iconify/utils': 2.1.25 - debug: 4.3.5 - kolorist: 1.8.0 - local-pkg: 0.5.0 - unplugin: 1.11.0 - optionalDependencies: - '@vue/compiler-sfc': 3.4.31 - vue-template-compiler: 2.7.16 - transitivePeerDependencies: - - supports-color - - unplugin-vue-components@0.26.0(@babel/parser@7.24.7)(rollup@4.18.0)(vue@3.4.31(typescript@5.4.5)): - dependencies: - '@antfu/utils': 0.7.10 - '@rollup/pluginutils': 5.1.0(rollup@4.18.0) - chokidar: 3.6.0 - debug: 4.3.5 - fast-glob: 3.3.2 - local-pkg: 0.4.3 - magic-string: 0.30.10 - minimatch: 9.0.5 - resolve: 1.22.8 - unplugin: 1.11.0 - vue: 3.4.31(typescript@5.4.5) - optionalDependencies: - '@babel/parser': 7.24.7 - transitivePeerDependencies: - - rollup - - supports-color - unplugin@1.11.0: dependencies: acorn: 8.12.1 diff --git a/web/src/components/admin/settings/AdminReposTab.vue b/web/src/components/admin/settings/AdminReposTab.vue index f2d22ebb7..570002606 100644 --- a/web/src/components/admin/settings/AdminReposTab.vue +++ b/web/src/components/admin/settings/AdminReposTab.vue @@ -42,6 +42,7 @@ import { useI18n } from 'vue-i18n'; import Badge from '~/components/atomic/Badge.vue'; +import Button from '~/components/atomic/Button.vue'; import IconButton from '~/components/atomic/IconButton.vue'; import ListItem from '~/components/atomic/ListItem.vue'; import Settings from '~/components/layout/Settings.vue'; diff --git a/web/src/components/admin/settings/AdminUsersTab.vue b/web/src/components/admin/settings/AdminUsersTab.vue index 83e439f11..a73eeb33c 100644 --- a/web/src/components/admin/settings/AdminUsersTab.vue +++ b/web/src/components/admin/settings/AdminUsersTab.vue @@ -90,6 +90,7 @@ import Badge from '~/components/atomic/Badge.vue'; import Button from '~/components/atomic/Button.vue'; import IconButton from '~/components/atomic/IconButton.vue'; import ListItem from '~/components/atomic/ListItem.vue'; +import Checkbox from '~/components/form/Checkbox.vue'; import InputField from '~/components/form/InputField.vue'; import TextField from '~/components/form/TextField.vue'; import Settings from '~/components/layout/Settings.vue'; diff --git a/web/src/components/atomic/Button.vue b/web/src/components/atomic/Button.vue index 9245a324f..f026b88c2 100644 --- a/web/src/components/atomic/Button.vue +++ b/web/src/components/atomic/Button.vue @@ -28,7 +28,7 @@ 'bg-wp-control-error-200': color === 'red', }" > - + diff --git a/web/src/components/atomic/Error.vue b/web/src/components/atomic/Error.vue index 75a1b67f1..30b5ad5b1 100644 --- a/web/src/components/atomic/Error.vue +++ b/web/src/components/atomic/Error.vue @@ -10,6 +10,8 @@ diff --git a/web/src/components/atomic/Warning.vue b/web/src/components/atomic/Warning.vue index f30885fac..71171a23b 100644 --- a/web/src/components/atomic/Warning.vue +++ b/web/src/components/atomic/Warning.vue @@ -10,6 +10,8 @@ diff --git a/web/src/compositions/useAuthentication.ts b/web/src/compositions/useAuthentication.ts index 35e6b510e..8ca3df563 100644 --- a/web/src/compositions/useAuthentication.ts +++ b/web/src/compositions/useAuthentication.ts @@ -12,6 +12,6 @@ export default () => const config = useUserConfig(); config.setUserConfig('redirectUrl', url); } - window.location.href = `${useConfig().rootPath}/authorize?forge_id=${forgeId}`; + window.location.href = `${useConfig().rootPath}/authorize?${forgeId !== undefined ? `forgeId=${forgeId}` : ''}`; }, }) as const; From 3a4ffe951e403548a8829f00627e52e72248f69a Mon Sep 17 00:00:00 2001 From: Joan Flotats <96056718+j04n-f@users.noreply.github.com> Date: Tue, 23 Jul 2024 14:17:58 +0200 Subject: [PATCH 052/547] Add updated, merged and declined events to bb webhook activation (#3963) Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com> --- server/forge/bitbucket/bitbucket.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/forge/bitbucket/bitbucket.go b/server/forge/bitbucket/bitbucket.go index 2fc95a8d1..4712a613d 100644 --- a/server/forge/bitbucket/bitbucket.go +++ b/server/forge/bitbucket/bitbucket.go @@ -313,7 +313,7 @@ func (c *config) Activate(ctx context.Context, u *model.User, r *model.Repo, lin return c.newClient(ctx, u).CreateHook(r.Owner, r.Name, &internal.Hook{ Active: true, Desc: rawURL.Host, - Events: []string{"repo:push", "pullrequest:created"}, + Events: []string{"repo:push", "pullrequest:created", "pullrequest:updated", "pullrequest:fulfilled", "pullrequest:rejected"}, URL: link, }) } From 659e925d0e8558dc9debda474ef397a537848ea4 Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Tue, 23 Jul 2024 14:25:39 +0200 Subject: [PATCH 053/547] Remove `WOODPECKER_DEV_OAUTH_HOST` and `WOODPECKER_DEV_GITEA_OAUTH_URL` (#3961) Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com> --- cmd/server/flags.go | 10 +--------- cmd/server/setup.go | 6 +----- docs/docs/91-migrations.md | 2 +- 3 files changed, 3 insertions(+), 15 deletions(-) diff --git a/cmd/server/flags.go b/cmd/server/flags.go index 697ff455f..a1fc44c7c 100644 --- a/cmd/server/flags.go +++ b/cmd/server/flags.go @@ -378,7 +378,7 @@ var flags = append([]cli.Flag{ "WOODPECKER_BITBUCKET_SKIP_VERIFY"), }, &cli.StringFlag{ - Sources: cli.EnvVars("WOODPECKER_EXPERT_FORGE_OAUTH_HOST", "WOODPECKER_DEV_GITEA_OAUTH_URL"), // TODO: remove WOODPECKER_DEV_GITEA_OAUTH_URL in next major release + Sources: cli.EnvVars("WOODPECKER_EXPERT_FORGE_OAUTH_HOST"), Name: "forge-oauth-host", Usage: "!!!for experts!!! fully qualified public forge url. Use it if your forge url WOODPECKER_FORGE_URL or WOODPECKER_GITEA_URL, ... isn't a public url. Format: ://[/]", }, @@ -481,14 +481,6 @@ var flags = append([]cli.Flag{ Name: "server-webhook-host", Usage: "!!!for experts!!! fully qualified woodpecker server url called by forge's webhooks. Format: ://[/]", }, - // TODO: remove in next major release - &cli.StringFlag{ - Sources: cli.EnvVars("WOODPECKER_DEV_OAUTH_HOST"), - Name: "server-dev-oauth-host-deprecated", - Usage: "DEPRECATED: use WOODPECKER_EXPERT_FORGE_OAUTH_HOST instead\nfully qualified url used for oauth redirects. Format: ://[/]", - Value: "", - Hidden: true, - }, // // secrets encryption in DB // diff --git a/cmd/server/setup.go b/cmd/server/setup.go index 71c2ac71d..f394c0777 100644 --- a/cmd/server/setup.go +++ b/cmd/server/setup.go @@ -206,11 +206,7 @@ func setupEvilGlobals(ctx context.Context, c *cli.Command, s store.Store) error } else { server.Config.Server.WebhookHost = serverHost } - if c.IsSet("server-dev-oauth-host-deprecated") { - server.Config.Server.OAuthHost = c.String("server-dev-oauth-host-deprecated") - } else { - server.Config.Server.OAuthHost = serverHost - } + server.Config.Server.OAuthHost = serverHost server.Config.Server.Port = c.String("server-addr") server.Config.Server.PortTLS = c.String("server-addr-tls") server.Config.Server.StatusContext = c.String("status-context") diff --git a/docs/docs/91-migrations.md b/docs/docs/91-migrations.md index 2b2336511..4becb088e 100644 --- a/docs/docs/91-migrations.md +++ b/docs/docs/91-migrations.md @@ -11,6 +11,7 @@ Some versions need some changes to the server configuration or the pipeline conf ## `next` +- Removed `WOODPECKER_DEV_OAUTH_HOST` and `WOODPECKER_DEV_GITEA_OAUTH_URL` use `WOODPECKER_EXPERT_FORGE_OAUTH_HOST` - Compatibility mode of deprecated `pipeline:`, `platform:` and `branches:` pipeline config options are now removed and pipeline will now fail if still in use. - Deprecated `steps.[name].group` in favor of `steps.[name].depends_on` (see [workflow syntax](./20-usage/20-workflow-syntax.md#depends_on) to learn how to set dependencies) - Removed `WOODPECKER_ROOT_PATH` and `WOODPECKER_ROOT_URL` config variables. Use `WOODPECKER_HOST` with a path instead @@ -20,7 +21,6 @@ Some versions need some changes to the server configuration or the pipeline conf - Deprecated alternative names for secrets, use `environment` with `from_secret` - Deprecated slice definition for env vars - Deprecated `environment` filter, use `when.evaluate` -- Use `WOODPECKER_EXPERT_FORGE_OAUTH_HOST` instead of `WOODPECKER_DEV_GITEA_OAUTH_URL` or `WOODPECKER_DEV_OAUTH_HOST` - Deprecated `WOODPECKER_WEBHOOK_HOST` in favor of `WOODPECKER_EXPERT_WEBHOOK_HOST` ## 2.0.0 From 047eb19d4226a9a84684daf55ea5c7a45c3b34f0 Mon Sep 17 00:00:00 2001 From: Joan Flotats <96056718+j04n-f@users.noreply.github.com> Date: Tue, 23 Jul 2024 16:58:38 +0200 Subject: [PATCH 054/547] Change Bitbucket PR hook to point the source branch, commit & ref (#3965) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Description This is the first fix for: https://github.com/woodpecker-ci/woodpecker/issues/3932 Change the Pull Request hook parser to return the source commit, branch, and ref instead of the destination. Right now, the workflow pulls the destination configuration and code. It should pull the source configuration and code to verify that the configuration and code work as expected before merging the changes. In case of the close event, the hook parser returns the destination branch, ref and merge commit. Usually, the contributor automatically deletes the source branch after merging the changes to the destination branch. Using the source values will cause the workflow to fail. After the changes, Woodpecker will correctly download the workflow from the source branch (Pull Request commit), but it will fail to clone the repository. This issue is related to the commit format returned by the Bitbucket webhook. This inconsistency has already been reported: https://jira.atlassian.com/browse/BCLOUD-21201. The webhook returns a short SHA. The problem is that the `git fetch` command requires the full SHA. A workaround for this issue is to use the ref to fetch the code: ```yaml clone: git: image: woodpeckerci/plugin-git settings: ref: ${CI_COMMIT_REF} ``` This is not ideal, because the Pull Request head won't always match the workflow commit, but it solves 80% of the event use cases (e.g. trigger a pull request workflow on change). This workaround won't work when re-running a previous workflow pointing to another commit, it will pull the last commit, not the previous one. ## Solutions The solution proposed by the community is to retrieve the full SHA from the Bitbucket API using the short one. This solution has drawbacks: - The Bitbucket API rate limit is 1000 req/h. This solution will reduce the maximum number of workflow runs per hour. - It requires a braking change in the forges interface because the ´Hook(...)´ method does not have an instance of the HTTP Client. We propose to allow the git plugin to fetch the source code from a URL. The Bitbucket returns a link pointing to the commit. This proposal only requires a small change to the git plugin: - Add a new optional parameter (e.g. CommitLink) - Add a clause to the following conditional: https://github.com/woodpecker-ci/plugin-git/blob/7ac9615f409b539486b8841bd5ef01ae16bbc434/plugin.go#L79C1-L88C3 ```go if p.Pipeline.CommitLink != "" {...} ``` Git commands: ```shell $ git fetch --no-tags --depth=1 --filter=tree:0 https://bitbucket.org/workspace/repo/commits/692972aabfec $ git reset --hard -q 692972aabfec # It works with the short SHA ``` Woodpecker will set CommitLink to a blank string for the other forges, but Bitbuckket will use the one returned by the webhook. --- server/forge/bitbucket/convert.go | 16 ++++++++++++---- server/forge/bitbucket/convert_test.go | 7 ++++--- server/forge/bitbucket/internal/types.go | 4 ++++ server/forge/bitbucket/parse_test.go | 6 +++--- 4 files changed, 23 insertions(+), 10 deletions(-) diff --git a/server/forge/bitbucket/convert.go b/server/forge/bitbucket/convert.go index af573cbff..a3b1376b7 100644 --- a/server/forge/bitbucket/convert.go +++ b/server/forge/bitbucket/convert.go @@ -168,22 +168,30 @@ func convertPullHook(from *internal.PullRequestHook) *model.Pipeline { event = model.EventPullClosed } - return &model.Pipeline{ + pipeline := &model.Pipeline{ Event: event, - Commit: from.PullRequest.Dest.Commit.Hash, - Ref: fmt.Sprintf("refs/heads/%s", from.PullRequest.Dest.Branch.Name), + Commit: from.PullRequest.Source.Commit.Hash, + Ref: fmt.Sprintf("refs/heads/%s", from.PullRequest.Source.Branch.Name), Refspec: fmt.Sprintf("%s:%s", from.PullRequest.Source.Branch.Name, from.PullRequest.Dest.Branch.Name, ), ForgeURL: from.PullRequest.Links.HTML.Href, - Branch: from.PullRequest.Dest.Branch.Name, + Branch: from.PullRequest.Source.Branch.Name, Message: from.PullRequest.Desc, Avatar: from.Actor.Links.Avatar.Href, Author: from.Actor.Login, Sender: from.Actor.Login, Timestamp: from.PullRequest.Updated.UTC().Unix(), } + + if from.PullRequest.State == stateClosed { + pipeline.Commit = from.PullRequest.MergeCommit.Hash + pipeline.Ref = fmt.Sprintf("refs/heads/%s", from.PullRequest.Dest.Branch.Name) + pipeline.Branch = from.PullRequest.Dest.Branch.Name + } + + return pipeline } // convertPushHook is a helper function used to convert a Bitbucket push diff --git a/server/forge/bitbucket/convert_test.go b/server/forge/bitbucket/convert_test.go index 2ce3e27f6..ee47a2770 100644 --- a/server/forge/bitbucket/convert_test.go +++ b/server/forge/bitbucket/convert_test.go @@ -129,6 +129,7 @@ func Test_helper(t *testing.T) { hook.PullRequest.Dest.Repo.Links.HTML.Href = "https://bitbucket.org/foo/bar" hook.PullRequest.Source.Branch.Name = "change" hook.PullRequest.Source.Repo.FullName = "baz/bar" + hook.PullRequest.Source.Commit.Hash = "c8411d7" hook.PullRequest.Links.HTML.Href = "https://bitbucket.org/foo/bar/pulls/5" hook.PullRequest.Desc = "updated README" hook.PullRequest.Updated = time.Now() @@ -137,10 +138,10 @@ func Test_helper(t *testing.T) { g.Assert(pipeline.Event).Equal(model.EventPull) g.Assert(pipeline.Author).Equal(hook.Actor.Login) g.Assert(pipeline.Avatar).Equal(hook.Actor.Links.Avatar.Href) - g.Assert(pipeline.Commit).Equal(hook.PullRequest.Dest.Commit.Hash) - g.Assert(pipeline.Branch).Equal(hook.PullRequest.Dest.Branch.Name) + g.Assert(pipeline.Commit).Equal(hook.PullRequest.Source.Commit.Hash) + g.Assert(pipeline.Branch).Equal(hook.PullRequest.Source.Branch.Name) g.Assert(pipeline.ForgeURL).Equal(hook.PullRequest.Links.HTML.Href) - g.Assert(pipeline.Ref).Equal("refs/heads/main") + g.Assert(pipeline.Ref).Equal("refs/heads/change") g.Assert(pipeline.Refspec).Equal("change:main") g.Assert(pipeline.Message).Equal(hook.PullRequest.Desc) g.Assert(pipeline.Timestamp).Equal(hook.PullRequest.Updated.Unix()) diff --git a/server/forge/bitbucket/internal/types.go b/server/forge/bitbucket/internal/types.go index a5dc4acb4..bbb03ab1c 100644 --- a/server/forge/bitbucket/internal/types.go +++ b/server/forge/bitbucket/internal/types.go @@ -164,6 +164,10 @@ type PullRequestHook struct { Created time.Time `json:"created_on"` Updated time.Time `json:"updated_on"` + MergeCommit struct { + Hash string `json:"hash"` + } `json:"merge_commit"` + Source struct { Repo Repo `json:"repository"` Commit struct { diff --git a/server/forge/bitbucket/parse_test.go b/server/forge/bitbucket/parse_test.go index aa9b81117..a5562fc39 100644 --- a/server/forge/bitbucket/parse_test.go +++ b/server/forge/bitbucket/parse_test.go @@ -63,7 +63,7 @@ func Test_parser(t *testing.T) { g.Assert(err).IsNil() g.Assert(r.FullName).Equal("user_name/repo_name") g.Assert(b.Event).Equal(model.EventPull) - g.Assert(b.Commit).Equal("ce5965ddd289") + g.Assert(b.Commit).Equal("d3022fc0ca3d") }) g.It("should return pull-request details for a pull-request merged payload", func() { @@ -76,7 +76,7 @@ func Test_parser(t *testing.T) { g.Assert(err).IsNil() g.Assert(r.FullName).Equal("anbraten/test-2") g.Assert(b.Event).Equal(model.EventPullClosed) - g.Assert(b.Commit).Equal("6c5f0bc9b2aa") + g.Assert(b.Commit).Equal("006704dbeab2") }) g.It("should return pull-request details for a pull-request closed payload", func() { @@ -89,7 +89,7 @@ func Test_parser(t *testing.T) { g.Assert(err).IsNil() g.Assert(r.FullName).Equal("anbraten/test-2") g.Assert(b.Event).Equal(model.EventPullClosed) - g.Assert(b.Commit).Equal("006704dbeab2") + g.Assert(b.Commit).Equal("f90e18fc9d45") }) }) From b330c19bf46ee36c41d68d4aff43a0c57b631616 Mon Sep 17 00:00:00 2001 From: qwerty287 <80460567+qwerty287@users.noreply.github.com> Date: Tue, 23 Jul 2024 20:41:37 +0200 Subject: [PATCH 055/547] Migrate to maintained httpsign library (#3839) Co-authored-by: 6543 <6543@obermui.de> --- .cspell.json | 2 +- .../100-external-configuration-api.md | 2 +- docs/docs/91-migrations.md | 1 + go.mod | 13 +++- go.sum | 30 +++++++++- server/services/config/combined_test.go | 26 ++++---- server/services/config/http.go | 6 +- server/services/setup.go | 4 +- server/services/utils/http.go | 24 ++++---- server/services/utils/http_test.go | 59 +++++++++---------- 10 files changed, 99 insertions(+), 68 deletions(-) diff --git a/.cspell.json b/.cspell.json index 4555dfa4e..1a9204e6a 100644 --- a/.cspell.json +++ b/.cspell.json @@ -78,7 +78,7 @@ "homelab", "HTMLURL", "HTTPFS", - "httpsig", + "httpsign", "HTTPURL", "httputil", "ianvs", diff --git a/docs/docs/30-administration/40-advanced/100-external-configuration-api.md b/docs/docs/30-administration/40-advanced/100-external-configuration-api.md index 8ed55baf5..db112126d 100644 --- a/docs/docs/30-administration/40-advanced/100-external-configuration-api.md +++ b/docs/docs/30-administration/40-advanced/100-external-configuration-api.md @@ -3,7 +3,7 @@ To provide additional management and preprocessing capabilities for pipeline configurations Woodpecker supports an HTTP API which can be enabled to call an external config service. Before the run or restart of any pipeline Woodpecker will make a POST request to an external HTTP API sending the current repository, build information and all current config files retrieved from the repository. The external API can then send back new pipeline configurations that will be used immediately or respond with `HTTP 204` to tell the system to use the existing configuration. -Every request sent by Woodpecker is signed using a [http-signature](https://datatracker.ietf.org/doc/html/draft-cavage-http-signatures) by a private key (ed25519) generated on the first start of the Woodpecker server. You can get the public key for the verification of the http-signature from `http(s)://your-woodpecker-server/api/signature/public-key`. +Every request sent by Woodpecker is signed using a [http-signature](https://datatracker.ietf.org/doc/html/rfc9421) by a private key (ed25519) generated on the first start of the Woodpecker server. You can get the public key for the verification of the http-signature from `http(s)://your-woodpecker-server/api/signature/public-key`. A simplistic example configuration service can be found here: [https://github.com/woodpecker-ci/example-config-service](https://github.com/woodpecker-ci/example-config-service) diff --git a/docs/docs/91-migrations.md b/docs/docs/91-migrations.md index 4becb088e..42528ce25 100644 --- a/docs/docs/91-migrations.md +++ b/docs/docs/91-migrations.md @@ -22,6 +22,7 @@ Some versions need some changes to the server configuration or the pipeline conf - Deprecated slice definition for env vars - Deprecated `environment` filter, use `when.evaluate` - Deprecated `WOODPECKER_WEBHOOK_HOST` in favor of `WOODPECKER_EXPERT_WEBHOOK_HOST` +- Migrated to rfc9421 for webhook signatures ## 2.0.0 diff --git a/go.mod b/go.mod index a9aba768e..1f232f2f7 100644 --- a/go.mod +++ b/go.mod @@ -29,7 +29,6 @@ require ( github.com/getkin/kin-openapi v0.126.0 github.com/gin-gonic/gin v1.10.0 github.com/gitsight/go-vcsurl v1.0.1 - github.com/go-ap/httpsig v0.0.0-20221203064646-3647b4d88fdf github.com/go-sql-driver/mysql v1.8.1 github.com/golang-jwt/jwt/v5 v5.2.1 github.com/google/go-github/v63 v63.0.0 @@ -60,6 +59,7 @@ require ( github.com/urfave/cli/v3 v3.0.0-alpha9.0.20240711030030-937cfe918cb1 github.com/xanzy/go-gitlab v0.107.0 github.com/xeipuuv/gojsonschema v1.2.0 + github.com/yaronf/httpsign v0.3.1 github.com/zalando/go-keyring v0.2.5 go.uber.org/multierr v1.11.0 golang.org/x/crypto v0.25.0 @@ -107,8 +107,10 @@ require ( github.com/danieljoos/wincred v1.2.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/davidmz/go-pageant v1.0.2 // indirect + github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 // indirect github.com/docker/distribution v2.8.3+incompatible // indirect github.com/docker/docker-credential-helpers v0.8.0 // indirect + github.com/dunglas/httpsfv v1.0.2 // indirect github.com/dustin/go-humanize v1.0.1 // indirect github.com/emicklei/go-restful/v3 v3.11.0 // indirect github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect @@ -124,7 +126,7 @@ require ( github.com/go-playground/locales v0.14.1 // indirect github.com/go-playground/universal-translator v0.18.1 // indirect github.com/go-playground/validator/v10 v10.20.0 // indirect - github.com/goccy/go-json v0.10.2 // indirect + github.com/goccy/go-json v0.10.3 // indirect github.com/godbus/dbus/v5 v5.1.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/protobuf v1.5.4 // indirect @@ -145,6 +147,12 @@ require ( github.com/julienschmidt/httprouter v1.3.0 // indirect github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/leodido/go-urn v1.4.0 // indirect + github.com/lestrrat-go/blackmagic v1.0.2 // indirect + github.com/lestrrat-go/httpcc v1.0.1 // indirect + github.com/lestrrat-go/httprc v1.0.5 // indirect + github.com/lestrrat-go/iter v1.0.2 // indirect + github.com/lestrrat-go/jwx/v2 v2.1.0 // indirect + github.com/lestrrat-go/option v1.0.1 // indirect github.com/libdns/libdns v0.2.2 // indirect github.com/lucasb-eyer/go-colorful v1.2.0 // indirect github.com/mailru/easyjson v0.7.7 // indirect @@ -174,6 +182,7 @@ require ( github.com/prometheus/procfs v0.12.0 // indirect github.com/rivo/uniseg v0.4.7 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect + github.com/segmentio/asm v1.2.0 // indirect github.com/sirupsen/logrus v1.9.3 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/stretchr/objx v0.5.2 // indirect diff --git a/go.sum b/go.sum index f21935450..4c8201f10 100644 --- a/go.sum +++ b/go.sum @@ -30,6 +30,8 @@ github.com/adrg/xdg v0.5.0 h1:dDaZvhMXatArP1NPHhnfaQUqWBLBsmx1h1HXQdMoFCY= github.com/adrg/xdg v0.5.0/go.mod h1:dDdY4M4DF9Rjy4kHPeNL+ilVF+p2lK8IdM9/rTSGcI4= github.com/alessio/shellescape v1.4.1 h1:V7yhSDDn8LP4lc4jS8pFkt0zCnzVJlG5JXy9BVKJUX0= github.com/alessio/shellescape v1.4.1/go.mod h1:PZAiSCk0LJaZkiCSkPv8qIobYglO3FPpyFjDCtHLS30= +github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883 h1:bvNMNQO63//z+xNgfBlViaCIJKLlCJ6/fmUseuG0wVQ= +github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= github.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z4= github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI= github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= @@ -99,6 +101,8 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davidmz/go-pageant v1.0.2 h1:bPblRCh5jGU+Uptpz6LgMZGD5hJoOt7otgT454WvHn0= github.com/davidmz/go-pageant v1.0.2/go.mod h1:P2EDDnMqIwG5Rrp05dTRITj9z2zpGcD9efWSkTNKLIE= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 h1:rpfIENRNNilwHwZeG5+P150SMrnNEcHYvcCuK6dPZSg= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0= github.com/denisenkom/go-mssqldb v0.12.3 h1:pBSGx9Tq67pBOTLmxNuirNTeB8Vjmf886Kx+8Y+8shw= github.com/denisenkom/go-mssqldb v0.12.3/go.mod h1:k0mtMFOnU+AihqFxPMiF05rtiDrorD1Vrm1KEz5hxDo= github.com/distribution/reference v0.5.0 h1:/FUIFXtfc/x2gpa5/VGfiGLuOIdYa1t65IKK2OFGvA0= @@ -118,6 +122,8 @@ github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4 github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/drone/envsubst v1.0.3 h1:PCIBwNDYjs50AsLZPYdfhSATKaRg/FJmDc2D6+C2x8g= github.com/drone/envsubst v1.0.3/go.mod h1:N2jZmlMufstn1KEqvbHjw40h1KyTmnVzHcSc9bFiJ2g= +github.com/dunglas/httpsfv v1.0.2 h1:iERDp/YAfnojSDJ7PW3dj1AReJz4MrwbECSSE59JWL0= +github.com/dunglas/httpsfv v1.0.2/go.mod h1:zID2mqw9mFsnt7YC3vYQ9/cjq30q41W+1AnDwH8TiMg= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= @@ -147,8 +153,6 @@ github.com/gin-gonic/gin v1.10.0 h1:nTuyha1TYqgedzytsKYqna+DfLos46nTv2ygFy86HFU= github.com/gin-gonic/gin v1.10.0/go.mod h1:4PMNQiOhvDRa013RKVbsiNwoyezlm2rm0uX/T7kzp5Y= github.com/gitsight/go-vcsurl v1.0.1 h1:wkijKsbVg9R2IBP97U7wOANeIW9WJJKkBwS9XqllzWo= github.com/gitsight/go-vcsurl v1.0.1/go.mod h1:qRFdKDa/0Lh9MT0xE+qQBYZ/01+mY1H40rZUHR24X9U= -github.com/go-ap/httpsig v0.0.0-20221203064646-3647b4d88fdf h1:Ab5yBsD/dXhFmgf2hX7T/YYr+VK0Df7SrIxyNztT9YE= -github.com/go-ap/httpsig v0.0.0-20221203064646-3647b4d88fdf/go.mod h1:+4SUDMvPlRMUPW5PlMTbxj3U5a4fWasBIbakUw7Kp6c= github.com/go-fed/httpsig v1.1.0 h1:9M+hb0jkEICD8/cAiNqEB66R87tTINszBRTjwjQzWcI= github.com/go-fed/httpsig v1.1.0/go.mod h1:RCMrTZvN1bJYtofsG4rd5NaO5obxQ5xBkdiS7xsT7bM= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= @@ -180,8 +184,9 @@ github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4 github.com/go-test/deep v1.0.8 h1:TDsG77qcSprGbC6vTN8OuXp5g+J+b5Pcguhf7Zt61VM= github.com/go-test/deep v1.0.8/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE= github.com/goccy/go-json v0.8.1/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= -github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/goccy/go-json v0.10.3 h1:KZ5WoDbxAIgm2HNbYckL0se1fHD6rz5j4ywS6ebzDqA= +github.com/goccy/go-json v0.10.3/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk= github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= @@ -324,6 +329,18 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ= github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI= +github.com/lestrrat-go/blackmagic v1.0.2 h1:Cg2gVSc9h7sz9NOByczrbUvLopQmXrfFx//N+AkAr5k= +github.com/lestrrat-go/blackmagic v1.0.2/go.mod h1:UrEqBzIR2U6CnzVyUtfM6oZNMt/7O7Vohk2J0OGSAtU= +github.com/lestrrat-go/httpcc v1.0.1 h1:ydWCStUeJLkpYyjLDHihupbn2tYmZ7m22BGkcvZZrIE= +github.com/lestrrat-go/httpcc v1.0.1/go.mod h1:qiltp3Mt56+55GPVCbTdM9MlqhvzyuL6W/NMDA8vA5E= +github.com/lestrrat-go/httprc v1.0.5 h1:bsTfiH8xaKOJPrg1R+E3iE/AWZr/x0Phj9PBTG/OLUk= +github.com/lestrrat-go/httprc v1.0.5/go.mod h1:mwwz3JMTPBjHUkkDv/IGJ39aALInZLrhBp0X7KGUZlo= +github.com/lestrrat-go/iter v1.0.2 h1:gMXo1q4c2pHmC3dn8LzRhJfP1ceCbgSiT9lUydIzltI= +github.com/lestrrat-go/iter v1.0.2/go.mod h1:Momfcq3AnRlRjI5b5O8/G5/BvpzrhoFTZcn06fEOPt4= +github.com/lestrrat-go/jwx/v2 v2.1.0 h1:0zs7Ya6+39qoit7gwAf+cYm1zzgS3fceIdo7RmQ5lkw= +github.com/lestrrat-go/jwx/v2 v2.1.0/go.mod h1:Xpw9QIaUGiIUD1Wx0NcY1sIHwFf8lDuZn/cmxtXYRys= +github.com/lestrrat-go/option v1.0.1 h1:oAzP2fvZGQKWkvHa1/SAcFolBEca1oN+mQ7eooNBEYU= +github.com/lestrrat-go/option v1.0.1/go.mod h1:5ZHFbivi4xwXxhxY9XHDe2FHo6/Z7WWmtT7T5nBBp3I= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= @@ -447,6 +464,10 @@ github.com/rs/zerolog v1.33.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWR github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= +github.com/segmentio/asm v1.2.0 h1:9BQrFxC+YOHJlTlHGkTrFWf59nbL3XnCoFLTwDCI7ys= +github.com/segmentio/asm v1.2.0/go.mod h1:BqMnlJP91P8d+4ibuonYZw9mfnzI9HfxselHZr5aAcs= +github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8= +github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I= github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= github.com/shopspring/decimal v1.3.1/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= @@ -467,6 +488,7 @@ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXf github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= @@ -503,6 +525,8 @@ github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17 github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no= github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM= +github.com/yaronf/httpsign v0.3.1 h1:A4pqjwOVCwlExyy/mPTTryCHcXn+xhq4+wxq4BKhi2k= +github.com/yaronf/httpsign v0.3.1/go.mod h1:+7d6GccMcoljvE3QtU00NCmR1iTXCVNfbMe5nqaxRG4= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= diff --git a/server/services/config/combined_test.go b/server/services/config/combined_test.go index d2a767cac..70c2f407e 100644 --- a/server/services/config/combined_test.go +++ b/server/services/config/combined_test.go @@ -27,9 +27,9 @@ import ( "testing" "time" - "github.com/go-ap/httpsig" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" + "github.com/yaronf/httpsign" "go.woodpecker-ci.org/woodpecker/v2/server/forge/mocks" forge_types "go.woodpecker-ci.org/woodpecker/v2/server/forge/types" @@ -120,25 +120,19 @@ func TestFetchFromConfigService(t *testing.T) { fixtureHandler := func(w http.ResponseWriter, r *http.Request) { // check signature - pubKeyID := "woodpecker-ci-plugins" + pubKeyID := "woodpecker-ci-extensions" - keystore := httpsig.NewMemoryKeyStore() - keystore.SetKey(pubKeyID, pubEd25519Key) + verifier, err := httpsign.NewEd25519Verifier(pubEd25519Key, + httpsign.NewVerifyConfig(), + httpsign.Headers("@request-target", "content-digest")) // The Content-Digest header will be auto-generated + assert.NoError(t, err) - verifier := httpsig.NewVerifier(keystore) - verifier.SetRequiredHeaders([]string{"(request-target)", "date"}) - - keyID, err := verifier.Verify(r) + err = httpsign.VerifyRequest(pubKeyID, *verifier, r) if err != nil { http.Error(w, "Invalid signature", http.StatusBadRequest) return } - if keyID != pubKeyID { - http.Error(w, "Used wrong key", http.StatusBadRequest) - return - } - type config struct { Name string `json:"name"` Data string `json:"data"` @@ -163,12 +157,12 @@ func TestFetchFromConfigService(t *testing.T) { } if req.Repo.Name == "Fetch empty" { - w.WriteHeader(404) + w.WriteHeader(http.StatusNotFound) return } if req.Repo.Name == "Use old config" { - w.WriteHeader(204) + w.WriteHeader(http.StatusNoContent) return } @@ -192,7 +186,7 @@ func TestFetchFromConfigService(t *testing.T) { ts := httptest.NewServer(http.HandlerFunc(fixtureHandler)) defer ts.Close() - httpFetcher := config.NewHTTP(ts.URL, privEd25519Key) + httpFetcher := config.NewHTTP(ts.URL+"/", privEd25519Key) for _, tt := range testTable { t.Run(tt.name, func(t *testing.T) { diff --git a/server/services/config/http.go b/server/services/config/http.go index de3a0844a..3eb512cd4 100644 --- a/server/services/config/http.go +++ b/server/services/config/http.go @@ -16,7 +16,7 @@ package config import ( "context" - "crypto" + "crypto/ed25519" "fmt" net_http "net/http" @@ -28,7 +28,7 @@ import ( type http struct { endpoint string - privateKey crypto.PrivateKey + privateKey ed25519.PrivateKey } // configData same as forge.FileMeta but with json tags and string data. @@ -48,7 +48,7 @@ type responseStructure struct { Configs []*configData `json:"configs"` } -func NewHTTP(endpoint string, privateKey crypto.PrivateKey) Service { +func NewHTTP(endpoint string, privateKey ed25519.PrivateKey) Service { return &http{endpoint, privateKey} } diff --git a/server/services/setup.go b/server/services/setup.go index 8260159ae..751a30ddd 100644 --- a/server/services/setup.go +++ b/server/services/setup.go @@ -57,7 +57,7 @@ func setupSecretService(store store.Store) secret.Service { return secret.NewDB(store) } -func setupConfigService(c *cli.Command, privateSignatureKey crypto.PrivateKey) (config.Service, error) { +func setupConfigService(c *cli.Command, privateSignatureKey ed25519.PrivateKey) (config.Service, error) { timeout := c.Duration("forge-timeout") retries := c.Uint("forge-retry") if retries == 0 { @@ -74,7 +74,7 @@ func setupConfigService(c *cli.Command, privateSignatureKey crypto.PrivateKey) ( } // setupSignatureKeys generate or load key pair to sign webhooks requests (i.e. used for service extensions). -func setupSignatureKeys(_store store.Store) (crypto.PrivateKey, crypto.PublicKey, error) { +func setupSignatureKeys(_store store.Store) (ed25519.PrivateKey, crypto.PublicKey, error) { privKeyID := "signature-private-key" privKey, err := _store.ServerConfigGet(privKeyID) diff --git a/server/services/utils/http.go b/server/services/utils/http.go index c11bfe27f..40a50269c 100644 --- a/server/services/utils/http.go +++ b/server/services/utils/http.go @@ -17,19 +17,19 @@ package utils import ( "bytes" "context" - "crypto" + "crypto/ed25519" "encoding/json" "fmt" "io" "net/http" "net/url" - "github.com/go-ap/httpsig" + "github.com/yaronf/httpsign" ) // Send makes an http request to the given endpoint, writing the input // to the request body and un-marshaling the output from the response body. -func Send(ctx context.Context, method, path string, privateKey crypto.PrivateKey, in, out any) (int, error) { +func Send(ctx context.Context, method, path string, privateKey ed25519.PrivateKey, in, out any) (int, error) { uri, err := url.Parse(path) if err != nil { return 0, err @@ -54,12 +54,12 @@ func Send(ctx context.Context, method, path string, privateKey crypto.PrivateKey req.Header.Set("Content-Type", "application/json") } - err = SignHTTPRequest(privateKey, req) + client, err := signClient(privateKey) if err != nil { return 0, err } - resp, err := http.DefaultClient.Do(req) + resp, err := client.Do(req) if err != nil { return 0, err } @@ -79,10 +79,14 @@ func Send(ctx context.Context, method, path string, privateKey crypto.PrivateKey return resp.StatusCode, err } -func SignHTTPRequest(privateKey crypto.PrivateKey, req *http.Request) error { - pubKeyID := "woodpecker-ci-plugins" +func signClient(privateKey ed25519.PrivateKey) (*httpsign.Client, error) { + pubKeyID := "woodpecker-ci-extensions" - signer := httpsig.NewEd25519Signer(pubKeyID, privateKey, nil) - - return signer.Sign(req) + signer, err := httpsign.NewEd25519Signer(privateKey, + httpsign.NewSignConfig(), + httpsign.Headers("@request-target", "content-digest")) // The Content-Digest header will be auto-generated + if err != nil { + return nil, err + } + return httpsign.NewDefaultClient(httpsign.NewClientConfig().SetSignatureName(pubKeyID).SetSigner(signer)), nil // sign requests, don't verify responses } diff --git a/server/services/utils/http_test.go b/server/services/utils/http_test.go index 3b47e8cc7..57d7eece2 100644 --- a/server/services/utils/http_test.go +++ b/server/services/utils/http_test.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package utils_test +package utils import ( "bytes" @@ -21,15 +21,14 @@ import ( "net/http" "net/http/httptest" "testing" + "time" - "github.com/go-ap/httpsig" "github.com/stretchr/testify/assert" - - "go.woodpecker-ci.org/woodpecker/v2/server/services/utils" + "github.com/yaronf/httpsign" ) -func TestSign(t *testing.T) { - pubKeyID := "woodpecker-ci-plugins" +func TestSignClient(t *testing.T) { + pubKeyID := "woodpecker-ci-extensions" pubEd25519Key, privEd25519Key, err := ed25519.GenerateKey(rand.Reader) if !assert.NoError(t, err) { @@ -38,36 +37,36 @@ func TestSign(t *testing.T) { body := []byte("{\"foo\":\"bar\"}") - req, err := http.NewRequest(http.MethodGet, "http://example.com", bytes.NewBuffer(body)) - if err != nil { - t.Fatal(err) - } - - req.Header.Set("Content-Type", "application/json") - - err = utils.SignHTTPRequest(privEd25519Key, req) - if err != nil { - t.Fatal(err) - } - verifyHandler := func(w http.ResponseWriter, r *http.Request) { - keystore := httpsig.NewMemoryKeyStore() - keystore.SetKey(pubKeyID, pubEd25519Key) - - verifier := httpsig.NewVerifier(keystore) - verifier.SetRequiredHeaders([]string{"(request-target)", "date"}) - - keyID, err := verifier.Verify(r) + verifier, err := httpsign.NewEd25519Verifier(pubEd25519Key, + httpsign.NewVerifyConfig(), + httpsign.Headers("@request-target", "content-digest")) // The Content-Digest header will be auto-generated + assert.NoError(t, err) + + err = httpsign.VerifyRequest(pubKeyID, *verifier, r) assert.NoError(t, err) - assert.Equal(t, pubKeyID, keyID) w.WriteHeader(http.StatusOK) } - rr := httptest.NewRecorder() - handler := http.HandlerFunc(verifyHandler) + server := httptest.NewServer(http.HandlerFunc(verifyHandler)) - handler.ServeHTTP(rr, req) + req, err := http.NewRequest("GET", server.URL+"/", bytes.NewBuffer(body)) + if !assert.NoError(t, err) { + return + } - assert.Equal(t, http.StatusOK, rr.Code) + req.Header.Set("Date", time.Now().Format(time.RFC3339)) + req.Header.Set("Content-Type", "application/json") + + client, err := signClient(privEd25519Key) + if !assert.NoError(t, err) { + return + } + + rr, err := client.Do(req) + assert.NoError(t, err) + defer rr.Body.Close() + + assert.Equal(t, http.StatusOK, rr.StatusCode) } From b6ac64c4f66ea1940dcff6423fa40ca04feb6ea7 Mon Sep 17 00:00:00 2001 From: qwerty287 <80460567+qwerty287@users.noreply.github.com> Date: Tue, 23 Jul 2024 20:48:21 +0200 Subject: [PATCH 056/547] Require gitlab 12.4 (#3966) --- docs/docs/30-administration/11-forges/40-gitlab.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/30-administration/11-forges/40-gitlab.md b/docs/docs/30-administration/11-forges/40-gitlab.md index 3fff410c6..67a862284 100644 --- a/docs/docs/30-administration/11-forges/40-gitlab.md +++ b/docs/docs/30-administration/11-forges/40-gitlab.md @@ -4,7 +4,7 @@ toc_max_heading_level: 2 # GitLab -Woodpecker comes with built-in support for the GitLab version 8.2 and higher. To enable GitLab you should configure the Woodpecker container using the following environment variables: +Woodpecker comes with built-in support for the GitLab version 12.4 and higher. To enable GitLab you should configure the Woodpecker container using the following environment variables: ```ini WOODPECKER_GITLAB=true From 123c4ae03e9c1ee4d62ccc45cb5fae70526e82f1 Mon Sep 17 00:00:00 2001 From: qwerty287 <80460567+qwerty287@users.noreply.github.com> Date: Thu, 25 Jul 2024 00:43:21 +0200 Subject: [PATCH 057/547] Update docker to v27 (#3972) --- go.mod | 24 +++++++---- go.sum | 55 ++++++++++++++++++------- pipeline/backend/docker/convert_test.go | 8 ++-- pipeline/backend/docker/docker.go | 18 ++++---- 4 files changed, 72 insertions(+), 33 deletions(-) diff --git a/go.mod b/go.mod index 1f232f2f7..f1959d52f 100644 --- a/go.mod +++ b/go.mod @@ -17,9 +17,9 @@ require ( github.com/cenkalti/backoff/v4 v4.3.0 github.com/charmbracelet/huh v0.5.1 github.com/charmbracelet/huh/spinner v0.0.0-20240327025511-ec643317aa10 - github.com/distribution/reference v0.5.0 - github.com/docker/cli v24.0.9+incompatible - github.com/docker/docker v24.0.9+incompatible + github.com/distribution/reference v0.6.0 + github.com/docker/cli v27.1.1+incompatible + github.com/docker/docker v27.1.1+incompatible github.com/docker/go-connections v0.5.0 github.com/docker/go-units v0.5.0 github.com/drone/envsubst v1.0.3 @@ -42,7 +42,7 @@ require ( github.com/lib/pq v1.10.9 github.com/mattn/go-sqlite3 v1.14.22 github.com/mitchellh/mapstructure v1.5.0 - github.com/moby/moby v24.0.9+incompatible + github.com/moby/moby v27.1.1+incompatible github.com/moby/term v0.5.0 github.com/muesli/termenv v0.15.2 github.com/neticdk/go-bitbucket v1.0.0 @@ -103,22 +103,24 @@ require ( github.com/charmbracelet/x/windows v0.1.2 // indirect github.com/cloudwego/base64x v0.1.4 // indirect github.com/cloudwego/iasm v0.2.0 // indirect + github.com/containerd/log v0.1.0 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect github.com/danieljoos/wincred v1.2.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/davidmz/go-pageant v1.0.2 // indirect github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 // indirect - github.com/docker/distribution v2.8.3+incompatible // indirect github.com/docker/docker-credential-helpers v0.8.0 // indirect github.com/dunglas/httpsfv v1.0.2 // indirect github.com/dustin/go-humanize v1.0.1 // indirect github.com/emicklei/go-restful/v3 v3.11.0 // indirect github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect github.com/fatih/color v1.16.0 // indirect + github.com/felixge/httpsnoop v1.0.4 // indirect github.com/gabriel-vasile/mimetype v1.4.3 // indirect github.com/gin-contrib/sse v0.1.0 // indirect github.com/go-fed/httpsig v1.1.0 // indirect - github.com/go-logr/logr v1.4.1 // indirect + github.com/go-logr/logr v1.4.2 // indirect + github.com/go-logr/stdr v1.2.2 // indirect github.com/go-openapi/jsonpointer v0.21.0 // indirect github.com/go-openapi/jsonreference v0.20.4 // indirect github.com/go-openapi/spec v0.20.13 // indirect @@ -164,6 +166,7 @@ require ( github.com/miekg/dns v1.1.59 // indirect github.com/mitchellh/go-testing-interface v1.0.0 // indirect github.com/mitchellh/hashstructure/v2 v2.0.2 // indirect + github.com/moby/docker-image-spec v1.3.1 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect @@ -193,13 +196,20 @@ require ( github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect github.com/zeebo/blake3 v0.2.3 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0 // indirect + go.opentelemetry.io/otel v1.28.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.28.0 // indirect + go.opentelemetry.io/otel/metric v1.28.0 // indirect + go.opentelemetry.io/otel/sdk v1.28.0 // indirect + go.opentelemetry.io/otel/trace v1.28.0 // indirect go.uber.org/zap v1.27.0 // indirect golang.org/x/arch v0.8.0 // indirect golang.org/x/mod v0.17.0 // indirect golang.org/x/sys v0.22.0 // indirect golang.org/x/time v0.5.0 // indirect golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20240722135656-d784300faade // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240723171418-e6d459c13d2a // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gotest.tools/v3 v3.4.0 // indirect diff --git a/go.sum b/go.sum index 4c8201f10..c226ebb9c 100644 --- a/go.sum +++ b/go.sum @@ -86,6 +86,8 @@ github.com/cloudwego/base64x v0.1.4/go.mod h1:0zlkT4Wn5C6NdauXdJRhSKRlJvmclQ1hhJ github.com/cloudwego/iasm v0.2.0 h1:1KNIy1I1H9hNNFEEH3DVnI4UujN+1zjpuk6gwHLTssg= github.com/cloudwego/iasm v0.2.0/go.mod h1:8rXZaNYT2n95jn+zTI1sDr+IgcD2GVs0nlbbQPiEFhY= github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= +github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= +github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= @@ -105,15 +107,13 @@ github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 h1:rpfIENRNNilwHwZeG5+P150SMrnN github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0= github.com/denisenkom/go-mssqldb v0.12.3 h1:pBSGx9Tq67pBOTLmxNuirNTeB8Vjmf886Kx+8Y+8shw= github.com/denisenkom/go-mssqldb v0.12.3/go.mod h1:k0mtMFOnU+AihqFxPMiF05rtiDrorD1Vrm1KEz5hxDo= -github.com/distribution/reference v0.5.0 h1:/FUIFXtfc/x2gpa5/VGfiGLuOIdYa1t65IKK2OFGvA0= -github.com/distribution/reference v0.5.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= +github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= +github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= -github.com/docker/cli v24.0.9+incompatible h1:OxbimnP/z+qVjDLpq9wbeFU3Nc30XhSe+LkwYQisD50= -github.com/docker/cli v24.0.9+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= -github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk= -github.com/docker/distribution v2.8.3+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v24.0.9+incompatible h1:HPGzNmwfLZWdxHqK9/II92pyi1EpYKsAqcl4G0Of9v0= -github.com/docker/docker v24.0.9+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/cli v27.1.1+incompatible h1:goaZxOqs4QKxznZjjBWKONQci/MywhtRv2oNn0GkeZE= +github.com/docker/cli v27.1.1+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/docker v27.1.1+incompatible h1:hO/M4MtV36kzKldqnA37IWhebRA+LnqqcqDja6kVaKY= +github.com/docker/docker v27.1.1+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.8.0 h1:YQFtbBQb4VrpoPxhFuzEBPQ9E16qz5SpHLS+uswaCp8= github.com/docker/docker-credential-helpers v0.8.0/go.mod h1:UGFXcuoQ5TxPiB54nHOZ32AWRqQdECoh/Mg0AlEYb40= github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj1Br63c= @@ -136,6 +136,8 @@ github.com/expr-lang/expr v1.16.9/go.mod h1:8/vRC7+7HBzESEqt5kKpYXxrxkr31SaO8r40 github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= +github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= +github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/franela/goblin v0.0.0-20211003143422-0a4f594942bf h1:NrF81UtW8gG2LBGkXFQFqlfNnvMt9WdB46sfdJY4oqc= github.com/franela/goblin v0.0.0-20211003143422-0a4f594942bf/go.mod h1:VzmDKDJVZI3aJmnRI9VjAn9nJ8qPPsN1fqzr9dqInIo= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= @@ -157,8 +159,11 @@ github.com/go-fed/httpsig v1.1.0 h1:9M+hb0jkEICD8/cAiNqEB66R87tTINszBRTjwjQzWcI= github.com/go-fed/httpsig v1.1.0/go.mod h1:RCMrTZvN1bJYtofsG4rd5NaO5obxQ5xBkdiS7xsT7bM= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= -github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= +github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ= github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY= github.com/go-openapi/jsonreference v0.20.4 h1:bKlDxQxQJgwpUSgOENiMPzCTBVuc7vTdXSSgNeAhojU= @@ -235,6 +240,8 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/securecookie v1.1.2 h1:YCIWL56dvtr73r6715mJs5ZvhtnY73hBvEF8kXD8ePA= github.com/gorilla/securecookie v1.1.2/go.mod h1:NfCASbcHqRSY+3a8tlWJwsQap2VX5pwzwo4h3eOamfo= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0 h1:bkypFPDjIYGfCYD5mRBvpqxfYX1YCS1PXdKYWi8FsN0= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0/go.mod h1:P+Lt/0by1T8bfcF3z737NnSbmxQAppXMRziHUxPOC8k= github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= github.com/hashicorp/go-hclog v1.6.3 h1:Qr2kF+eVWjTiYmU7Y31tYlP1h0q/X3Nl3tPGdaB11/k= @@ -386,8 +393,10 @@ github.com/mitchellh/hashstructure/v2 v2.0.2 h1:vGKWl0YJqUNxE8d+h8f6NJLcCJrgbhC4 github.com/mitchellh/hashstructure/v2 v2.0.2/go.mod h1:MG3aRVU/N29oo/V/IhBX8GR/zz4kQkprJgF2EVszyDE= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/moby/moby v24.0.9+incompatible h1:Z/hFbZJqC5Fmuf6jesMLdHU71CMAgdiSJ1ZYey+bFmg= -github.com/moby/moby v24.0.9+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc= +github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= +github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= +github.com/moby/moby v27.1.1+incompatible h1:WdCIKJ4WIxhrKti5c+Z7sj2SLADbsuB/reEBpQ4rtOQ= +github.com/moby/moby v27.1.1+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc= github.com/moby/term v0.5.0 h1:xt8Q1nalod/v7BqbG21f8mQPqH+xAaC9C3N3wfWbVP0= github.com/moby/term v0.5.0/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -540,6 +549,22 @@ github.com/zeebo/pcg v1.0.1 h1:lyqfGeWiv4ahac6ttHs+I5hwtH/+1mrhlCtVNQM2kHo= github.com/zeebo/pcg v1.0.1/go.mod h1:09F0S9iiKrwn9rlI5yjLkmrug154/YRW6KnnXVDM/l4= github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= github.com/ziutek/mymysql v1.5.4/go.mod h1:LMSpPZ6DbqWFxNCHW77HeMg9I646SAhApZ/wKdgO/C0= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0 h1:4K4tsIXefpVJtvA/8srF4V4y0akAoPHkIslgAkjixJA= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0/go.mod h1:jjdQuTGVsXV4vSs+CJ2qYDeDPf9yIJV23qlIzBm73Vg= +go.opentelemetry.io/otel v1.28.0 h1:/SqNcYk+idO0CxKEUOtKQClMK/MimZihKYMruSMViUo= +go.opentelemetry.io/otel v1.28.0/go.mod h1:q68ijF8Fc8CnMHKyzqL6akLO46ePnjkgfIMIjUIX9z4= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.28.0 h1:3Q/xZUyC1BBkualc9ROb4G8qkH90LXEIICcs5zv1OYY= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.28.0/go.mod h1:s75jGIWA9OfCMzF0xr+ZgfrB5FEbbV7UuYo32ahUiFI= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.28.0 h1:j9+03ymgYhPKmeXGk5Zu+cIZOlVzd9Zv7QIiyItjFBU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.28.0/go.mod h1:Y5+XiUG4Emn1hTfciPzGPJaSI+RpDts6BnCIir0SLqk= +go.opentelemetry.io/otel/metric v1.28.0 h1:f0HGvSl1KRAU1DLgLGFjrwVyismPlnuU6JD6bOeuA5Q= +go.opentelemetry.io/otel/metric v1.28.0/go.mod h1:Fb1eVBFZmLVTMb6PPohq3TO9IIhUisDsbJoL/+uQW4s= +go.opentelemetry.io/otel/sdk v1.28.0 h1:b9d7hIry8yZsgtbmM0DKyPWMMUMlK9NEKuIG4aBqWyE= +go.opentelemetry.io/otel/sdk v1.28.0/go.mod h1:oYj7ClPUA7Iw3m+r7GeEjz0qckQRJK2B8zjcZEfu7Pg= +go.opentelemetry.io/otel/trace v1.28.0 h1:GhQ9cUuQGmNDd5BTCP2dAvv75RdMxEfTmYejp+lkx9g= +go.opentelemetry.io/otel/trace v1.28.0/go.mod h1:jPyXzNPg6da9+38HEwElrQiHlVMTnVfM3/yv2OlIHaI= +go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= +go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= @@ -680,8 +705,10 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 h1:Zy9XzmMEflZ/MAaA7vNcoebnRAld7FsPW1EeBB7V0m8= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= +google.golang.org/genproto/googleapis/api v0.0.0-20240722135656-d784300faade h1:WxZOF2yayUHpHSbUE6NMzumUzBxYc3YGwo0YHnbzsJY= +google.golang.org/genproto/googleapis/api v0.0.0-20240722135656-d784300faade/go.mod h1:mw8MG/Qz5wfgYr6VqVCiZcHe/GJEfI+oGGDCohaVgB0= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240723171418-e6d459c13d2a h1:hqK4+jJZXCU4pW7jsAdGOVFIfLHQeV7LaizZKnZ84HI= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240723171418-e6d459c13d2a/go.mod h1:Ue6ibwXGpU+dqIcODieyLOcgj7z8+IcskoNIgZxtrFY= google.golang.org/grpc v1.65.0 h1:bs/cUb4lp1G5iImFFd3u5ixQzweKizoZJAwBNLR42lc= google.golang.org/grpc v1.65.0/go.mod h1:WgYC2ypjlB0EiQi6wdKixMqukr6lBc0Vo+oOgjrM5ZQ= google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= diff --git a/pipeline/backend/docker/convert_test.go b/pipeline/backend/docker/convert_test.go index c353efed5..998c731b5 100644 --- a/pipeline/backend/docker/convert_test.go +++ b/pipeline/backend/docker/convert_test.go @@ -19,8 +19,8 @@ import ( "sort" "testing" - "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/container" + "github.com/docker/docker/api/types/system" "github.com/stretchr/testify/assert" backend "go.woodpecker-ci.org/woodpecker/v2/pipeline/backend/types" @@ -111,7 +111,7 @@ var ( } testEngine = &docker{ - info: types.Info{ + info: system.Info{ Architecture: "x86_64", OSType: "linux", DefaultRuntime: "runc", @@ -166,7 +166,7 @@ func TestEncodeAuthToBase64(t *testing.T) { } func TestToConfigSmall(t *testing.T) { - engine := docker{info: types.Info{OSType: "linux/riscv64"}} + engine := docker{info: system.Info{OSType: "linux/riscv64"}} conf := engine.toConfig(&backend.Step{ Name: "test", @@ -196,7 +196,7 @@ func TestToConfigSmall(t *testing.T) { } func TestToConfigFull(t *testing.T) { - engine := docker{info: types.Info{OSType: "linux/riscv64"}} + engine := docker{info: system.Info{OSType: "linux/riscv64"}} conf := engine.toConfig(&backend.Step{ Name: "test", diff --git a/pipeline/backend/docker/docker.go b/pipeline/backend/docker/docker.go index 69ca8480e..bb5484c31 100644 --- a/pipeline/backend/docker/docker.go +++ b/pipeline/backend/docker/docker.go @@ -22,8 +22,10 @@ import ( "path/filepath" "strings" - "github.com/docker/docker/api/types" + "github.com/docker/docker/api/types/container" + "github.com/docker/docker/api/types/image" "github.com/docker/docker/api/types/network" + "github.com/docker/docker/api/types/system" "github.com/docker/docker/api/types/volume" tls_config "github.com/docker/go-connections/tlsconfig" "github.com/moby/moby/client" @@ -42,7 +44,7 @@ type docker struct { enableIPv6 bool network string volumes []string - info types.Info + info system.Info } const ( @@ -171,9 +173,9 @@ func (e *docker) SetupWorkflow(ctx context.Context, conf *backend.Config, taskUU networkDriver = networkDriverNAT } for _, n := range conf.Networks { - _, err := e.client.NetworkCreate(ctx, n.Name, types.NetworkCreate{ + _, err := e.client.NetworkCreate(ctx, n.Name, network.CreateOptions{ Driver: networkDriver, - EnableIPv6: e.enableIPv6, + EnableIPv6: &e.enableIPv6, }) if err != nil { return err @@ -190,7 +192,7 @@ func (e *docker) StartStep(ctx context.Context, step *backend.Step, taskUUID str containerName := toContainerName(step) // create pull options with encoded authorization credentials. - pullOpts := types.ImagePullOptions{} + pullOpts := image.PullOptions{} if step.AuthConfig.Username != "" && step.AuthConfig.Password != "" { pullOpts.RegistryAuth, _ = encodeAuthToBase64(step.AuthConfig) } @@ -257,7 +259,7 @@ func (e *docker) StartStep(ctx context.Context, step *backend.Step, taskUUID str } } - return e.client.ContainerStart(ctx, containerName, types.ContainerStartOptions{}) + return e.client.ContainerStart(ctx, containerName, container.StartOptions{}) } func (e *docker) WaitStep(ctx context.Context, step *backend.Step, taskUUID string) (*backend.State, error) { @@ -286,7 +288,7 @@ func (e *docker) WaitStep(ctx context.Context, step *backend.Step, taskUUID stri func (e *docker) TailStep(ctx context.Context, step *backend.Step, taskUUID string) (io.ReadCloser, error) { log.Trace().Str("taskUUID", taskUUID).Msgf("tail logs of step %s", step.Name) - logs, err := e.client.ContainerLogs(ctx, toContainerName(step), types.ContainerLogsOptions{ + logs, err := e.client.ContainerLogs(ctx, toContainerName(step), container.LogsOptions{ Follow: true, ShowStdout: true, ShowStderr: true, @@ -350,7 +352,7 @@ func (e *docker) DestroyWorkflow(ctx context.Context, conf *backend.Config, task return nil } -var removeOpts = types.ContainerRemoveOptions{ +var removeOpts = container.RemoveOptions{ RemoveVolumes: true, RemoveLinks: false, Force: false, From 3ae4a8d7bb2c690b116e72eefc29118aa4f92a54 Mon Sep 17 00:00:00 2001 From: qwerty287 <80460567+qwerty287@users.noreply.github.com> Date: Thu, 25 Jul 2024 00:43:43 +0200 Subject: [PATCH 058/547] Drop version in schema (#3970) --- pipeline/frontend/yaml/linter/schema/schema.json | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pipeline/frontend/yaml/linter/schema/schema.json b/pipeline/frontend/yaml/linter/schema/schema.json index 891bc9324..a46bdab21 100644 --- a/pipeline/frontend/yaml/linter/schema/schema.json +++ b/pipeline/frontend/yaml/linter/schema/schema.json @@ -51,10 +51,6 @@ "items": { "type": "string" } - }, - "version": { - "type": "number", - "default": 1 } }, "definitions": { From 111eb7ef48813018338229d89ea6ea8f70ce09c5 Mon Sep 17 00:00:00 2001 From: qwerty287 <80460567+qwerty287@users.noreply.github.com> Date: Thu, 25 Jul 2024 17:17:09 +0200 Subject: [PATCH 059/547] Fix dropped env vars (#3969) Co-authored-by: 6543 <6543@obermui.de> --- .woodpecker/static.yaml | 2 +- cmd/server/flags.go | 2 +- docs/docs/20-usage/10-intro.md | 21 ++++++++++--------- docs/docs/20-usage/20-workflow-syntax.md | 4 ++-- docs/docs/20-usage/50-environment.md | 8 +++---- docs/docs/20-usage/51-plugins/51-overview.md | 2 +- .../30-administration/10-server-config.md | 8 ------- .../30-administration/11-forges/30-gitea.md | 8 ------- .../30-administration/11-forges/35-forgejo.md | 4 ---- docs/docs/91-migrations.md | 2 +- .../docs/92-development/01-getting-started.md | 7 +++---- .../schema/.woodpecker/test-array-syntax.yaml | 2 -- 12 files changed, 24 insertions(+), 46 deletions(-) diff --git a/.woodpecker/static.yaml b/.woodpecker/static.yaml index 17b9f0e9f..000d2e25d 100644 --- a/.woodpecker/static.yaml +++ b/.woodpecker/static.yaml @@ -26,7 +26,7 @@ steps: image: docker.io/woodpeckerci/plugin-prettier:0.1.0 depends_on: [] settings: - version: 3.2.5 + version: 3.3.3 - name: links image: docker.io/lycheeverse/lychee:0.15.1 diff --git a/cmd/server/flags.go b/cmd/server/flags.go index a1fc44c7c..45c905a4f 100644 --- a/cmd/server/flags.go +++ b/cmd/server/flags.go @@ -477,7 +477,7 @@ var flags = append([]cli.Flag{ // expert flags // &cli.StringFlag{ - Sources: cli.EnvVars("WOODPECKER_EXPERT_WEBHOOK_HOST", "WOODPECKER_WEBHOOK_HOST"), // TODO: remove WOODPECKER_WEBHOOK_HOST in next major release + Sources: cli.EnvVars("WOODPECKER_EXPERT_WEBHOOK_HOST"), Name: "server-webhook-host", Usage: "!!!for experts!!! fully qualified woodpecker server url called by forge's webhooks. Format: ://[/]", }, diff --git a/docs/docs/20-usage/10-intro.md b/docs/docs/20-usage/10-intro.md index 87951bdd8..1c4baec1f 100644 --- a/docs/docs/20-usage/10-intro.md +++ b/docs/docs/20-usage/10-intro.md @@ -86,16 +86,17 @@ Sometimes you have some tasks that you need to do in every project. For example, If you want to get a Slack notification after your pipeline has finished, you can add a Slack plugin to your pipeline: ```yaml ---- -- name: notify me on Slack - image: plugins/slack - settings: - channel: developers - username: woodpecker - password: - from_secret: slack_token - when: - status: [success, failure] # This will execute the step on success and failure +steps: + # ... + - name: notify me on Slack + image: plugins/slack + settings: + channel: developers + username: woodpecker + password: + from_secret: slack_token + when: + status: [success, failure] # This will execute the step on success and failure ``` To configure a plugin you can use the `settings` section. diff --git a/docs/docs/20-usage/20-workflow-syntax.md b/docs/docs/20-usage/20-workflow-syntax.md index 4e481e429..d50345e6a 100644 --- a/docs/docs/20-usage/20-workflow-syntax.md +++ b/docs/docs/20-usage/20-workflow-syntax.md @@ -104,7 +104,7 @@ When using the `local` backend, the `image` entry is used to specify the shell, - go test - name: publish -+ image: plugins/docker ++ image: woodpeckerci/plugin-docker-buildx repo: foo/bar services: @@ -475,7 +475,7 @@ Normally steps of a workflow are executed serially in the order in which they ar - go build - name: deploy - image: plugins/docker + image: woodpeckerci/plugin-docker-buildx settings: repo: foo/bar + depends_on: [build, test] # deploy will be executed after build and test finished diff --git a/docs/docs/20-usage/50-environment.md b/docs/docs/20-usage/50-environment.md index 299bb8f53..7a366d9d3 100644 --- a/docs/docs/20-usage/50-environment.md +++ b/docs/docs/20-usage/50-environment.md @@ -172,7 +172,7 @@ Example commit substitution: ```diff steps: - name: docker - image: plugins/docker + image: woodpeckerci/plugin-docker-buildx settings: + tags: ${CI_COMMIT_SHA} ``` @@ -182,7 +182,7 @@ Example tag substitution: ```diff steps: - name: docker - image: plugins/docker + image: woodpeckerci/plugin-docker-buildx settings: + tags: ${CI_COMMIT_TAG} ``` @@ -210,7 +210,7 @@ Example variable substitution with substring: ```diff steps: - name: docker - image: plugins/docker + image: woodpeckerci/plugin-docker-buildx settings: + tags: ${CI_COMMIT_SHA:0:8} ``` @@ -220,7 +220,7 @@ Example variable substitution strips `v` prefix from `v.1.0.0`: ```diff steps: - name: docker - image: plugins/docker + image: woodpeckerci/plugin-docker-buildx settings: + tags: ${CI_COMMIT_TAG##v} ``` diff --git a/docs/docs/20-usage/51-plugins/51-overview.md b/docs/docs/20-usage/51-plugins/51-overview.md index 6213d5d27..93a5d27f4 100644 --- a/docs/docs/20-usage/51-plugins/51-overview.md +++ b/docs/docs/20-usage/51-plugins/51-overview.md @@ -34,7 +34,7 @@ steps: - go test - name: publish - image: plugins/docker + image: woodpeckerci/plugin-docker-buildx settings: repo: foo/bar tags: latest diff --git a/docs/docs/30-administration/10-server-config.md b/docs/docs/30-administration/10-server-config.md index 6e7e450a5..ed624bf6e 100644 --- a/docs/docs/30-administration/10-server-config.md +++ b/docs/docs/30-administration/10-server-config.md @@ -197,14 +197,6 @@ Examples: - `WOODPECKER_HOST=http://example.org/woodpecker` - `WOODPECKER_HOST=http://example.org:1234/woodpecker` -### `WOODPECKER_WEBHOOK_HOST` - -> Default: value from `WOODPECKER_HOST` config env - -Server fully qualified URL of the Webhook-facing hostname and path prefix. - -Example: `WOODPECKER_WEBHOOK_HOST=http://woodpecker-server.cicd.svc.cluster.local:8000` - ### `WOODPECKER_SERVER_ADDR` > Default: `:8000` diff --git a/docs/docs/30-administration/11-forges/30-gitea.md b/docs/docs/30-administration/11-forges/30-gitea.md index 23cd6849a..62fe40cb6 100644 --- a/docs/docs/30-administration/11-forges/30-gitea.md +++ b/docs/docs/30-administration/11-forges/30-gitea.md @@ -97,11 +97,3 @@ Read the value for `WOODPECKER_GITEA_SECRET` from the specified filepath > Default: `false` Configure if SSL verification should be skipped. - -## Advanced options - -### `WOODPECKER_DEV_GITEA_OAUTH_URL` - -> Default: value of `WOODPECKER_GITEA_URL` - -Configures the user-facing Gitea server address. Should be used if `WOODPECKER_GITEA_URL` points to an internal URL used for API requests. diff --git a/docs/docs/30-administration/11-forges/35-forgejo.md b/docs/docs/30-administration/11-forges/35-forgejo.md index b70c243f0..5b89d8051 100644 --- a/docs/docs/30-administration/11-forges/35-forgejo.md +++ b/docs/docs/30-administration/11-forges/35-forgejo.md @@ -4,10 +4,6 @@ toc_max_heading_level: 2 # Forgejo -:::warning -Forgejo support is experimental. -::: - Woodpecker comes with built-in support for Forgejo. To enable Forgejo you should configure the Woodpecker container using the following environment variables: ```ini diff --git a/docs/docs/91-migrations.md b/docs/docs/91-migrations.md index 42528ce25..5bd8db9ac 100644 --- a/docs/docs/91-migrations.md +++ b/docs/docs/91-migrations.md @@ -21,7 +21,7 @@ Some versions need some changes to the server configuration or the pipeline conf - Deprecated alternative names for secrets, use `environment` with `from_secret` - Deprecated slice definition for env vars - Deprecated `environment` filter, use `when.evaluate` -- Deprecated `WOODPECKER_WEBHOOK_HOST` in favor of `WOODPECKER_EXPERT_WEBHOOK_HOST` +- Removed `WOODPECKER_WEBHOOK_HOST` in favor of `WOODPECKER_EXPERT_WEBHOOK_HOST` - Migrated to rfc9421 for webhook signatures ## 2.0.0 diff --git a/docs/docs/92-development/01-getting-started.md b/docs/docs/92-development/01-getting-started.md index c4aef640d..20ee99255 100644 --- a/docs/docs/92-development/01-getting-started.md +++ b/docs/docs/92-development/01-getting-started.md @@ -54,8 +54,7 @@ A common config for debugging would look like this: WOODPECKER_OPEN=true WOODPECKER_ADMIN=your-username -# if you want to test webhooks with an online forge like GitHub this address needs to be accessible from public server -WOODPECKER_HOST=http://your-dev-address.com +WOODPECKER_HOST=http://localhost:8000 # github (sample for a forge config - see /docs/administration/forge/overview for other forges) WOODPECKER_GITHUB=true @@ -70,8 +69,8 @@ WOODPECKER_MAX_WORKFLOWS=1 # enable if you want to develop the UI # WOODPECKER_DEV_WWW_PROXY=http://localhost:8010 -# used so you can login without using a public address -WOODPECKER_DEV_OAUTH_HOST=http://localhost:8000 +# if you want to test webhooks with an online forge like GitHub this address needs to be set and accessible from public server +WOODPECKER_EXPERT_WEBHOOK_HOST=http://your-address.com # disable health-checks while debugging (normally not needed while developing) WOODPECKER_HEALTHCHECK=false diff --git a/pipeline/frontend/yaml/linter/schema/.woodpecker/test-array-syntax.yaml b/pipeline/frontend/yaml/linter/schema/.woodpecker/test-array-syntax.yaml index a21b77261..569e5529c 100644 --- a/pipeline/frontend/yaml/linter/schema/.woodpecker/test-array-syntax.yaml +++ b/pipeline/frontend/yaml/linter/schema/.woodpecker/test-array-syntax.yaml @@ -1,5 +1,3 @@ -version: 1 - clone: - name: git image: woodpeckerci/plugin-git From 0a91e073972a778b1dd1ca56fd1969c8468d44e6 Mon Sep 17 00:00:00 2001 From: qwerty287 <80460567+qwerty287@users.noreply.github.com> Date: Thu, 25 Jul 2024 22:48:41 +0200 Subject: [PATCH 060/547] Remove oauth env (#3978) --- docs/docs/92-development/01-getting-started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/92-development/01-getting-started.md b/docs/docs/92-development/01-getting-started.md index 20ee99255..4d93227c3 100644 --- a/docs/docs/92-development/01-getting-started.md +++ b/docs/docs/92-development/01-getting-started.md @@ -81,7 +81,7 @@ WOODPECKER_HEALTHCHECK=false ### Setup OAuth -Create an OAuth app for your forge as described in the [forges documentation](../30-administration/11-forges/11-overview.md). If you set `WOODPECKER_DEV_OAUTH_HOST=http://localhost:8000` you can use that address with the path as explained for the specific forge to login without the need for a public address. For example for GitHub you would use `http://localhost:8000/authorize` as authorization callback URL. +Create an OAuth app for your forge as described in the [forges documentation](../30-administration/11-forges/11-overview.md). ## Developing with VS Code From 61f4c6a54097a82a3cbdc2ceee2131ab2cc0d011 Mon Sep 17 00:00:00 2001 From: qwerty287 <80460567+qwerty287@users.noreply.github.com> Date: Thu, 25 Jul 2024 23:25:55 +0200 Subject: [PATCH 061/547] Show logs if step has error (#3979) --- web/src/assets/locales/en.json | 1 + web/src/components/repo/pipeline/PipelineLog.vue | 13 +++++++------ web/src/views/repo/pipeline/Pipeline.vue | 15 +-------------- 3 files changed, 9 insertions(+), 20 deletions(-) diff --git a/web/src/assets/locales/en.json b/web/src/assets/locales/en.json index 244771d10..a009b1997 100644 --- a/web/src/assets/locales/en.json +++ b/web/src/assets/locales/en.json @@ -191,6 +191,7 @@ "pipelines_for_pr": "Pipelines for pull request #{index}", "exit_code": "Exit Code {exitCode}", "loading": "Loading…", + "no_logs": "No logs", "pipeline": "Pipeline #{pipelineId}", "log_title": "Step Logs", "log_download_error": "There was an error while downloading the log file", diff --git a/web/src/components/repo/pipeline/PipelineLog.vue b/web/src/components/repo/pipeline/PipelineLog.vue index f296c5eff..3a9bca987 100644 --- a/web/src/components/repo/pipeline/PipelineLog.vue +++ b/web/src/components/repo/pipeline/PipelineLog.vue @@ -13,7 +13,7 @@