diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 79853b95..10bf16e3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -28,7 +28,7 @@ jobs: - name: Build uses: docker/build-push-action@v3 with: - file: ./apps/frontend/Dockerfile + file: ./Dockerfile context: . push: true tags: ghcr.io/${{ github.repository }}/celluloid:staging diff --git a/.yarn/install-state.gz b/.yarn/install-state.gz index 5acb761b..1656a02e 100644 Binary files a/.yarn/install-state.gz and b/.yarn/install-state.gz differ diff --git a/apps/frontend/Dockerfile b/Dockerfile similarity index 100% rename from apps/frontend/Dockerfile rename to Dockerfile diff --git a/apps/backend/package.json b/apps/backend/package.json deleted file mode 100644 index d7c5b567..00000000 --- a/apps/backend/package.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "name": "backend", - "private": true, - "version": "3.0.0", - "license": "MIT", - "homepage": "https://celluloid.huma-num.fr", - "repository": { - "type": "git", - "url": "https://github.com/celluloid-camp/celluloid.git", - "directory": "apps/frontend" - }, - "bugs": { - "url": "https://github.com/udecode/plate/celluloid/issues" - }, - "type": "module", - "scripts": { - "start": "NODE_ENV=production tsx src/index.ts", - "test-start": "start-server-and-test 'node dist/index' 2021" - }, - "dependencies": { - "@celluloid/passport": "workspace:*", - "@celluloid/prisma": "workspace:*", - "@celluloid/queue": "workspace:*", - "@celluloid/trpc": "workspace:*", - "@godaddy/terminus": "^4.12.1", - "@t3-oss/env-core": "^0.11.1", - "@trpc/server": "^10.45.2", - "change-case": "^5.0.2", - "cookie-parser": "^1.4.6", - "cors": "^2.8.5", - "express": "^4.19.2", - "express-session": "^1.17.3", - "lodash": "^4.17.21", - "swagger-ui-express": "^5.0.0", - "trpc-openapi": "^1.2.0", - "uuid": "^9.0.1", - "ws": "^8.18.0", - "zod": "^3.23.8" - }, - "devDependencies": { - "@types/cookie-parser": "^1.4.5", - "@types/express": "^4.17.17", - "@types/node": "^20.8.2", - "@types/swagger-ui-express": "^4.1.3", - "@types/uuid": "^9.0.4", - "dotenv-cli": "^7.3.0", - "start-server-and-test": "^2.0.1", - "tslib": "^2.6.2", - "tsup": "^8.3.0", - "typescript": "^5.6.2", - "wait-port": "^1.1.0" - } -} diff --git a/apps/backend/src/index.ts b/apps/backend/src/index.ts deleted file mode 100644 index 800e433e..00000000 --- a/apps/backend/src/index.ts +++ /dev/null @@ -1,144 +0,0 @@ -import { createSession, passport } from '@celluloid/passport'; -import { prisma } from '@celluloid/prisma'; -import { appRouter, createContext } from '@celluloid/trpc'; -import type { AppRouter } from '@celluloid/trpc' -import { createTerminus } from '@godaddy/terminus'; -import * as trpcExpress from '@trpc/server/adapters/express'; -import { applyWSSHandler } from '@trpc/server/adapters/ws' -import cookieParser from 'cookie-parser'; -import cors from 'cors'; -import express from 'express'; -import type { Session } from 'express-session'; -import http from 'node:http' -import swaggerUi from 'swagger-ui-express'; -import { createOpenApiExpressMiddleware } from 'trpc-openapi'; -import { WebSocketServer } from 'ws' -import { emailQueue, chaptersQueue } from "@celluloid/queue"; -import { openApiDocument } from './openapi'; - - -const trpcApiEndpoint = '/trpc' - -declare module 'http' { - interface IncomingMessage { - session: Session & { - userId?: string - } - } -} - -async function main() { - // express implementation - const app = express(); - - const sessionParser = createSession(); - app.enable('trust proxy'); - - // parse cookies - app.use(cookieParser()); - - // Setup CORS - app.use(cors({ - origin: process.env.NODE_ENV !== "production" ? ['http://localhost:3000', 'http://localhost:4000'] : undefined, - credentials: true, - })); - - app.disable('x-powered-by'); - app.use(express.json()); - app.use(express.urlencoded({ extended: true })); - app.use(sessionParser); - - app.use((req, res, next) => { - //@ts-expect-error dynamic - passport.authenticate('session', (err) => { - if (err && err.name === "DeserializeUserError") { - req.session.destroy(() => - next()) - } - })(req, res, next); - }); - - // app.use(passport.authenticate("session")); - - app.use((req, _res, next) => { - // request logger - console.log('⬅️ ', req.method, req.path, req.body ?? req.query); - next(); - }); - app.use( - trpcApiEndpoint, - trpcExpress.createExpressMiddleware({ - router: appRouter, - createContext, - }), - ); - - - // Handle incoming OpenAPI requests - // @ts-expect-error dynamic - app.use('/api', createOpenApiExpressMiddleware({ router: appRouter, createContext })); - - // Serve Swagger UI with our OpenAPI schema - app.use('/', swaggerUi.serve); - app.get('/', swaggerUi.setup(openApiDocument)); - - - const server = http.createServer(app) - - // web socket server - const wss = new WebSocketServer({ clientTracking: false, noServer: true, path: trpcApiEndpoint }) - - function onSocketError(err: Error) { - console.error(err); - } - - server.on('upgrade', (request, socket, head) => { - socket.on('error', onSocketError); - //@ts-expect-error dynamic - sessionParser(request, {}, () => { - // only allow ws connection with authenticated session - if (!request.session) { - socket.write('HTTP/1.1 401 Unauthorized\r\n\r\n'); - socket.destroy(); - return; - } - socket.removeListener('error', onSocketError); - wss.handleUpgrade(request, socket, head, (ws) => { - wss.emit('connection', ws, request); - }); - }); - }); - - - const wsHandler = applyWSSHandler({ - wss, - router: appRouter, - createContext, - }) - - server.listen(process.env.PORT || 2021, () => { - console.log(`listening on port 2021 - NODE_ENV:${process.env.NODE_ENV}`); - }); - - emailQueue.start(); - chaptersQueue.start(); - - async function onSignal() { - console.log("server is starting cleanup") - wsHandler.broadcastReconnectNotification() - await new Promise((resolve) => wss.close(resolve)); - await new Promise((resolve) => server.close(resolve)); - await prisma.$disconnect() - return; - } - - createTerminus(server, { - // healthChecks: { '/healthcheck': onHealthCheck }, - signals: ['SIGTERM', 'SIGINT'], - onSignal - }) - -} - -void main(); - diff --git a/apps/backend/src/openapi.ts b/apps/backend/src/openapi.ts deleted file mode 100644 index c8e6a97a..00000000 --- a/apps/backend/src/openapi.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { appRouter } from '@celluloid/trpc'; -import { generateOpenApiDocument } from 'trpc-openapi'; - -// Generate OpenAPI schema document -export const openApiDocument = generateOpenApiDocument(appRouter, { - title: 'Celluloid REST API', - description: 'OpenAPI compliant REST API built using tRPC with Express', - version: '1.0.0', - baseUrl: 'http://localhost:2021/api', - docsUrl: 'https://github.com/celluloid-camp/celluloid', - tags: ['auth', 'users', 'projects'], -}); diff --git a/apps/backend/tsconfig.json b/apps/backend/tsconfig.json deleted file mode 100644 index ec77c5aa..00000000 --- a/apps/backend/tsconfig.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "extends": "@celluloid/config/tsconfig/base.json", - "compilerOptions": { - "lib": [ - "ES2022", - "dom", - "dom.iterable" - ], - "jsx": "preserve", - "baseUrl": ".", - "paths": { - "~/*": [ - "./src/*" - ] - }, - "plugins": [ - { - "name": "next" - } - ], - "module": "esnext" - }, - "include": [ - "src" - ], - "exclude": [ - "node_modules" - ] -} diff --git a/apps/backend/tsup.config.ts b/apps/backend/tsup.config.ts deleted file mode 100644 index f71fb1a5..00000000 --- a/apps/backend/tsup.config.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { defineConfig } from "tsup"; - -const isProduction = process.env.NODE_ENV === "production"; - -export default defineConfig({ - clean: true, - dts: false, - entry: ["src/index.ts"], - format: ["cjs", "esm"], - minify: isProduction, - sourcemap: false, -}); diff --git a/apps/frontend/package.json b/apps/frontend/package.json index 29ec7a4e..dd8b42c2 100644 --- a/apps/frontend/package.json +++ b/apps/frontend/package.json @@ -39,10 +39,12 @@ "@mui/styles": "^6.1.2", "@tanstack/react-query": "^4.36.1", "@tanstack/react-query-devtools": "^5.4.2", + "@tiptap/extension-text-style": "^2.9.1", "@trpc/client": "^10.45.2", "@trpc/react-query": "^10.45.2", "@trpc/server": "^10.45.2", "@types/linkify-urls": "^3.1.1", + "@uidotdev/usehooks": "^2.4.1", "adminjs": "^7.8.13", "change-case": "^4.1.2", "cookie-parser": "^1.4.7", @@ -51,6 +53,7 @@ "dayjs": "^1.11.10", "enzyme": "^3.3.0", "express": "^4.21.1", + "express-formidable": "^1.2.0", "express-session": "^1.18.1", "file-saver": "^2.0.5", "formik": "^2.2.9", @@ -108,6 +111,7 @@ "@types/cookie-parser": "^1", "@types/cors": "^2.8.13", "@types/express": "^4", + "@types/express-formidable": "^1", "@types/express-session": "^1", "@types/file-saver": "^2.0.5", "@types/get-urls": "^9.1.3", diff --git a/apps/frontend/src/components/Dialog.tsx b/apps/frontend/src/components/Dialog.tsx index 6827f712..f1231e81 100644 --- a/apps/frontend/src/components/Dialog.tsx +++ b/apps/frontend/src/components/Dialog.tsx @@ -1,15 +1,13 @@ import CloseIcon from "@mui/icons-material/Close"; import { Alert, - Box, DialogTitle, - DialogTitleProps, + type DialogTitleProps, IconButton, LinearProgress, styled, - Typography, } from "@mui/material"; -import Dialog, { DialogProps } from "@mui/material/Dialog"; +import Dialog, { type DialogProps } from "@mui/material/Dialog"; import DialogContent from "@mui/material/DialogContent"; export const BootstrapDialog = styled(Dialog)(({ theme }) => ({ diff --git a/apps/frontend/src/components/annotation/AnnotationForm.tsx b/apps/frontend/src/components/annotation/AnnotationForm.tsx index a2785b9d..6e7c7762 100644 --- a/apps/frontend/src/components/annotation/AnnotationForm.tsx +++ b/apps/frontend/src/components/annotation/AnnotationForm.tsx @@ -19,7 +19,7 @@ import { Trans, useTranslation } from "react-i18next"; import * as Yup from "yup"; import { useVideoPlayerProgressValue } from "~components/project/useVideoPlayer"; -import { ProjectById, trpc, UserMe } from "~utils/trpc"; +import { type ProjectById, trpc, type UserMe } from "~utils/trpc"; import { DurationSlider } from "./DurationSlider"; import { @@ -60,9 +60,8 @@ export const AnnotationForm: React.FC = (props) => { {t("annotation.form.add-annotation")} ); - } else { - return ; } + return ; }; export const AnnotationFormContent: React.FC< diff --git a/apps/frontend/src/components/annotation/AnnotationPanel.tsx b/apps/frontend/src/components/annotation/AnnotationPanel.tsx index b0702169..c3e8014b 100644 --- a/apps/frontend/src/components/annotation/AnnotationPanel.tsx +++ b/apps/frontend/src/components/annotation/AnnotationPanel.tsx @@ -165,6 +165,7 @@ const AnnotationList: React.FC< export const AnnotationPanel: React.FC = ({ annotationCount, playerIsReady, + videoPlayerRef, ...props }) => { const [value, setValue] = useState("1"); @@ -269,9 +270,18 @@ export const AnnotationPanel: React.FC = ({ - + diff --git a/apps/frontend/src/components/chapters/list-item.tsx b/apps/frontend/src/components/chapters/list-item.tsx index acc93007..378dc395 100644 --- a/apps/frontend/src/components/chapters/list-item.tsx +++ b/apps/frontend/src/components/chapters/list-item.tsx @@ -5,6 +5,7 @@ import { Divider, Grow, IconButton, + ListItem, ListItemAvatar, ListItemButton, ListItemText, @@ -20,6 +21,7 @@ import Image from "mui-image"; import * as React from "react"; import { useState } from "react"; import { useTranslation } from "react-i18next"; +import { EditableText } from "~components/editable-text"; import { MultiLineTypography } from "~components/MultiLineTypography"; import { formatDuration } from "~utils/DurationUtils"; @@ -34,42 +36,55 @@ interface ChapterItemProps { project: ProjectById; chapter: ChapterByProjectId; user?: UserMe; + index: number; } export const ChapterItem: React.FC = ({ chapter, project, user, + index, }) => { const { t } = useTranslation(); - const [collapsed, setCollapsed] = useState(false); const [hovering, setHovering] = useState(false); - // const [editedAnnotation, setEditedAnnotation] = useEditAnnotation(); - const confirm = useConfirm(); const utils = trpc.useUtils(); - const handleEdit: React.MouseEventHandler = (event) => { - event.stopPropagation(); - // setEditedAnnotation(annotation); - }; + const editMutation = trpc.chapter.edit.useMutation({ + onSuccess: () => { + utils.chapter.byProjectId.invalidate({ projectId: project.id }); + }, + }); - const mutation = trpc.annotation.delete.useMutation({ + const deleteMutation = trpc.chapter.delete.useMutation({ onSuccess: () => { - utils.annotation.byProjectId.invalidate({ id: project.id }); + utils.chapter.byProjectId.invalidate({ projectId: project.id }); }, }); + const handleEdit = async (field: "title" | "description", value: string) => { + try { + await editMutation.mutateAsync({ + chapterId: chapter.id, + [field]: value, + projectId: project.id, + }); + } catch (error) { + // Revert optimistic update on error + utils.chapter.byProjectId.invalidate({ projectId: project.id }); + } + }; + const canEdit = project.user.id === user?.id; const handleDelete: React.MouseEventHandler = (event) => { event.stopPropagation(); confirm({ - title: t("annotation.confirm-delete.title", "Supprimer l'annotation"), + title: t("chapter.confirm-delete.title", "Supprimer le chapitre"), description: t( - "annotation.confirm-delete.description", - "Êtes-vous sûr(e) de vouloir supprimer l'annotation ?" + "chapter.confirm-delete.description", + "Êtes-vous sûr(e) de vouloir supprimer le chapitre ?" ), confirmationText: t("deleteAction"), cancellationText: t("cancelAction"), @@ -95,8 +110,8 @@ export const ChapterItem: React.FC = ({ }, }, }).then(() => { - mutation.mutateAsync({ - annotationId: chapter.id, + deleteMutation.mutateAsync({ + chapterId: chapter.id, }); }); }; @@ -112,9 +127,8 @@ export const ChapterItem: React.FC = ({ backgroundColor: grey[900], })} > - setCollapsed(!collapsed)} onMouseEnter={() => setHovering(true)} onMouseLeave={() => setHovering(false)} sx={{ @@ -126,25 +140,28 @@ export const ChapterItem: React.FC = ({ }} > - - {chapter.title} - {" "} + handleEdit("title", e)} + textFieldProps={{ sx: { color: "white" } }} + /> } - secondaryTypographyProps={{ paddingRight: 1 }} secondary={ - handleEdit("description", e)} + textFieldProps={{ multiline: true }} /> } @@ -155,16 +172,10 @@ export const ChapterItem: React.FC = ({ alignItems="flex-end" alignContent={"center"} justifyContent={"center"} - sx={{ minWidth: 100 }} + sx={{ minWidth: 40 }} > {hovering && canEdit ? ( - - - - - - @@ -172,15 +183,8 @@ export const ChapterItem: React.FC = ({ ) : null} - {/* {annotation.comments.length > 0 ? ( - collapsed ? ( - - ) : ( - - ) - ) : null} */} - + ); diff --git a/apps/frontend/src/components/chapters/panel.tsx b/apps/frontend/src/components/chapters/panel.tsx index 5f3e733e..44ed46b1 100644 --- a/apps/frontend/src/components/chapters/panel.tsx +++ b/apps/frontend/src/components/chapters/panel.tsx @@ -1,8 +1,8 @@ import InfoIcon from "@mui/icons-material/Info"; -import { Grow, List, Stack, Typography } from "@mui/material"; +import { Button, Grow, List, Stack, Typography } from "@mui/material"; import { grey } from "@mui/material/colors"; import type * as React from "react"; -import { Trans } from "react-i18next"; +import { Trans, useTranslation } from "react-i18next"; import Image from "mui-image"; import { trpc, @@ -26,30 +26,9 @@ import { TimelineSeparator, } from "@mui/lab"; import { formatDuration } from "~utils/DurationUtils"; - -const EmptyChapters = () => ( - - - - - - - - -); +import { useSnackbar } from "notistack"; +import type ReactPlayer from "@celluloid/react-player"; +import { useVideoPlayerSeekEvent } from "~hooks/use-video-player"; function ChapterList({ chapters, @@ -60,26 +39,19 @@ function ChapterList({ user?: UserMe; project: ProjectById; }) { - // - // {chapters.map((chapter: ChapterByProjectId) => ( - // - // ))} - - // {chapters.length === 0 && } - // + const dispatcher = useVideoPlayerSeekEvent(); + + if (chapters.length === 0) { + return ; + } + + const handleClick = (chapter: ChapterByProjectId) => { + console.log(chapter); + dispatcher({ + time: chapter.startTime, + }); + }; + return ( - {chapters.map((chapter: ChapterByProjectId) => ( + {chapters.map((chapter: ChapterByProjectId, index: number) => ( - + handleClick(chapter)}> - - {formatDuration(chapter.startTime)} - {" → "} - {formatDuration(chapter.endTime)} - + + + #{index + 1} + + + {formatDuration(chapter.startTime)} + {" → "} + {formatDuration(chapter.endTime)} + + @@ -142,6 +126,15 @@ interface ChaptersPanelProps { } export function ChaptersPanel({ project, user }: ChaptersPanelProps) { + // return
{JSON.stringify(project)}
; + + if (!project.chapterJob) { + return ; + } + + if (!project.chapterJob?.finishedAt) { + return ; + } return ( ( @@ -162,3 +155,103 @@ export function ChaptersPanelContent({ project, user }: ChaptersPanelProps) { return ; } + +function EmptyChapter() { + return ( + + + + + + + + + ); +} + +function NoChaptersJob({ projectId }: { projectId: string }) { + const mutation = trpc.chapter.generateChapters.useMutation(); + const { enqueueSnackbar } = useSnackbar(); + const { t } = useTranslation(); + const utils = trpc.useUtils(); + + const handleGenerate = async () => { + await mutation.mutateAsync({ projectId: projectId }); + + enqueueSnackbar(t("confirm.generation.sent", "Génération envoyée"), { + variant: "success", + }); + + utils.project.byId.invalidate({ id: projectId }); + }; + return ( + + + + + Generate chapters + + + + + ); +} + +function ChaptersInProgress({ project }: { project: ProjectById }) { + const { t } = useTranslation(); + return ( + + + + + {t( + "project.chapters.inProgress.description", + "La génération est en cours" + )} + + + + ); +} diff --git a/apps/frontend/src/components/editable-text.tsx b/apps/frontend/src/components/editable-text.tsx new file mode 100644 index 00000000..175290d5 --- /dev/null +++ b/apps/frontend/src/components/editable-text.tsx @@ -0,0 +1,116 @@ +// biome-ignore lint/style/useImportType: +import React from "react"; +import { useState } from "react"; +import { + TextField, + Typography, + Box, + IconButton, + styled, + type TypographyProps, + type TextFieldProps, + Stack, +} from "@mui/material"; +import EditIcon from "@mui/icons-material/Edit"; +import CheckIcon from "@mui/icons-material/Check"; +import CloseIcon from "@mui/icons-material/Close"; +import { useClickAway } from "@uidotdev/usehooks"; + +interface EditableTextProps { + value: string; + onSave: (e: string) => void; + onBlur?: (e: React.FocusEvent) => void; + disabled?: boolean; + textProps?: TypographyProps; + textFieldProps?: TextFieldProps; +} + +const StyledTextField = styled(TextField)({ + "& .MuiInput-root": { + fontSize: "inherit", + fontFamily: "inherit", + color: "inherit", + padding: 0, + margin: 0, + border: "none", + "&:before, &:after": { + display: "none", + }, + }, +}); + +export const EditableText: React.FC = ({ + value, + onSave, + onBlur, + textProps, + textFieldProps, + disabled = false, +}) => { + const [isEditing, setIsEditing] = useState(false); + const [tempValue, setTempValue] = useState(value); + const [hovering, setHovering] = useState(false); + + const ref = useClickAway(() => { + setIsEditing(false); + }); + + const handleEdit = () => setIsEditing(true); + const handleCancel = () => { + setTempValue(value); + setIsEditing(false); + }; + const handleSave = () => { + onSave(tempValue); + setIsEditing(false); + }; + + return ( + setHovering(true)} + onMouseLeave={() => setHovering(false)} + > + {isEditing ? ( + <> + setTempValue(e.target.value)} + onBlur={onBlur} + variant="standard" + autoFocus + disabled={disabled} + {...textFieldProps} + /> + + + + + + + + ) : ( + <> + + {value} + + {!disabled && hovering && ( + + + + )} + + )} + + ); +}; diff --git a/apps/frontend/src/components/home/ProjectGrid.tsx b/apps/frontend/src/components/home/ProjectGrid.tsx index 3a69dbd8..0ca597ac 100644 --- a/apps/frontend/src/components/home/ProjectGrid.tsx +++ b/apps/frontend/src/components/home/ProjectGrid.tsx @@ -16,7 +16,7 @@ import { import Grid from "@mui/material/Grid"; import { debounce } from "lodash"; import * as R from "ramda"; -import * as React from "react"; +import type * as React from "react"; import { useMemo, useRef, useState } from "react"; import { useTranslation } from "react-i18next"; import { TransitionGroup } from "react-transition-group"; @@ -47,7 +47,14 @@ export const ProjectGrid: React.FC = () => { const { t } = useTranslation(); const userProjects = useMemo( - () => data.items.filter((project) => user && project.userId == user.id), + () => + data.items + .filter((project) => user && project.userId === user.id) + .sort( + (a, b) => + new Date(b.publishedAt).getTime() - + new Date(a.publishedAt).getTime() + ), [user, data] ); @@ -113,13 +120,13 @@ export const ProjectGrid: React.FC = () => { > {userProjects.length > 0 && ( <> - 0} appear={true}> + {t("home.myProjects")} - + {userProjects.map((project) => ( diff --git a/apps/frontend/src/components/home/ProjectThumbnail.tsx b/apps/frontend/src/components/home/ProjectThumbnail.tsx index d6207171..bad6fbc5 100644 --- a/apps/frontend/src/components/home/ProjectThumbnail.tsx +++ b/apps/frontend/src/components/home/ProjectThumbnail.tsx @@ -6,6 +6,7 @@ import { CardContent, Chip, CircularProgress, + Fade, Grid, Grow, Stack, @@ -14,11 +15,11 @@ import { } from "@mui/material"; import dayjs from "dayjs"; import Image from "mui-image"; -import * as React from "react"; +import type * as React from "react"; import { useNavigate } from "react-router"; import { Avatar } from "~components/Avatar"; -import { ProjectListItem } from "~utils/trpc"; +import type { ProjectListItem } from "~utils/trpc"; const StyledBox = styled(Box)(() => ({ position: "relative", @@ -52,93 +53,94 @@ const ProjectThumbnail: React.FC = ({ project }) => { }; return ( - - - - } - bgColor="#000000" - /> + // + + + } + bgColor="#000000" + /> - {project.playlist && ( - - - {project._count.annotations > 0 ? ( - } - /> - ) : null} + {project.playlist && ( + + + {project._count.annotations > 0 ? ( } + label={project._count.annotations} + icon={} /> + ) : null} + } + /> + + + )} + + + + + + + {project.title} + + + + + + {project.user.initial} + + + {project.user.username} + + {dayjs(project.publishedAt).fromNow(true)} + - )} - - - - - - - {project.title} - - - - - - {project.user.initial} - - - - {project.user.username} - - - {dayjs(project.publishedAt).fromNow(true)} - - - - - {/* + + {/* {project.public && ( } /> )} */} - - - - + + + + // // ); }; diff --git a/apps/frontend/src/locales/en/common.json b/apps/frontend/src/locales/en/common.json index 183401d5..e116bc52 100644 --- a/apps/frontend/src/locales/en/common.json +++ b/apps/frontend/src/locales/en/common.json @@ -1 +1,250 @@ -{"about.intro":"The development of <0>Celluloid is led by Michaël Bourgatte and Laurent Tessier within a multidisciplinary <1>Huma-Num Consortium gathering researchers mobilizing audiovisual corpora.","about.opensource.github":"Celluloid is an Open Source project in Digital Humanities. The code and the instructions for use are freely available on GitHub.","about.opensource.prefix":"The version 2.0, \"Alphaville\", as well as its successive developments, are realized within the framework of the consortium Huma-Num <0>CANEVAS (within the <1>Maison des Sciences de l'Homme Paris Nord). This version is developed by Younès Benomar.","about.support":"Version 1.0 of Celluloid, \"Pierrot\", as well as its successive developments, were supported by the Catholic University of Paris, Saint Matthieu Foundation and La Paillasse projects incubator. This version was developed by Erwan Queffélec with the participation of Jean-Frédéric Bruzek, Souleymane Thiam and Guillaume Aichhorn.","about.title":"About","annotation.comment.cancel":"Cancel","annotation.comment.reply":"Reply","annotation.comment.send":"Send","annotation.commentLabel":"{{count}} comment","annotation.commentLabel_one":"one comment","annotation.commentLabel_other":"{{count}} comments","annotation.commentLabel_plural":"{{count}} comments","annotation.commentPlaceholder":"Leave a comment…","annotation.confirm-delete.description":"Are you sure you want to delete the annotation?","annotation.confirm-delete.title":"Delete annotation","annotation.contentPlaceholder":"type in your annotation…","annotation.create.cancel":"Cancel","annotation.create.send":"Send","annotation.hintLabel":"{{count}} annotation","annotation.hintLabel_many":"{{count}} annotations","annotation.hintLabel_one":"{{count}} annotation","annotation.hintLabel_other":"{{count}} annotations","annotation.hintLabel_plural":"{{count}} annotations","annotation.hintLabelNone":"No annotation at this time","annotation.pauseLabel":"Pause video ?","cancelAction":"Cancel","createAction":"Save","deleteAction":"Delete","ERR_ALREADY_EXISTING_PROJECT":"A project with the same title already exists, please rename the project","ERR_UNKOWN":"An unknown error has occurred. Please try again later or contact support for assistance.","footer.copyright":"<0>CC BY-NC 2023 Consortium Canevas","footer.legalNotice":"Legal notice","footer.termsAndConditions":"Terms & Conditions","home.addVideo":"Add a link to a PeerTube video...","home.description":"A webservice to annotate, comment and analyze audiovisual content (movies, series, TV shows or your own videos – interviews, ethnographic documentary…), alone or as a team","home.emptySearchResult":"No matching projects","home.joinProject":"join a project","home.myProjects":"My projects","home.newProject":"Create project","home.publicProjects":"Explore","home.searchProject":"Type anything…","home.title":"What is Celluloid ?","home.tutoriel.description":"Go to <0>Peertube\nChoose a video or upload a new one\nCopy the link to share the video\nCreate your project in Celluloid, copy the video link and go!\nWant to work with others? Share the project code with your partners","home.tutoriel.link":"The tutorial is here: <0>https://celluloid-media.huma-num.fr/w/7r2FxoQdYjun6tYWJfHUCa","home.tutoriel.prefix":"To discover the application, you can consult the ","home.tutoriel.subtitle":"You want to know more or you encounter difficulties?","home.tutoriel.title":"How to use Celluloid ?","Les annotations correspondant aux différents temps de la vidéo seront affichées ici.":"Les annotations correspondant aux différents temps de la vidéo seront affichées ici.","menu.about":"about","menu.admin":"Admin","menu.create":"Create","menu.explore":"Explore","menu.join":"Join","menu.login":"login","menu.logout":"Logout","menu.profile":"Profile","menu.signup":"signup","notFound.action":"back to home","notFound.description":"The page you are looking for might be private or may have been deleted","notFound.title":"Page not found :(","printAction":"Print","profile.me.project.empty":"You have no projects.","project.add-related-video":"Playlist","project.add-video-playlist-description":"Please enter the URL of the video you would like to add to the playlist.","project.add-video-to-playlist-button":"Add a video to the playlist.","project.annotation.hints.label":"Display the timeline of annotations.","project.annotation.title":"Annotations","project.assignment":"Task","project.assignmentPlaceholder":"Add a task","project.assignmentsHelper":"List the tasks you submitt to the attendees","project.assignmentsSection":"Tasks","project.cancel-add-video":"Add","project.cancelAction":"Cancel","project.codeWarning.description":"This code will be available on the project page.\n To reset it, just reshare the project.","project.codeWarning.title":"Share this code with the participants","project.collaborative":"Collaborative","project.collaborativeHelper":"Attendees to a collaborative project will be allowed to annotate or comment the video. If your project is not collaborative, only you can annotate and comment on it.","project.confirm-delete.description":"Are you sure ?","project.confirm-delete.title":"Delete project","project.create.error.video-info-failed":"Failed to retrieve video information. Please check the URL and try again.","project.create.url.not-valid":"The provided URL is not valid. Please check and try again.","project.create.url.required":"URL is required. Please provide a valid URL.","project.createAction":"Create project","project.createTitle":"New project","project.creatorRole":"Creator","project.description":"Description","project.descriptionHelper":"Briefly describe your video","project.edit":"Edit","project.edit.error":"Project could not be deleted.","project.edit.success":"Project has been updated.","project.export":"Export Annotations","project.keywords":"keywords","project.members":"{{ count }} attendees","project.members_many":"{{ count }} attendees","project.members_one":"an attendant","project.members_other":"{{ count }} attendees","project.members_plural":"{{ count }} attendees","project.objective":"Objective","project.objectiveHelper":"Choose an objective","project.playlist":"Playlist","project.public":"Public","project.publicHelper":"A public project will be visible by all users, even logged-out. However, they won't be able to see the annotations and comments, nor to add their own.","project.share.dialog.description":"To open printable instructions in a new widow ","project.share.dialog.linkText":"click here","project.share.guide.step1":"Open the web page","project.share.guide.step2":"On the landing page, click 'JOIN PROJECT'","project.share.guide.step3":"Enter the project code","project.share.guide.step4":"Enter your username and an answer to a secret question","project.share.guide.step5":"Make sure to read carefully the objective and assignments","project.share.guide.step6":"Complete the assignments and annotate the video while it's playing","project.share.guide.subtitle":"How to use Celluloid ?","project.share.guide.title":"Instructions","project.shared":"Share","project.submit-add-video-playlist":"Cancel","project.summary.playlist.title":"Playlist","project.title":"Title","project.titleHelper":"Choose a meaningful title for your project","project.URL_title":"Video URL","project.videoUrlHelper":"Link to the original video","project.visibilitySection":"Visibility","search.placeholder":"Search projet","shareAction":"Share","signin.alreadyRegistered":"Already registered?","signin.changePasswordAction":"reset password","signin.code":"Confirmation code","signin.codeHelper":"This code was sent to you by email","signin.confirmPassword":"Confirm password","signin.confirmSignupAction":"confirm signup","signin.confirmSignupTitle":"Confirm Signup","signin.email":"Email address","signin.forgotPasswordAction":"forgot password","signin.forgotPasswordTitle":"Forgot password","signin.joinAction":"join","signin.joinProjectTitle":"Join project","signin.lastName":"Last name","signin.login":"Email or username","signin.loginAction":"Login","signin.loginTitle":"Login","signin.notRegistered":"Not registered?","signin.password":"Password","signin.passwordHelper":"Minimum 8 characters","signin.passwordMismatch":"Confirmation doesn't match password","signin.projectCode":"Project code","signin.rememberlastName":"Your last name will serve as your login password","signin.resendCodeAction":"resend code","signin.resetAction":"reset","signin.signupAction":"signup","signin.signupOrLoginMessage":"Please signup or login to continue","signin.signupTitle":"Signup","signin.upgradeAccountMessage":"Please enter a valid email and a password to continue","signin.username":"Fisrtname or Username","tagSearch.createLabel":"Create tag","tagSearch.prefix":"Tag","update.action":"Refresh","update.message":"This app was just updated! Please refresh the page.","home.teachers":"Teacher","home.students":"Student","annotation.form.add-annotation":"Add annotation","annotation.edit.send":"Edit","confirm.username.required":"The username is required.","confirm.code.required":"The password is required.","confirm.title":"Confirmation","confirm.username.label":"Email or username","confirm.username.paceholder":"Email or username","confirm.code.label":"Confirmation code","confirm.code.placeholder":"Confirmation code","confirm.button.submit":"Send","forgot.email.required":"The Email is required","forgot.title":"Lost password","forgot.email.placeholder":"Email or username","forgot.button.recover":"Recover account","forgot.button.submit":"Change password","join.error.project-not-found":"Invalid project share code","join.title":"Join project","join.shareCode.label":"Project code","join.shareCode.placeholder":"Project code","join.button.submit":"Join","signin.username.required":"Username required","signin.password.required":"Password required","signin.title":"Signin","signin.confirm.button":"Confirm","recover.username.required":"Username is required","recover.code.required":"Code is required","recover.password.required":"Password is required","recover.title":"Recover account","recover.username.label":"Email or username","recover.username.paceholder":"Email or username","recover.code.label":"Confirmation code","recover.code.placeholder":"Confirmation code","recover.password.label":"Password","recover.password.placeholder":"Password","recover.passwordConfirmation.label":"Password confirmation","recover.passwordConfirmation.placeholder":"Password confirmation","recover.button.submit":"Send","signup.error.account_exists":"This email address is already registered.","signup.title":"Signin","signup.username.label":"Username","signup.username.paceholder":"Username","signup.email.label":"Email","signup.email.placeholder":"Email","signup.password.label":"Password","signup.password.placeholder":"Password","signup.passwordConfirmation.label":"Password confirmation","signup.passwordConfirmation.placeholder":"Password confirmation","signup.button.submit":"Signin","student-student-signup.error.username-exists":"Email exists","student-signup.title":"Registration","student-student-signup.shareCode.label":"Project code","student-signup.shareCode.placeholder":"Project code","student-student-signup.username.label":"Name or username","student-student-signup.username.paceholder":"Name or username","student-signup.password.label":"Password","student-signup.password.placeholder":"Password","student-signup.login.button":"Login","student-signup.button.submit":"Join","project.delete.error":"Project deleted","project.sharecode.copied":"Project code copied","home.projects.retry":"Retry","password.unmatch":"The password does not match.","profile.role.student":"Contributor","profile.role.teacher":"Creator","profile.role.admin":"Admin","join.error.project-owner-cannot-join":"The project owner cannot join the project as a member.","user.update.success":"Profile updated","edit-project-dialog.title":"Edit project","project.share.section.title":"Share","project.edit.button":"Edit project","project.share":"Share","project.shareHelper":"A project code will be generated to allow collaborators to annotate your project.","project.export.success":"Annotation successfully exported.","project.edit.submit.button":"Edit Project","project.edit.delete.button":"Delete Project","project.edit.dialog.title":"Edit Project","menu.settings":"Settings","project.annotaions.empty":"The annotations corresponding to the different times of the video will be displayed here.","profile.update.title":"Edit Profile","profile.update.username":"username","profile.update.firstname":"firstname","profile.update.lastname":"lastname","profile.update.bio":"Bio","profile.update.submit":"Save","profile.security.old-password.label":"Current password","profile.security.new-password.label":"New password","profile.security.confirmation-password.label":"Confirm password","profile.security.password-incorrect":"Password incorrect","profile.security.change-password.title":"Change password","profile.security.change-password.button":"Change password"} \ No newline at end of file +{ + "about.intro": "The development of <0>Celluloid is led by Michaël Bourgatte and Laurent Tessier within a multidisciplinary <1>Huma-Num Consortium gathering researchers mobilizing audiovisual corpora.", + "about.opensource.github": "Celluloid is an Open Source project in Digital Humanities. The code and the instructions for use are freely available on GitHub.", + "about.opensource.prefix": "The version 2.0, \"Alphaville\", as well as its successive developments, are realized within the framework of the consortium Huma-Num <0>CANEVAS (within the <1>Maison des Sciences de l'Homme Paris Nord). This version is developed by Younès Benomar.", + "about.support": "Version 1.0 of Celluloid, \"Pierrot\", as well as its successive developments, were supported by the Catholic University of Paris, Saint Matthieu Foundation and La Paillasse projects incubator. This version was developed by Erwan Queffélec with the participation of Jean-Frédéric Bruzek, Souleymane Thiam and Guillaume Aichhorn.", + "about.title": "About", + "annotation.comment.cancel": "Cancel", + "annotation.comment.reply": "Reply", + "annotation.comment.send": "Send", + "annotation.commentLabel": "{{count}} comment", + "annotation.commentLabel_one": "one comment", + "annotation.commentLabel_other": "{{count}} comments", + "annotation.commentLabel_plural": "{{count}} comments", + "annotation.commentPlaceholder": "Leave a comment…", + "annotation.confirm-delete.description": "Are you sure you want to delete the annotation?", + "annotation.confirm-delete.title": "Delete annotation", + "annotation.contentPlaceholder": "type in your annotation…", + "annotation.create.cancel": "Cancel", + "annotation.create.send": "Send", + "annotation.hintLabel": "{{count}} annotation", + "annotation.hintLabel_many": "{{count}} annotations", + "annotation.hintLabel_one": "{{count}} annotation", + "annotation.hintLabel_other": "{{count}} annotations", + "annotation.hintLabel_plural": "{{count}} annotations", + "annotation.hintLabelNone": "No annotation at this time", + "annotation.pauseLabel": "Pause video ?", + "cancelAction": "Cancel", + "createAction": "Save", + "deleteAction": "Delete", + "ERR_ALREADY_EXISTING_PROJECT": "A project with the same title already exists, please rename the project", + "ERR_UNKOWN": "An unknown error has occurred. Please try again later or contact support for assistance.", + "footer.copyright": "<0>CC BY-NC 2023 Consortium Canevas", + "footer.legalNotice": "Legal notice", + "footer.termsAndConditions": "Terms & Conditions", + "home.addVideo": "Add a link to a PeerTube video...", + "home.description": "A webservice to annotate, comment and analyze audiovisual content (movies, series, TV shows or your own videos – interviews, ethnographic documentary…), alone or as a team", + "home.emptySearchResult": "No matching projects", + "home.joinProject": "join a project", + "home.myProjects": "My projects", + "home.newProject": "Create project", + "home.publicProjects": "Explore", + "home.searchProject": "Type anything…", + "home.title": "What is Celluloid ?", + "home.tutoriel.description": "Go to <0>Peertube\nChoose a video or upload a new one\nCopy the link to share the video\nCreate your project in Celluloid, copy the video link and go!\nWant to work with others? Share the project code with your partners", + "home.tutoriel.link": "The tutorial is here: <0>https://celluloid-media.huma-num.fr/w/7r2FxoQdYjun6tYWJfHUCa", + "home.tutoriel.prefix": "To discover the application, you can consult the ", + "home.tutoriel.subtitle": "You want to know more or you encounter difficulties?", + "home.tutoriel.title": "How to use Celluloid ?", + "Les annotations correspondant aux différents temps de la vidéo seront affichées ici.": "Les annotations correspondant aux différents temps de la vidéo seront affichées ici.", + "menu.about": "about", + "menu.admin": "Admin", + "menu.create": "Create", + "menu.explore": "Explore", + "menu.join": "Join", + "menu.login": "login", + "menu.logout": "Logout", + "menu.profile": "Profile", + "menu.signup": "signup", + "notFound.action": "back to home", + "notFound.description": "The page you are looking for might be private or may have been deleted", + "notFound.title": "Page not found :(", + "printAction": "Print", + "profile.me.project.empty": "You have no projects.", + "project.add-related-video": "Playlist", + "project.add-video-playlist-description": "Please enter the URL of the video you would like to add to the playlist.", + "project.add-video-to-playlist-button": "Add a video to the playlist.", + "project.annotation.hints.label": "Display the timeline of annotations.", + "project.annotation.title": "Annotations", + "project.assignment": "Task", + "project.assignmentPlaceholder": "Add a task", + "project.assignmentsHelper": "List the tasks you submitt to the attendees", + "project.assignmentsSection": "Tasks", + "project.cancel-add-video": "Add", + "project.cancelAction": "Cancel", + "project.codeWarning.description": "This code will be available on the project page.\n To reset it, just reshare the project.", + "project.codeWarning.title": "Share this code with the participants", + "project.collaborative": "Collaborative", + "project.collaborativeHelper": "Attendees to a collaborative project will be allowed to annotate or comment the video. If your project is not collaborative, only you can annotate and comment on it.", + "project.confirm-delete.description": "Are you sure ?", + "project.confirm-delete.title": "Delete project", + "project.create.error.video-info-failed": "Failed to retrieve video information. Please check the URL and try again.", + "project.create.url.not-valid": "The provided URL is not valid. Please check and try again.", + "project.create.url.required": "URL is required. Please provide a valid URL.", + "project.createAction": "Create project", + "project.createTitle": "New project", + "project.creatorRole": "Creator", + "project.description": "Description", + "project.descriptionHelper": "Briefly describe your video", + "project.edit": "Edit", + "project.edit.error": "Project could not be deleted.", + "project.edit.success": "Project has been updated.", + "project.export": "Export Annotations", + "project.keywords": "keywords", + "project.members": "{{ count }} attendees", + "project.members_many": "{{ count }} attendees", + "project.members_one": "an attendant", + "project.members_other": "{{ count }} attendees", + "project.members_plural": "{{ count }} attendees", + "project.objective": "Objective", + "project.objectiveHelper": "Choose an objective", + "project.playlist": "Playlist", + "project.public": "Public", + "project.publicHelper": "A public project will be visible by all users, even logged-out. However, they won't be able to see the annotations and comments, nor to add their own.", + "project.share.dialog.description": "To open printable instructions in a new widow ", + "project.share.dialog.linkText": "click here", + "project.share.guide.step1": "Open the web page", + "project.share.guide.step2": "On the landing page, click 'JOIN PROJECT'", + "project.share.guide.step3": "Enter the project code", + "project.share.guide.step4": "Enter your username and an answer to a secret question", + "project.share.guide.step5": "Make sure to read carefully the objective and assignments", + "project.share.guide.step6": "Complete the assignments and annotate the video while it's playing", + "project.share.guide.subtitle": "How to use Celluloid ?", + "project.share.guide.title": "Instructions", + "project.shared": "Share", + "project.submit-add-video-playlist": "Cancel", + "project.summary.playlist.title": "Playlist", + "project.title": "Title", + "project.titleHelper": "Choose a meaningful title for your project", + "project.URL_title": "Video URL", + "project.videoUrlHelper": "Link to the original video", + "project.visibilitySection": "Visibility", + "search.placeholder": "Search projet", + "shareAction": "Share", + "signin.alreadyRegistered": "Already registered?", + "signin.changePasswordAction": "reset password", + "signin.code": "Confirmation code", + "signin.codeHelper": "This code was sent to you by email", + "signin.confirmPassword": "Confirm password", + "signin.confirmSignupAction": "confirm signup", + "signin.confirmSignupTitle": "Confirm Signup", + "signin.email": "Email address", + "signin.forgotPasswordAction": "forgot password", + "signin.forgotPasswordTitle": "Forgot password", + "signin.joinAction": "join", + "signin.joinProjectTitle": "Join project", + "signin.lastName": "Last name", + "signin.login": "Email or username", + "signin.loginAction": "Login", + "signin.loginTitle": "Login", + "signin.notRegistered": "Not registered?", + "signin.password": "Password", + "signin.passwordHelper": "Minimum 8 characters", + "signin.passwordMismatch": "Confirmation doesn't match password", + "signin.projectCode": "Project code", + "signin.rememberlastName": "Your last name will serve as your login password", + "signin.resendCodeAction": "resend code", + "signin.resetAction": "reset", + "signin.signupAction": "signup", + "signin.signupOrLoginMessage": "Please signup or login to continue", + "signin.signupTitle": "Signup", + "signin.upgradeAccountMessage": "Please enter a valid email and a password to continue", + "signin.username": "Fisrtname or Username", + "tagSearch.createLabel": "Create tag", + "tagSearch.prefix": "Tag", + "update.action": "Refresh", + "update.message": "This app was just updated! Please refresh the page.", + "home.teachers": "Teacher", + "home.students": "Student", + "annotation.form.add-annotation": "Add annotation", + "annotation.edit.send": "Edit", + "confirm.username.required": "The username is required.", + "confirm.code.required": "The password is required.", + "confirm.title": "Confirmation", + "confirm.username.label": "Email or username", + "confirm.username.paceholder": "Email or username", + "confirm.code.label": "Confirmation code", + "confirm.code.placeholder": "Confirmation code", + "confirm.button.submit": "Send", + "forgot.email.required": "The Email is required", + "forgot.title": "Lost password", + "forgot.email.placeholder": "Email or username", + "forgot.button.recover": "Recover account", + "forgot.button.submit": "Change password", + "join.error.project-not-found": "Invalid project share code", + "join.title": "Join project", + "join.shareCode.label": "Project code", + "join.shareCode.placeholder": "Project code", + "join.button.submit": "Join", + "signin.username.required": "Username required", + "signin.password.required": "Password required", + "signin.title": "Signin", + "signin.confirm.button": "Confirm", + "recover.username.required": "Username is required", + "recover.code.required": "Code is required", + "recover.password.required": "Password is required", + "recover.title": "Recover account", + "recover.username.label": "Email or username", + "recover.username.paceholder": "Email or username", + "recover.code.label": "Confirmation code", + "recover.code.placeholder": "Confirmation code", + "recover.password.label": "Password", + "recover.password.placeholder": "Password", + "recover.passwordConfirmation.label": "Password confirmation", + "recover.passwordConfirmation.placeholder": "Password confirmation", + "recover.button.submit": "Send", + "signup.error.account_exists": "This email address is already registered.", + "signup.title": "Signin", + "signup.username.label": "Username", + "signup.username.paceholder": "Username", + "signup.email.label": "Email", + "signup.email.placeholder": "Email", + "signup.password.label": "Password", + "signup.password.placeholder": "Password", + "signup.passwordConfirmation.label": "Password confirmation", + "signup.passwordConfirmation.placeholder": "Password confirmation", + "signup.button.submit": "Signin", + "student-student-signup.error.username-exists": "Email exists", + "student-signup.title": "Registration", + "student-student-signup.shareCode.label": "Project code", + "student-signup.shareCode.placeholder": "Project code", + "student-student-signup.username.label": "Name or username", + "student-student-signup.username.paceholder": "Name or username", + "student-signup.password.label": "Password", + "student-signup.password.placeholder": "Password", + "student-signup.login.button": "Login", + "student-signup.button.submit": "Join", + "project.delete.error": "Project deleted", + "project.sharecode.copied": "Project code copied", + "home.projects.retry": "Retry", + "password.unmatch": "The password does not match.", + "profile.role.student": "Contributor", + "profile.role.teacher": "Creator", + "profile.role.admin": "Admin", + "join.error.project-owner-cannot-join": "The project owner cannot join the project as a member.", + "user.update.success": "Profile updated", + "edit-project-dialog.title": "Edit project", + "project.share.section.title": "Share", + "project.edit.button": "Edit project", + "project.share": "Share", + "project.shareHelper": "A project code will be generated to allow collaborators to annotate your project.", + "project.export.success": "Annotation successfully exported.", + "project.edit.submit.button": "Edit Project", + "project.edit.delete.button": "Delete Project", + "project.edit.dialog.title": "Edit Project", + "menu.settings": "Settings", + "project.annotaions.empty": "The annotations corresponding to the different times of the video will be displayed here.", + "profile.update.title": "Edit Profile", + "profile.update.username": "username", + "profile.update.firstname": "firstname", + "profile.update.lastname": "lastname", + "profile.update.bio": "Bio", + "profile.update.submit": "Save", + "profile.security.old-password.label": "Current password", + "profile.security.new-password.label": "New password", + "profile.security.confirmation-password.label": "Confirm password", + "profile.security.password-incorrect": "Password incorrect", + "profile.security.change-password.title": "Change password", + "profile.security.change-password.button": "Change password", + "project.chapters.empty": "Video doens't have chapters" +} diff --git a/apps/frontend/src/locales/fr/common.json b/apps/frontend/src/locales/fr/common.json index 10deb815..378ad65e 100644 --- a/apps/frontend/src/locales/fr/common.json +++ b/apps/frontend/src/locales/fr/common.json @@ -1 +1,250 @@ -{"about.intro":"Le développement de <0>Celluloid est piloté par Michaël Bourgatte et Laurent Tessier dans le cadre d'un <1>Consortium Huma-Num pluridisciplinaire réunissant des chercheuses et chercheurs mobilisant des corpus audiovisuels. ","about.opensource.github":"Celluloid est un projet Open Source en Humanités numériques. L’ensemble du code est accessible librement sur GitHub","about.opensource.prefix":"La version 2.0, dite “Alphaville”, ainsi que ses développements successifs, sont réalisés dans le cadre du consortium Huma-Num <0>CANEVAS (hébergé par la <1>Maison des Sciences de l’Homme Paris Nord). Cette version est développée par Younès Benomar.","about.support":"La version 1.0 de Celluloid dite “Pierrot”, ainsi que ses développements successifs, ont bénéficié du soutien de l’Institut Catholique de Paris, de la Fondation Saint Matthieu et de l’incubateur La Paillasse. Cette version a été développée par Erwan Queffélec avec la participation de Jean-Frédéric Bruzek, Souleymane Thiam et de Guillaume Aichhorn.","about.title":"À propos","annotation.comment.cancel":"Annuler","annotation.comment.reply":"Répondre","annotation.comment.send":"Envoyer","annotation.commentLabel":"{{count}} commentaire","annotation.commentLabel_one":"un commentaire","annotation.commentLabel_other":"{{count}} commentaires","annotation.commentLabel_plural":"{{count}} commentaires","annotation.commentPlaceholder":"Laissez un commentaire…","annotation.confirm-delete.description":"Êtes-vous sûr(e) de vouloir supprimer l'annotation ?","annotation.confirm-delete.title":"Supprimer l'annotation","annotation.contentPlaceholder":"Saisissez votre annotation…","annotation.create.cancel":"Annuler","annotation.create.send":"Envoyer","annotation.hintLabel":"{{count}} annotation","annotation.hintLabel_many":"{{count}} annotations","annotation.hintLabel_one":"{{count}} annotation","annotation.hintLabel_other":"{{count}} annotations","annotation.hintLabel_plural":"{{count}} annotations","annotation.hintLabelNone":"Aucune annotation","annotation.pauseLabel":"Mettre en pause ?","cancelAction":"Annuler","createAction":"Enregistrer","deleteAction":"Supprimer","ERR_ALREADY_EXISTING_PROJECT":"Un projet avec le même titre existe déjà, veuillez renommer le projet","ERR_UNKOWN":"Une erreur inconnue s'est produite. Veuillez réessayer ultérieurement ou contacter le support pour obtenir de l'aide.","footer.copyright":"<0>CC BY-NC 2023 Consortium Canevas","footer.legalNotice":"Mention légales","footer.termsAndConditions":"Conditions Générales d'Utilisation","home.addVideo":"Ajoutez un lien vers une vidéo PeerTube...","home.description":"Une application pour annoter, commenter et analyser vos documents audiovisuels numériques (films, séries, émissions ou vos propres vidéos), seul.e ou en équipe\n","home.emptySearchResult":"Aucun projet ne correspond à votre recherche","home.joinProject":"Rejoindre un projet","home.myProjects":"Mes projets","home.newProject":"Créer un projet","home.publicProjects":"Explorer","home.searchProject":"Rechercher un projet…","home.title":"Qu’est-ce que Celluloid ?","home.tutoriel.description":"Rendez-vous sur une instance <0>Peertube. \nChoisissez une vidéo ou déposez-en une nouvelle dans l’instance.\nCopiez le lien de partage de la vidéo.\nCréez votre projet dans Celluloid en collant le lien de la vidéo et lancez-vous !\nVous voulez travailler à plusieurs ? Partagez le code du projet avec vos partenaires...","home.tutoriel.link":"Le tutoriel est ici : <0>https://celluloid-media.huma-num.fr/w/7r2FxoQdYjun6tYWJfHUCa","home.tutoriel.prefix":"Vous voulez en savoir plus ou vous rencontrez des difficultés ?","home.tutoriel.subtitle":"Vous voulez en savoir plus ou vous rencontrez des difficultés ?","home.tutoriel.title":"Comment utiliser Celluloid ?","Les annotations correspondant aux différents temps de la vidéo seront affichées ici.":"Les annotations correspondant aux différents temps de la vidéo seront affichées ici.","menu.about":"à propos","menu.admin":"Admin","menu.create":"Créer","menu.explore":"Explorer","menu.join":"Rejoindre","menu.login":"connexion","menu.logout":"Se déconnecter","menu.profile":"Profil","menu.signup":"inscription","notFound.action":"retour à l'accueil","notFound.description":"La page que vous cherchez est peut-être privée ou à peut-être été supprimée","notFound.title":"Page introuvable :(","printAction":"Imprimer","profile.me.project.empty":"Vous n'avez aucun projet","project.add-related-video":"Liste de lecture","project.add-video-playlist-description":"Veuillez saisir l'URL de la vidéo que vous souhaitez ajouter à la liste de lecture.","project.add-video-to-playlist-button":"Ajouter une vidéo à la liste de lecture","project.annotation.hints.label":"Afficher la chronologie des annotations.","project.annotation.title":"Annotations","project.assignment":"Activité ","project.assignmentPlaceholder":"Ajoutez une activité","project.assignmentsHelper":"Listez les différentes activités que vous proposez au partcipants","project.assignmentsSection":"Activités proposées","project.cancel-add-video":"Ajouter","project.cancelAction":"Annuler","project.codeWarning.description":"Ce code sera disponible sur la page de projet Vous pouvez le réinitialiser en partageant à nouveau le projet.","project.codeWarning.title":"Partagez ce code avec les participants du projet","project.collaborative":"Collaboratif","project.collaborativeHelper":"Rendre un projet collaboratif signifie que les personnes que vous invitez pourront annoter la vidéo. Si le projet n’est pas collaboratif, vous seul.e pourrez annoter la vidéo.","project.confirm-delete.description":"Êtes-vous sûr(e) de vouloir supprimer le projet ?","project.confirm-delete.title":"Supprimer le projet","project.create.error.video-info-failed":"Impossible de récupérer les informations de la vidéo. Veuillez vérifier l'URL et réessayer","project.create.url.not-valid":"L'URL fournie n'est pas valide. Veuillez vérifier et réessayer.","project.create.url.required":"L'URL est obligatoire. Veuillez fournir une URL valide.","project.createAction":"Créer le projet","project.createTitle":"Nouveau projet","project.creatorRole":"Créateur","project.description":"Description","project.descriptionHelper":"Décrivez brièvement le contenu de la vidéo","project.edit":"Modification","project.edit.error":"Project n'a pas pu être supprimé","project.edit.success":"Project a été mise à jour","project.export":"Exporter les annotations","project.keywords":"Mots clés","project.members":"{{ count }} participant","project.members_many":"{{ count }} participants","project.members_one":"un participant","project.members_other":"{{ count }} participants","project.members_plural":"{{ count }} participants","project.objective":"Objectif","project.objectiveHelper":"Fixez l'objectif général du projet","project.playlist":"Liste de lecture","project.public":"Public","project.publicHelper":"Rendre un projet public signifie que tous les utilisateurs de la plateforme pourront regarder la vidéo, mais ils ne pourront pas y participer, ni voir les annotations.","project.share.dialog.description":"Pour ouvrir une fiche imprimable dans une nouvelle fenêtre, ","project.share.dialog.linkText":"cliquez ici","project.share.guide.step1":"Allez sur le site internet","project.share.guide.step2":"Sur la page d'accueil, cliquez sur 'rejoindre un projet'","project.share.guide.step3":"Entrez le code du projet","project.share.guide.step4":"Indiquez votre nom et une réponse secrète","project.share.guide.step5":"Prenez connaissance des objectifs et des tâches à réaliser pour ce projet","project.share.guide.step6":"Réalisez l'exercice et annotez la vidéo au fil de la lecture","project.share.guide.subtitle":"Comment utiliser Celluloid ?","project.share.guide.title":"Instructions","project.shared":"Partage","project.submit-add-video-playlist":"Annuler","project.summary.playlist.title":"Liste de lecture : ","project.title":"Titre","project.titleHelper":"Donnez un titre à votre projet","project.URL_title":"URL de la vidéo","project.videoUrlHelper":"Lien vers la vidéo originale","project.visibilitySection":"Partage","search.placeholder":"Chercher un projet","shareAction":"Partager","signin.alreadyRegistered":"Déjà un compte ?","signin.changePasswordAction":"changer le mot de passe","signin.code":"Code de confirmation","signin.codeHelper":"Ce code vous a été envoyé par email","signin.confirmPassword":"Confirmer le mot de passe","signin.confirmSignupAction":"Confirmer l'inscription","signin.confirmSignupTitle":"Confirmation","signin.email":"Adresse email","signin.forgotPasswordAction":"mot de passe oublié","signin.forgotPasswordTitle":"Mot de passe perdu","signin.joinAction":"Rejoindre","signin.joinProjectTitle":"Rejoindre un projet","signin.lastName":"Nom de famille","signin.login":"Email ou nom d'utilisateur","signin.loginAction":"Se connecter","signin.loginTitle":"Connexion","signin.notRegistered":"Pas encore de compte ?","signin.password":"Mot de passe","signin.passwordHelper":"8 caractères minimum","signin.passwordMismatch":"Les mots de passe ne correspondent pas","signin.projectCode":"Code du projet","signin.rememberlastName":"Votre nom de famille vous servira de mot de passe","signin.resendCodeAction":"Envoyer un nouveau code","signin.resetAction":"mettre à jour","signin.signupAction":"s'inscrire","signin.signupOrLoginMessage":"Pour continuer, vous devez vous inscrire ou vous connecter","signin.signupTitle":"Inscription","signin.upgradeAccountMessage":"Pour continuer, vous devez renseigner votre adresse email et un mot de passe","signin.username":"Prenom ou pseudo","tagSearch.createLabel":"Créer le domaine","tagSearch.prefix":"Domaine","update.action":"Rafraîchir","update.message":"L'application a été mise à jour. Veuillez rafraîchir la page.","home.teachers":"Enseignant","home.students":"Etudiant","annotation.form.add-annotation":"Ajouter une annotation","annotation.edit.send":"Modifier","confirm.username.required":"Le nom d'utilisateur est requis.","confirm.code.required":"Le mot de passe est requis.","confirm.title":"Confirmation","confirm.username.label":"Email ou nom d'utilisateur","confirm.username.paceholder":"Email ou nom d'utilisateur","confirm.code.label":"Code de confirmation","confirm.code.placeholder":"Code de confirmation","confirm.button.submit":"Envoyer","forgot.email.required":"Email est requis","forgot.title":"Mot de passe perdu","forgot.email.placeholder":"Email ou nom d'utilisateur","forgot.button.recover":"Récupérer un compte","forgot.button.submit":"Changer le mot de passe","join.error.project-not-found":"Code de partage est invalide","join.title":"Rejoindre un projet","join.shareCode.label":"Code du projet","join.shareCode.placeholder":"Code du projet","join.button.submit":"Rejoindre","signin.username.required":"Nom d'utilisateur est requis","signin.password.required":"Mot de passe est requis","signin.title":"Se connecter","signin.confirm.button":"Confirmer","recover.username.required":"Nom d'utilisateur est requis","recover.code.required":"Code est obligatoire","recover.password.required":"Mot de passe est requis","recover.title":"Récupérer le compte","recover.username.label":"Email ou nom d'utilisateur","recover.username.paceholder":"Email ou nom d'utilisateur","recover.code.label":"Code de confirmation","recover.code.placeholder":"Code de confirmation","recover.password.label":"Mot de passe","recover.password.placeholder":"Mot de passe","recover.passwordConfirmation.label":"Confirmer le mot de passe","recover.passwordConfirmation.placeholder":"Confirmer le mot de passe","recover.button.submit":"Envoyer","signup.error.account_exists":"Cette adresse e-mail est déjà enregistrée.","signup.title":"Inscription","signup.username.label":"Nom d'utilisateur","signup.username.paceholder":"Nom d'utilisateur","signup.email.label":"Adresse email","signup.email.placeholder":"Adresse email","signup.password.label":"Mot de passe","signup.password.placeholder":"Mot de passe","signup.passwordConfirmation.label":"Confirmer le mot de passe","signup.passwordConfirmation.placeholder":"Confirmer le mot de passe","signup.button.submit":"S'inscrire","student-student-signup.error.username-exists":"Email exists dejà","student-signup.title":"Inscription","student-student-signup.shareCode.label":"Code du projet","student-signup.shareCode.placeholder":"Code du projet","student-student-signup.username.label":"Prenom ou pseudo","student-student-signup.username.paceholder":"Prenom ou pseudo","student-signup.password.label":"Mot de passe","student-signup.password.placeholder":"Mot de passe","student-signup.login.button":"Se connecter","student-signup.button.submit":"Rejoindre","project.delete.error":"Project n'a pas pu être supprimé","project.sharecode.copied":"Code du projet copié","home.projects.retry":"Réessayer","password.unmatch":"Le mot de passe ne correspond pas.","profile.role.student":"Contributeur / Contributrice","profile.role.teacher":"Créateur / Créatrice","profile.role.admin":"Admin","join.error.project-owner-cannot-join":"Le propriétaire du projet ne peut pas rejoindre le projet en tant que membre.","user.update.success":"Profil mis à jour","edit-project-dialog.title":"Modifier le projet","project.share.section.title":"Partager","project.edit.button":"Modifier le projet","project.share":"Partager","project.shareHelper":"Un code projet sera généré pour permettre aux collaborateurs d'annoter votre projet.","project.export.success":"Annotation exportée avec succès.","project.edit.submit.button":"Modifier le projet","project.edit.delete.button":"Supprimer le projet","project.edit.dialog.title":"Modifier le projet","menu.settings":"Paramètres","project.annotaions.empty":"Les annotations correspondantes aux différents temps de la vidéo serontaffichées ici.","profile.update.title":"Editer le profil","profile.update.username":"nom d'utilisateur","profile.update.firstname":"prénom","profile.update.lastname":"nom de famille","profile.update.bio":"Biographie","profile.update.submit":"Sauvegarder","profile.security.old-password.label":"Mot de passe actuel","profile.security.new-password.label":"Nouveau mot de passe","profile.security.confirmation-password.label":"Confirmez le mot de passe","profile.security.password-incorrect":"Mot de passe incorrect","profile.security.change-password.title":"Changer le mot de passe","profile.security.change-password.button":"Changer le mot de passe"} \ No newline at end of file +{ + "about.intro": "Le développement de <0>Celluloid est piloté par Michaël Bourgatte et Laurent Tessier dans le cadre d'un <1>Consortium Huma-Num pluridisciplinaire réunissant des chercheuses et chercheurs mobilisant des corpus audiovisuels. ", + "about.opensource.github": "Celluloid est un projet Open Source en Humanités numériques. L’ensemble du code est accessible librement sur GitHub", + "about.opensource.prefix": "La version 2.0, dite “Alphaville”, ainsi que ses développements successifs, sont réalisés dans le cadre du consortium Huma-Num <0>CANEVAS (hébergé par la <1>Maison des Sciences de l’Homme Paris Nord). Cette version est développée par Younès Benomar.", + "about.support": "La version 1.0 de Celluloid dite “Pierrot”, ainsi que ses développements successifs, ont bénéficié du soutien de l’Institut Catholique de Paris, de la Fondation Saint Matthieu et de l’incubateur La Paillasse. Cette version a été développée par Erwan Queffélec avec la participation de Jean-Frédéric Bruzek, Souleymane Thiam et de Guillaume Aichhorn.", + "about.title": "À propos", + "annotation.comment.cancel": "Annuler", + "annotation.comment.reply": "Répondre", + "annotation.comment.send": "Envoyer", + "annotation.commentLabel": "{{count}} commentaire", + "annotation.commentLabel_one": "un commentaire", + "annotation.commentLabel_other": "{{count}} commentaires", + "annotation.commentLabel_plural": "{{count}} commentaires", + "annotation.commentPlaceholder": "Laissez un commentaire…", + "annotation.confirm-delete.description": "Êtes-vous sûr(e) de vouloir supprimer l'annotation ?", + "annotation.confirm-delete.title": "Supprimer l'annotation", + "annotation.contentPlaceholder": "Saisissez votre annotation…", + "annotation.create.cancel": "Annuler", + "annotation.create.send": "Envoyer", + "annotation.hintLabel": "{{count}} annotation", + "annotation.hintLabel_many": "{{count}} annotations", + "annotation.hintLabel_one": "{{count}} annotation", + "annotation.hintLabel_other": "{{count}} annotations", + "annotation.hintLabel_plural": "{{count}} annotations", + "annotation.hintLabelNone": "Aucune annotation", + "annotation.pauseLabel": "Mettre en pause ?", + "cancelAction": "Annuler", + "createAction": "Enregistrer", + "deleteAction": "Supprimer", + "ERR_ALREADY_EXISTING_PROJECT": "Un projet avec le même titre existe déjà, veuillez renommer le projet", + "ERR_UNKOWN": "Une erreur inconnue s'est produite. Veuillez réessayer ultérieurement ou contacter le support pour obtenir de l'aide.", + "footer.copyright": "<0>CC BY-NC 2023 Consortium Canevas", + "footer.legalNotice": "Mention légales", + "footer.termsAndConditions": "Conditions Générales d'Utilisation", + "home.addVideo": "Ajoutez un lien vers une vidéo PeerTube...", + "home.description": "Une application pour annoter, commenter et analyser vos documents audiovisuels numériques (films, séries, émissions ou vos propres vidéos), seul.e ou en équipe\n", + "home.emptySearchResult": "Aucun projet ne correspond à votre recherche", + "home.joinProject": "Rejoindre un projet", + "home.myProjects": "Mes projets", + "home.newProject": "Créer un projet", + "home.publicProjects": "Explorer", + "home.searchProject": "Rechercher un projet…", + "home.title": "Qu’est-ce que Celluloid ?", + "home.tutoriel.description": "Rendez-vous sur une instance <0>Peertube. \nChoisissez une vidéo ou déposez-en une nouvelle dans l’instance.\nCopiez le lien de partage de la vidéo.\nCréez votre projet dans Celluloid en collant le lien de la vidéo et lancez-vous !\nVous voulez travailler à plusieurs ? Partagez le code du projet avec vos partenaires...", + "home.tutoriel.link": "Le tutoriel est ici : <0>https://celluloid-media.huma-num.fr/w/7r2FxoQdYjun6tYWJfHUCa", + "home.tutoriel.prefix": "Vous voulez en savoir plus ou vous rencontrez des difficultés ?", + "home.tutoriel.subtitle": "Vous voulez en savoir plus ou vous rencontrez des difficultés ?", + "home.tutoriel.title": "Comment utiliser Celluloid ?", + "Les annotations correspondant aux différents temps de la vidéo seront affichées ici.": "Les annotations correspondant aux différents temps de la vidéo seront affichées ici.", + "menu.about": "à propos", + "menu.admin": "Admin", + "menu.create": "Créer", + "menu.explore": "Explorer", + "menu.join": "Rejoindre", + "menu.login": "connexion", + "menu.logout": "Se déconnecter", + "menu.profile": "Profil", + "menu.signup": "inscription", + "notFound.action": "retour à l'accueil", + "notFound.description": "La page que vous cherchez est peut-être privée ou à peut-être été supprimée", + "notFound.title": "Page introuvable :(", + "printAction": "Imprimer", + "profile.me.project.empty": "Vous n'avez aucun projet", + "project.add-related-video": "Liste de lecture", + "project.add-video-playlist-description": "Veuillez saisir l'URL de la vidéo que vous souhaitez ajouter à la liste de lecture.", + "project.add-video-to-playlist-button": "Ajouter une vidéo à la liste de lecture", + "project.annotation.hints.label": "Afficher la chronologie des annotations.", + "project.annotation.title": "Annotations", + "project.assignment": "Activité ", + "project.assignmentPlaceholder": "Ajoutez une activité", + "project.assignmentsHelper": "Listez les différentes activités que vous proposez au partcipants", + "project.assignmentsSection": "Activités proposées", + "project.cancel-add-video": "Ajouter", + "project.cancelAction": "Annuler", + "project.codeWarning.description": "Ce code sera disponible sur la page de projet Vous pouvez le réinitialiser en partageant à nouveau le projet.", + "project.codeWarning.title": "Partagez ce code avec les participants du projet", + "project.collaborative": "Collaboratif", + "project.collaborativeHelper": "Rendre un projet collaboratif signifie que les personnes que vous invitez pourront annoter la vidéo. Si le projet n’est pas collaboratif, vous seul.e pourrez annoter la vidéo.", + "project.confirm-delete.description": "Êtes-vous sûr(e) de vouloir supprimer le projet ?", + "project.confirm-delete.title": "Supprimer le projet", + "project.create.error.video-info-failed": "Impossible de récupérer les informations de la vidéo. Veuillez vérifier l'URL et réessayer", + "project.create.url.not-valid": "L'URL fournie n'est pas valide. Veuillez vérifier et réessayer.", + "project.create.url.required": "L'URL est obligatoire. Veuillez fournir une URL valide.", + "project.createAction": "Créer le projet", + "project.createTitle": "Nouveau projet", + "project.creatorRole": "Créateur", + "project.description": "Description", + "project.descriptionHelper": "Décrivez brièvement le contenu de la vidéo", + "project.edit": "Modification", + "project.edit.error": "Project n'a pas pu être supprimé", + "project.edit.success": "Project a été mise à jour", + "project.export": "Exporter les annotations", + "project.keywords": "Mots clés", + "project.members": "{{ count }} participant", + "project.members_many": "{{ count }} participants", + "project.members_one": "un participant", + "project.members_other": "{{ count }} participants", + "project.members_plural": "{{ count }} participants", + "project.objective": "Objectif", + "project.objectiveHelper": "Fixez l'objectif général du projet", + "project.playlist": "Liste de lecture", + "project.public": "Public", + "project.publicHelper": "Rendre un projet public signifie que tous les utilisateurs de la plateforme pourront regarder la vidéo, mais ils ne pourront pas y participer, ni voir les annotations.", + "project.share.dialog.description": "Pour ouvrir une fiche imprimable dans une nouvelle fenêtre, ", + "project.share.dialog.linkText": "cliquez ici", + "project.share.guide.step1": "Allez sur le site internet", + "project.share.guide.step2": "Sur la page d'accueil, cliquez sur 'rejoindre un projet'", + "project.share.guide.step3": "Entrez le code du projet", + "project.share.guide.step4": "Indiquez votre nom et une réponse secrète", + "project.share.guide.step5": "Prenez connaissance des objectifs et des tâches à réaliser pour ce projet", + "project.share.guide.step6": "Réalisez l'exercice et annotez la vidéo au fil de la lecture", + "project.share.guide.subtitle": "Comment utiliser Celluloid ?", + "project.share.guide.title": "Instructions", + "project.shared": "Partage", + "project.submit-add-video-playlist": "Annuler", + "project.summary.playlist.title": "Liste de lecture : ", + "project.title": "Titre", + "project.titleHelper": "Donnez un titre à votre projet", + "project.URL_title": "URL de la vidéo", + "project.videoUrlHelper": "Lien vers la vidéo originale", + "project.visibilitySection": "Partage", + "search.placeholder": "Chercher un projet", + "shareAction": "Partager", + "signin.alreadyRegistered": "Déjà un compte ?", + "signin.changePasswordAction": "changer le mot de passe", + "signin.code": "Code de confirmation", + "signin.codeHelper": "Ce code vous a été envoyé par email", + "signin.confirmPassword": "Confirmer le mot de passe", + "signin.confirmSignupAction": "Confirmer l'inscription", + "signin.confirmSignupTitle": "Confirmation", + "signin.email": "Adresse email", + "signin.forgotPasswordAction": "mot de passe oublié", + "signin.forgotPasswordTitle": "Mot de passe perdu", + "signin.joinAction": "Rejoindre", + "signin.joinProjectTitle": "Rejoindre un projet", + "signin.lastName": "Nom de famille", + "signin.login": "Email ou nom d'utilisateur", + "signin.loginAction": "Se connecter", + "signin.loginTitle": "Connexion", + "signin.notRegistered": "Pas encore de compte ?", + "signin.password": "Mot de passe", + "signin.passwordHelper": "8 caractères minimum", + "signin.passwordMismatch": "Les mots de passe ne correspondent pas", + "signin.projectCode": "Code du projet", + "signin.rememberlastName": "Votre nom de famille vous servira de mot de passe", + "signin.resendCodeAction": "Envoyer un nouveau code", + "signin.resetAction": "mettre à jour", + "signin.signupAction": "s'inscrire", + "signin.signupOrLoginMessage": "Pour continuer, vous devez vous inscrire ou vous connecter", + "signin.signupTitle": "Inscription", + "signin.upgradeAccountMessage": "Pour continuer, vous devez renseigner votre adresse email et un mot de passe", + "signin.username": "Prenom ou pseudo", + "tagSearch.createLabel": "Créer le domaine", + "tagSearch.prefix": "Domaine", + "update.action": "Rafraîchir", + "update.message": "L'application a été mise à jour. Veuillez rafraîchir la page.", + "home.teachers": "Enseignant", + "home.students": "Etudiant", + "annotation.form.add-annotation": "Ajouter une annotation", + "annotation.edit.send": "Modifier", + "confirm.username.required": "Le nom d'utilisateur est requis.", + "confirm.code.required": "Le mot de passe est requis.", + "confirm.title": "Confirmation", + "confirm.username.label": "Email ou nom d'utilisateur", + "confirm.username.paceholder": "Email ou nom d'utilisateur", + "confirm.code.label": "Code de confirmation", + "confirm.code.placeholder": "Code de confirmation", + "confirm.button.submit": "Envoyer", + "forgot.email.required": "Email est requis", + "forgot.title": "Mot de passe perdu", + "forgot.email.placeholder": "Email ou nom d'utilisateur", + "forgot.button.recover": "Récupérer un compte", + "forgot.button.submit": "Changer le mot de passe", + "join.error.project-not-found": "Code de partage est invalide", + "join.title": "Rejoindre un projet", + "join.shareCode.label": "Code du projet", + "join.shareCode.placeholder": "Code du projet", + "join.button.submit": "Rejoindre", + "signin.username.required": "Nom d'utilisateur est requis", + "signin.password.required": "Mot de passe est requis", + "signin.title": "Se connecter", + "signin.confirm.button": "Confirmer", + "recover.username.required": "Nom d'utilisateur est requis", + "recover.code.required": "Code est obligatoire", + "recover.password.required": "Mot de passe est requis", + "recover.title": "Récupérer le compte", + "recover.username.label": "Email ou nom d'utilisateur", + "recover.username.paceholder": "Email ou nom d'utilisateur", + "recover.code.label": "Code de confirmation", + "recover.code.placeholder": "Code de confirmation", + "recover.password.label": "Mot de passe", + "recover.password.placeholder": "Mot de passe", + "recover.passwordConfirmation.label": "Confirmer le mot de passe", + "recover.passwordConfirmation.placeholder": "Confirmer le mot de passe", + "recover.button.submit": "Envoyer", + "signup.error.account_exists": "Cette adresse e-mail est déjà enregistrée.", + "signup.title": "Inscription", + "signup.username.label": "Nom d'utilisateur", + "signup.username.paceholder": "Nom d'utilisateur", + "signup.email.label": "Adresse email", + "signup.email.placeholder": "Adresse email", + "signup.password.label": "Mot de passe", + "signup.password.placeholder": "Mot de passe", + "signup.passwordConfirmation.label": "Confirmer le mot de passe", + "signup.passwordConfirmation.placeholder": "Confirmer le mot de passe", + "signup.button.submit": "S'inscrire", + "student-student-signup.error.username-exists": "Email exists dejà", + "student-signup.title": "Inscription", + "student-student-signup.shareCode.label": "Code du projet", + "student-signup.shareCode.placeholder": "Code du projet", + "student-student-signup.username.label": "Prenom ou pseudo", + "student-student-signup.username.paceholder": "Prenom ou pseudo", + "student-signup.password.label": "Mot de passe", + "student-signup.password.placeholder": "Mot de passe", + "student-signup.login.button": "Se connecter", + "student-signup.button.submit": "Rejoindre", + "project.delete.error": "Project n'a pas pu être supprimé", + "project.sharecode.copied": "Code du projet copié", + "home.projects.retry": "Réessayer", + "password.unmatch": "Le mot de passe ne correspond pas.", + "profile.role.student": "Contributeur / Contributrice", + "profile.role.teacher": "Créateur / Créatrice", + "profile.role.admin": "Admin", + "join.error.project-owner-cannot-join": "Le propriétaire du projet ne peut pas rejoindre le projet en tant que membre.", + "user.update.success": "Profil mis à jour", + "edit-project-dialog.title": "Modifier le projet", + "project.share.section.title": "Partager", + "project.edit.button": "Modifier le projet", + "project.share": "Partager", + "project.shareHelper": "Un code projet sera généré pour permettre aux collaborateurs d'annoter votre projet.", + "project.export.success": "Annotation exportée avec succès.", + "project.edit.submit.button": "Modifier le projet", + "project.edit.delete.button": "Supprimer le projet", + "project.edit.dialog.title": "Modifier le projet", + "menu.settings": "Paramètres", + "project.annotaions.empty": "Les annotations correspondantes aux différents temps de la vidéo serontaffichées ici.", + "profile.update.title": "Editer le profil", + "profile.update.username": "nom d'utilisateur", + "profile.update.firstname": "prénom", + "profile.update.lastname": "nom de famille", + "profile.update.bio": "Biographie", + "profile.update.submit": "Sauvegarder", + "profile.security.old-password.label": "Mot de passe actuel", + "profile.security.new-password.label": "Nouveau mot de passe", + "profile.security.confirmation-password.label": "Confirmez le mot de passe", + "profile.security.password-incorrect": "Mot de passe incorrect", + "profile.security.change-password.title": "Changer le mot de passe", + "profile.security.change-password.button": "Changer le mot de passe", + "project.chapters.empty": "Cette vidéo n'a pas de chapitres" +} diff --git a/apps/frontend/src/pages/home.tsx b/apps/frontend/src/pages/home.tsx index ac757abb..f8a03c06 100644 --- a/apps/frontend/src/pages/home.tsx +++ b/apps/frontend/src/pages/home.tsx @@ -11,7 +11,7 @@ import Button from "@mui/material/Button"; import Grid from "@mui/material/Grid"; import Typography from "@mui/material/Typography"; import { QueryErrorResetBoundary } from "@tanstack/react-query"; -import * as React from "react"; +import type * as React from "react"; import { Suspense, useCallback } from "react"; import { ErrorBoundary } from "react-error-boundary"; import { Trans, useTranslation } from "react-i18next"; @@ -227,7 +227,7 @@ export const HomePage: React.FC = () => { {({ reset }) => ( ( + fallbackRender={({ resetErrorBoundary }) => ( ( throw new Error("No video data found"); } + const videoFile = metadata.streamingPlaylists[0]?.files .sort((a, b) => a.size - b.size) // Sort files by size in ascending order .find(file => file.fileDownloadUrl)?.fileDownloadUrl; // Find the first file with a download URL @@ -46,10 +47,19 @@ export const chaptersQueue = createQueue( if (!videoFile) { throw new Error("No video file found"); } + + await job.progress(10); const videoPath = await downloadVideoFile(videoFile); await job.progress(50); + await prisma.project.update({ + where: { id: payload.projectId }, + data: { + chapterJobId: job.id, + }, + }); + try { const chapters = await detectScenes({ videoPath, duration }); diff --git a/packages/trpc/src/routers/annotation.ts b/packages/trpc/src/routers/annotation.ts index e8b06bbe..039ac72c 100644 --- a/packages/trpc/src/routers/annotation.ts +++ b/packages/trpc/src/routers/annotation.ts @@ -162,13 +162,12 @@ export const annotationRouter = router({ ee.emit('change', updatedAnnotation); return updatedAnnotation; - } else { - throw new TRPCError({ - code: "UNAUTHORIZED", - message: "Can't edit this annotation" - } - ); } + throw new TRPCError({ + code: "UNAUTHORIZED", + message: "Can't edit this annotation" + } + ); }), diff --git a/packages/trpc/src/routers/chapter.ts b/packages/trpc/src/routers/chapter.ts index 535fe2fe..e451bf28 100644 --- a/packages/trpc/src/routers/chapter.ts +++ b/packages/trpc/src/routers/chapter.ts @@ -10,6 +10,7 @@ import Papa from 'papaparse'; import { z } from 'zod'; import { protectedProcedure, publicProcedure, router } from '../trpc'; +import { chaptersQueue } from '@celluloid/queue'; // create a global event emitter (could be replaced by redis, etc) @@ -67,4 +68,130 @@ export const chapterRouter = router({ // } return chapters; }), + generateChapters: protectedProcedure + .input( + z.object({ + projectId: z.string(), + }), + ) + .mutation(async ({ input, ctx }) => { + if (ctx.user?.id && ctx.requirePermissions([UserRole.Teacher, UserRole.Admin])) { + + // Find the project by its ID (you need to replace 'projectId' with the actual ID) + const project = await prisma.project.findUnique({ + where: { + id: input.projectId, + userId: ctx.user.id + } + }); + + if (!project) { + throw new Error('Project not found'); + } + + const jobId = await chaptersQueue.add({ projectId: project.id }); + const updatedProject = await prisma.project.update({ + where: { id: project.id }, + data: { + chapterJob: { + connect: { + id: jobId.id + } + } + } + }) + console.log("updated project", updatedProject) + console.log("job enqueued", jobId) + return updatedProject; + + } + }), + + edit: protectedProcedure + .input( + z.object({ + projectId: z.string(), + chapterId: z.string(), + title: z.string().optional(), + description: z.string().optional(), + }), + ) + .mutation(async ({ input, ctx }) => { + + + const chapter = await prisma.chapter.findUnique({ + where: { id: input.chapterId }, + include: { + project: true + } + }); + + if (!chapter) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "Annotation not found" + } + ); + } + + if (ctx.user.role === UserRole.Admin || chapter.project.userId === ctx.user?.id) { + // Perform the update + const updatedChapter = await prisma.chapter.update({ + where: { id: input.chapterId }, + data: { + title: input.title ?? chapter.title, + description: input.description ?? chapter.description + }, + }); + + // ee.emit('change', updatedChapter); + return updatedChapter; + } + + throw new TRPCError({ + code: "UNAUTHORIZED", + message: "Can't edit this annotation" + } + ); + + }), + + delete: protectedProcedure + .input( + z.object({ + chapterId: z.string(), + }), + ) + .mutation(async ({ input, ctx }) => { + + // Check if the annotation with the given ID exists + const chapter = await prisma.chapter.findUnique({ + where: { id: input.chapterId }, + include: { + project: true + } + }); + + if (!chapter) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "chapter not found" + } + ); + } + + if (ctx.user.role === UserRole.Admin || chapter.project.userId === ctx.user?.id) { + const chapter = await prisma.chapter.delete({ + where: { id: input.chapterId }, + }); + // ee.emit('change', chapter); + return chapter; + } + throw new TRPCError({ + code: "UNAUTHORIZED", + message: "Can't edit this chapter" + } + ); + + }), }); diff --git a/packages/trpc/src/routers/project.ts b/packages/trpc/src/routers/project.ts index ac15499d..b439b1c2 100644 --- a/packages/trpc/src/routers/project.ts +++ b/packages/trpc/src/routers/project.ts @@ -145,7 +145,6 @@ export const projectRouter = router({ let nextCursor: typeof cursor | undefined = undefined; if (items.length > limit) { // Remove the last item and use it as next cursor - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion const nextItem = items.pop()!; nextCursor = nextItem.id; @@ -171,6 +170,14 @@ export const projectRouter = router({ user: { select: defaultUserSelect }, + chapterJob: { + select: { + id: true, + error: true, + finishedAt: true, + progress: true, + } + }, playlist: { include: { projects: { @@ -203,10 +210,10 @@ export const projectRouter = router({ return { ...project, - editable: ctx.user && (ctx.user.id == project.userId || ctx.user.role == UserRole.Admin), - deletable: ctx.user && (ctx.user.id == project.userId || ctx.user.role == UserRole.Admin), - annotable: ctx.user && (ctx.user.id == project.userId || ctx.user.role == UserRole.Admin || (project.members.some(m => ctx.user && m.userId == ctx.user.id) && project.collaborative)), - commentable: ctx.user && (ctx.user.id == project.userId || ctx.user.role == UserRole.Admin || (project.members.some(m => ctx.user && m.userId == ctx.user.id) && project.collaborative)), + editable: ctx.user && (ctx.user.id === project.userId || ctx.user.role === UserRole.Admin), + deletable: ctx.user && (ctx.user.id === project.userId || ctx.user.role === UserRole.Admin), + annotable: ctx.user && (ctx.user.id === project.userId || ctx.user.role === UserRole.Admin || (project.members.some(m => ctx.user && m.userId === ctx.user.id) && project.collaborative)), + commentable: ctx.user && (ctx.user.id === project.userId || ctx.user.role === UserRole.Admin || (project.members.some(m => ctx.user && m.userId === ctx.user.id) && project.collaborative)), }; }), add: protectedProcedure @@ -253,9 +260,15 @@ export const projectRouter = router({ // select: defaultPostSelect, }); const jobId = await chaptersQueue.add({ projectId: project.id }); - prisma.project.update({ + await prisma.project.update({ where: { id: project.id }, - data: { chapterJobId: jobId.id } + data: { + chapterJob: { + connect: { + id: jobId.id + } + } + } }) console.log("job enqueued", jobId) return project; diff --git a/yarn.lock b/yarn.lock index fb3d27e5..220d468f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -65,21 +65,6 @@ __metadata: languageName: node linkType: hard -"@adminjs/import-export@npm:^3.0.0": - version: 3.0.0 - resolution: "@adminjs/import-export@npm:3.0.0" - dependencies: - csvtojson: "npm:^2.0.10" - file-saver: "npm:^2.0.5" - json2csv: "npm:^6.0.0-alpha.2" - xml: "npm:^1.0.1" - xml2js: "npm:^0.4.23" - peerDependencies: - adminjs: ^7.0.0 - checksum: 73f1fb94c2295872f4f9c0f02b25beec9a2aef36555fe6f0f9d61b37f74a57ebf2bcc43cce7a225d83bf3d2ab3364cf5a508876f0ebbcfbaeafe9b26c1a374b0 - languageName: node - linkType: hard - "@adminjs/prisma@npm:^5.0.3": version: 5.0.3 resolution: "@adminjs/prisma@npm:5.0.3" @@ -4411,20 +4396,6 @@ __metadata: languageName: node linkType: hard -"@samverschueren/stream-to-observable@npm:^0.3.0, @samverschueren/stream-to-observable@npm:^0.3.1": - version: 0.3.1 - resolution: "@samverschueren/stream-to-observable@npm:0.3.1" - dependencies: - any-observable: "npm:^0.3.0" - peerDependenciesMeta: - rxjs: - optional: true - zen-observable: - optional: true - checksum: 2b62bff492d58b4fdc8339ecc29ac3d8e1c37ae920c9d41fcb490a574422c3df1eae26b07103198b97b586c5e7106d47440ce24580a2a919aa5f9359d9914f2c - languageName: node - linkType: hard - "@sideway/address@npm:^4.1.5": version: 4.1.5 resolution: "@sideway/address@npm:4.1.5" @@ -4462,27 +4433,6 @@ __metadata: languageName: node linkType: hard -"@sindresorhus/is@npm:^0.14.0": - version: 0.14.0 - resolution: "@sindresorhus/is@npm:0.14.0" - checksum: 789cd128f0b43e158e657c4505539c8997905fcb5c06d750b7df778cab2b6887bc1eb8878026a20d84524528786ef69fc3d12a964ae56a478a87bcfc7f8272f3 - languageName: node - linkType: hard - -"@sindresorhus/is@npm:^2.0.0": - version: 2.1.1 - resolution: "@sindresorhus/is@npm:2.1.1" - checksum: 55c4a7813843b1c574fbdc738f8c8d774310b9dbafce2cfd0ab7c7b19b444dc0acb84badbc36f5df863f84a66b21c5cab378af092a577c9ad587999ebab36478 - languageName: node - linkType: hard - -"@sindresorhus/is@npm:^4.0.0": - version: 4.6.0 - resolution: "@sindresorhus/is@npm:4.6.0" - checksum: e7f36ed72abfcd5e0355f7423a72918b9748bb1ef370a59f3e5ad8d40b728b85d63b272f65f63eec1faf417cda89dcb0aeebe94015647b6054659c1442fe5ce0 - languageName: node - linkType: hard - "@sinonjs/commons@npm:^1.7.0": version: 1.8.6 resolution: "@sinonjs/commons@npm:1.8.6" @@ -4501,13 +4451,6 @@ __metadata: languageName: node linkType: hard -"@streamparser/json@npm:^0.0.6": - version: 0.0.6 - resolution: "@streamparser/json@npm:0.0.6" - checksum: 9317d4ddbde6645960158e0fc3ba60c2d5a5e7bee96d911afb726c6b9b4254b958c141656b8f9938b3be938f41d6774e460c40d03c444ac9d4326c1fb97b58a2 - languageName: node - linkType: hard - "@styled-system/background@npm:^5.1.2": version: 5.1.2 resolution: "@styled-system/background@npm:5.1.2" @@ -4767,24 +4710,6 @@ __metadata: languageName: node linkType: hard -"@szmarczak/http-timer@npm:^1.1.2": - version: 1.1.2 - resolution: "@szmarczak/http-timer@npm:1.1.2" - dependencies: - defer-to-connect: "npm:^1.0.1" - checksum: 9b63853bd53bff72c4990ebc9cd3f625bbab757247099af172564da6649a27a1d41b1a70cd849dd65b2a078300029c1c80bf3079e6a91e285da7b259eb147146 - languageName: node - linkType: hard - -"@szmarczak/http-timer@npm:^4.0.0": - version: 4.0.6 - resolution: "@szmarczak/http-timer@npm:4.0.6" - dependencies: - defer-to-connect: "npm:^2.0.0" - checksum: c29df3bcec6fc3bdec2b17981d89d9c9fc9bd7d0c9bcfe92821dc533f4440bc890ccde79971838b4ceed1921d456973c4180d7175ee1d0023ad0562240a58d95 - languageName: node - linkType: hard - "@t3-oss/env-core@npm:^0.11.1": version: 0.11.1 resolution: "@t3-oss/env-core@npm:0.11.1" @@ -5259,12 +5184,12 @@ __metadata: languageName: node linkType: hard -"@tiptap/extension-text-style@npm:^2.8.0": - version: 2.8.0 - resolution: "@tiptap/extension-text-style@npm:2.8.0" +"@tiptap/extension-text-style@npm:^2.9.1": + version: 2.9.1 + resolution: "@tiptap/extension-text-style@npm:2.9.1" peerDependencies: "@tiptap/core": ^2.7.0 - checksum: 308f7fecea8619786b188745d8dfca7b39018cebd4cedb8774166202a746fa361fe453f1df7b0512dc46b433c3f6333cc969680f135238becf4fb7e7cbb140a6 + checksum: d8b19cc5aa1191d949417003b64ef6484b1c1dc55c71965acfbbbf5c5deb1696ebf6ddd95faf8b3def8e94b070d23dc07baded0587b2335b0a8ccf8c0acb9872 languageName: node linkType: hard @@ -5515,18 +5440,6 @@ __metadata: languageName: node linkType: hard -"@types/cacheable-request@npm:^6.0.1": - version: 6.0.3 - resolution: "@types/cacheable-request@npm:6.0.3" - dependencies: - "@types/http-cache-semantics": "npm:*" - "@types/keyv": "npm:^3.1.4" - "@types/node": "npm:*" - "@types/responselike": "npm:^1.0.0" - checksum: 159f9fdb2a1b7175eef453ae2ced5ea04c0d2b9610cc9ccd9f9abb066d36dacb1f37acd879ace10ad7cbb649490723feb396fb7307004c9670be29636304b988 - languageName: node - linkType: hard - "@types/connect-history-api-fallback@npm:^1.3.5": version: 1.5.4 resolution: "@types/connect-history-api-fallback@npm:1.5.4" @@ -5597,6 +5510,16 @@ __metadata: languageName: node linkType: hard +"@types/express-formidable@npm:^1": + version: 1.2.3 + resolution: "@types/express-formidable@npm:1.2.3" + dependencies: + "@types/express": "npm:*" + "@types/formidable": "npm:*" + checksum: e0264610c96ef2e30f6128dba8a94bd039b86b3beea1b0ed77e365d2f38efdb72d8b64539c8fac6992ca541ca235c8911af612f2a0ab39e39858e82ad3f84886 + languageName: node + linkType: hard + "@types/express-serve-static-core@npm:*, @types/express-serve-static-core@npm:^5.0.0": version: 5.0.0 resolution: "@types/express-serve-static-core@npm:5.0.0" @@ -5670,6 +5593,15 @@ __metadata: languageName: node linkType: hard +"@types/formidable@npm:*": + version: 3.4.5 + resolution: "@types/formidable@npm:3.4.5" + dependencies: + "@types/node": "npm:*" + checksum: 4ef1039eb250071fc5a2d6195d6c7cfccce52b69e80ede496409bfbdb2a60bac3f17cef5f84bac0347f69a83e884e3036dadf08450f3cf25dfa24fd372cc6850 + languageName: node + linkType: hard + "@types/get-urls@npm:^9.1.3": version: 9.1.3 resolution: "@types/get-urls@npm:9.1.3" @@ -5712,13 +5644,6 @@ __metadata: languageName: node linkType: hard -"@types/http-cache-semantics@npm:*": - version: 4.0.4 - resolution: "@types/http-cache-semantics@npm:4.0.4" - checksum: a59566cff646025a5de396d6b3f44a39ab6a74f2ed8150692e0f31cc52f3661a68b04afe3166ebe0d566bd3259cb18522f46e949576d5204781cd6452b7fe0c5 - languageName: node - linkType: hard - "@types/http-errors@npm:*": version: 2.0.4 resolution: "@types/http-errors@npm:2.0.4" @@ -5822,15 +5747,6 @@ __metadata: languageName: node linkType: hard -"@types/keyv@npm:^3.1.1, @types/keyv@npm:^3.1.4": - version: 3.1.4 - resolution: "@types/keyv@npm:3.1.4" - dependencies: - "@types/node": "npm:*" - checksum: e009a2bfb50e90ca9b7c6e8f648f8464067271fd99116f881073fa6fa76dc8d0133181dd65e6614d5fb1220d671d67b0124aef7d97dc02d7e342ab143a47779d - languageName: node - linkType: hard - "@types/linkify-it@npm:^5": version: 5.0.0 resolution: "@types/linkify-it@npm:5.0.0" @@ -5878,7 +5794,7 @@ __metadata: languageName: node linkType: hard -"@types/minimist@npm:^1.2.0, @types/minimist@npm:^1.2.2": +"@types/minimist@npm:^1.2.0": version: 1.2.5 resolution: "@types/minimist@npm:1.2.5" checksum: 477047b606005058ab0263c4f58097136268007f320003c348794f74adedc3166ffc47c80ec3e94687787f2ab7f4e72c468223946e79892cf0fd9e25e9970a90 @@ -6182,15 +6098,6 @@ __metadata: languageName: node linkType: hard -"@types/responselike@npm:^1.0.0": - version: 1.0.3 - resolution: "@types/responselike@npm:1.0.3" - dependencies: - "@types/node": "npm:*" - checksum: 6ac4b35723429b11b117e813c7acc42c3af8b5554caaf1fc750404c1ae59f9b7376bc69b9e9e194a5a97357a597c2228b7173d317320f0360d617b6425212f58 - languageName: node - linkType: hard - "@types/retry@npm:0.12.0": version: 0.12.0 resolution: "@types/retry@npm:0.12.0" @@ -6533,6 +6440,16 @@ __metadata: languageName: node linkType: hard +"@uidotdev/usehooks@npm:^2.4.1": + version: 2.4.1 + resolution: "@uidotdev/usehooks@npm:2.4.1" + peerDependencies: + react: ">=18.0.0" + react-dom: ">=18.0.0" + checksum: 7f2e1dcfcaf654841150fde36556a257afb2240bca0145586b4e1e9385b85fea108a7dd17c2cbc4c2bd46d136126ffdf84267118933120fe54ad2e028c2dfa68 + languageName: node + linkType: hard + "@ungap/structured-clone@npm:^1.2.0": version: 1.2.0 resolution: "@ungap/structured-clone@npm:1.2.0" @@ -6858,36 +6775,6 @@ __metadata: languageName: node linkType: hard -"admin@workspace:apps/admin": - version: 0.0.0-use.local - resolution: "admin@workspace:apps/admin" - dependencies: - "@adminjs/express": "npm:^6.1.0" - "@adminjs/import-export": "npm:^3.0.0" - "@adminjs/prisma": "npm:^5.0.3" - "@adminjs/themes": "npm:^1.0.1" - "@celluloid/config": "workspace:*" - "@celluloid/passport": "workspace:*" - "@celluloid/prisma": "workspace:*" - "@celluloid/utils": "workspace:*" - "@tiptap/extension-text-style": "npm:^2.8.0" - "@types/cors": "npm:^2.8.13" - "@types/express": "npm:^4.17.17" - "@types/node": "npm:^18.14.2" - adminjs: "npm:^7.8.13" - copyfiles: "npm:^2.4.1" - cors: "npm:^2.8.5" - del-cli: "npm:^5.0.0" - dotenv-cli: "npm:^7.3.0" - express: "npm:^4.19.2" - express-formidable: "npm:^1.2.0" - express-session: "npm:^1.17.3" - np: "npm:^7.7.0" - tsup: "npm:^8.3.0" - typescript: "npm:^5.6.2" - languageName: unknown - linkType: soft - "adminjs@npm:^7.8.13": version: 7.8.13 resolution: "adminjs@npm:7.8.13" @@ -6969,16 +6856,6 @@ __metadata: languageName: node linkType: hard -"aggregate-error@npm:^4.0.0": - version: 4.0.1 - resolution: "aggregate-error@npm:4.0.1" - dependencies: - clean-stack: "npm:^4.0.0" - indent-string: "npm:^5.0.0" - checksum: bb3ffdfd13447800fff237c2cba752c59868ee669104bb995dfbbe0b8320e967d679e683dabb640feb32e4882d60258165cde0baafc4cd467cc7d275a13ad6b5 - languageName: node - linkType: hard - "ajv-formats@npm:^2.1.1": version: 2.1.1 resolution: "ajv-formats@npm:2.1.1" @@ -7065,7 +6942,7 @@ __metadata: languageName: node linkType: hard -"ansi-align@npm:^3.0.0, ansi-align@npm:^3.0.1": +"ansi-align@npm:^3.0.1": version: 3.0.1 resolution: "ansi-align@npm:3.0.1" dependencies: @@ -7081,13 +6958,6 @@ __metadata: languageName: node linkType: hard -"ansi-escapes@npm:^3.0.0, ansi-escapes@npm:^3.2.0": - version: 3.2.0 - resolution: "ansi-escapes@npm:3.2.0" - checksum: 0f94695b677ea742f7f1eed961f7fd8d05670f744c6ad1f8f635362f6681dcfbc1575cb05b43abc7bb6d67e25a75fb8c7ea8f2a57330eb2c76b33f18cb2cef0a - languageName: node - linkType: hard - "ansi-escapes@npm:^4.2.1, ansi-escapes@npm:^4.3.1": version: 4.3.2 resolution: "ansi-escapes@npm:4.3.2" @@ -7124,27 +6994,6 @@ __metadata: languageName: node linkType: hard -"ansi-regex@npm:^2.0.0": - version: 2.1.1 - resolution: "ansi-regex@npm:2.1.1" - checksum: 190abd03e4ff86794f338a31795d262c1dfe8c91f7e01d04f13f646f1dcb16c5800818f886047876f1272f065570ab86b24b99089f8b68a0e11ff19aed4ca8f1 - languageName: node - linkType: hard - -"ansi-regex@npm:^3.0.0": - version: 3.0.1 - resolution: "ansi-regex@npm:3.0.1" - checksum: 09daf180c5f59af9850c7ac1bd7fda85ba596cc8cbeb210826e90755f06c818af86d9fa1e6e8322fab2c3b9e9b03f56c537b42241139f824dd75066a1e7257cc - languageName: node - linkType: hard - -"ansi-regex@npm:^4.1.0": - version: 4.1.1 - resolution: "ansi-regex@npm:4.1.1" - checksum: b1a6ee44cb6ecdabaa770b2ed500542714d4395d71c7e5c25baa631f680fb2ad322eb9ba697548d498a6fd366949fc8b5bfcf48d49a32803611f648005b01888 - languageName: node - linkType: hard - "ansi-regex@npm:^5.0.0, ansi-regex@npm:^5.0.1": version: 5.0.1 resolution: "ansi-regex@npm:5.0.1" @@ -7159,13 +7008,6 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^2.2.1": - version: 2.2.1 - resolution: "ansi-styles@npm:2.2.1" - checksum: ebc0e00381f2a29000d1dac8466a640ce11943cef3bda3cd0020dc042e31e1058ab59bf6169cd794a54c3a7338a61ebc404b7c91e004092dd20e028c432c9c2c - languageName: node - linkType: hard - "ansi-styles@npm:^3.2.1": version: 3.2.1 resolution: "ansi-styles@npm:3.2.1" @@ -7198,25 +7040,6 @@ __metadata: languageName: node linkType: hard -"any-observable@npm:^0.3.0": - version: 0.3.0 - resolution: "any-observable@npm:0.3.0" - checksum: 21f27ed714c54aac6db4c1200674933f93416b832433cd14e5071db53f7d480de66a4c529181655dee52371be7f73ebeb0880b02a95571d70152fd6b226c11e9 - languageName: node - linkType: hard - -"any-observable@npm:^0.5.1": - version: 0.5.1 - resolution: "any-observable@npm:0.5.1" - peerDependenciesMeta: - rxjs: - optional: true - zen-observable: - optional: true - checksum: d1f6d97fb469a666ad5945ccf396d0dbb6cf7337f882d425cfe3d2a937e62dbaaf44b7139de51af251a5a42c279bdd46afe388a88765ba3c00f1789917bca164 - languageName: node - linkType: hard - "any-promise@npm:^1.0.0": version: 1.3.0 resolution: "any-promise@npm:1.3.0" @@ -7479,13 +7302,6 @@ __metadata: languageName: node linkType: hard -"async-exit-hook@npm:^2.0.1": - version: 2.0.1 - resolution: "async-exit-hook@npm:2.0.1" - checksum: fffabbe5ef194ec8283efed48eaf8f4b7982d547de6d4cf7aadf83c8690f0f7929ad01b7cb5de99935ea8f3deb2c21fd009892d8215a43b5a2dcc55c04d42c9f - languageName: node - linkType: hard - "async@npm:^0.2.9": version: 0.2.10 resolution: "async@npm:0.2.10" @@ -7906,7 +7722,7 @@ __metadata: languageName: node linkType: hard -"bluebird@npm:3.7.2, bluebird@npm:^3.5.1, bluebird@npm:^3.7.2": +"bluebird@npm:3.7.2, bluebird@npm:^3.7.2": version: 3.7.2 resolution: "bluebird@npm:3.7.2" checksum: 007c7bad22c5d799c8dd49c85b47d012a1fe3045be57447721e6afbd1d5be43237af1db62e26cb9b0d9ba812d2e4ca3bac82f6d7e016b6b88de06ee25ceb96e7 @@ -7973,22 +7789,6 @@ __metadata: languageName: node linkType: hard -"boxen@npm:^5.0.0": - version: 5.1.2 - resolution: "boxen@npm:5.1.2" - dependencies: - ansi-align: "npm:^3.0.0" - camelcase: "npm:^6.2.0" - chalk: "npm:^4.1.0" - cli-boxes: "npm:^2.2.1" - string-width: "npm:^4.2.2" - type-fest: "npm:^0.20.2" - widest-line: "npm:^3.1.0" - wrap-ansi: "npm:^7.0.0" - checksum: bc3d3d88d77dc8cabb0811844acdbd4805e8ca8011222345330817737042bf6f86d93eb74a3f7e0cab634e64ef69db03cf52b480761ed90a965de0c8ff1bea8c - languageName: node - linkType: hard - "brace-expansion@npm:^1.1.7": version: 1.1.11 resolution: "brace-expansion@npm:1.1.11" @@ -8094,13 +7894,6 @@ __metadata: languageName: node linkType: hard -"builtins@npm:^1.0.3": - version: 1.0.3 - resolution: "builtins@npm:1.0.3" - checksum: 8f756616bd3d92611bcb5bcc3008308e7cdaadbc4603a5ce6fe709193198bc115351d138524d79e5269339ef7ba5ba73185da541c7b4bc076b00dd0124f938f6 - languageName: node - linkType: hard - "bundle-require@npm:^5.0.0": version: 5.0.0 resolution: "bundle-require@npm:5.0.0" @@ -8153,46 +7946,6 @@ __metadata: languageName: node linkType: hard -"cacheable-lookup@npm:^2.0.0": - version: 2.0.1 - resolution: "cacheable-lookup@npm:2.0.1" - dependencies: - "@types/keyv": "npm:^3.1.1" - keyv: "npm:^4.0.0" - checksum: f624d501a7077335761ca60a52f536c6db70fe4b218ed9380c708691b94671c4b07fab954646e2c0b08cca9b88639695f4e3dab6c8848e9819bb2712bf02d95a - languageName: node - linkType: hard - -"cacheable-request@npm:^6.0.0": - version: 6.1.0 - resolution: "cacheable-request@npm:6.1.0" - dependencies: - clone-response: "npm:^1.0.2" - get-stream: "npm:^5.1.0" - http-cache-semantics: "npm:^4.0.0" - keyv: "npm:^3.0.0" - lowercase-keys: "npm:^2.0.0" - normalize-url: "npm:^4.1.0" - responselike: "npm:^1.0.2" - checksum: 804f6c377ce6fef31c584babde31d55c69305569058ad95c24a41bb7b33d0ea188d388467a9da6cb340e95a3a1f8a94e1f3a709fef5eaf9c6b88e62448fa29be - languageName: node - linkType: hard - -"cacheable-request@npm:^7.0.1": - version: 7.0.4 - resolution: "cacheable-request@npm:7.0.4" - dependencies: - clone-response: "npm:^1.0.2" - get-stream: "npm:^5.1.0" - http-cache-semantics: "npm:^4.0.0" - keyv: "npm:^4.0.0" - lowercase-keys: "npm:^2.0.0" - normalize-url: "npm:^6.0.1" - responselike: "npm:^2.0.0" - checksum: 0f4f2001260ecca78b9f64fc8245e6b5a5dcde24ea53006daab71f5e0e1338095aa1512ec099c4f9895a9e5acfac9da423cb7c079e131485891e9214aca46c41 - languageName: node - linkType: hard - "call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.6, call-bind@npm:^1.0.7": version: 1.0.7 resolution: "call-bind@npm:1.0.7" @@ -8206,7 +7959,7 @@ __metadata: languageName: node linkType: hard -"callsites@npm:^3.0.0, callsites@npm:^3.1.0": +"callsites@npm:^3.0.0": version: 3.1.0 resolution: "callsites@npm:3.1.0" checksum: 072d17b6abb459c2ba96598918b55868af677154bec7e73d222ef95a8fdb9bbf7dae96a8421085cdad8cd190d86653b5b6dc55a4484f2e5b2e27d5e0c3fc15b3 @@ -8251,18 +8004,6 @@ __metadata: languageName: node linkType: hard -"camelcase-keys@npm:^7.0.0": - version: 7.0.2 - resolution: "camelcase-keys@npm:7.0.2" - dependencies: - camelcase: "npm:^6.3.0" - map-obj: "npm:^4.1.0" - quick-lru: "npm:^5.1.1" - type-fest: "npm:^1.2.1" - checksum: 6f92d969b7fa97456ffc35fe93f0a42d0d0a00fbd94bfc6cac07c84da86e6acfb89fdf04151460d47c583d2dd38a3e9406f980efe9a3d2e143cdfe46a7343083 - languageName: node - linkType: hard - "camelcase@npm:^5.3.1": version: 5.3.1 resolution: "camelcase@npm:5.3.1" @@ -8270,7 +8011,7 @@ __metadata: languageName: node linkType: hard -"camelcase@npm:^6.2.0, camelcase@npm:^6.2.1, camelcase@npm:^6.3.0": +"camelcase@npm:^6.2.0, camelcase@npm:^6.2.1": version: 6.3.0 resolution: "camelcase@npm:6.3.0" checksum: 8c96818a9076434998511251dcb2761a94817ea17dbdc37f47ac080bd088fc62c7369429a19e2178b993497132c8cbcf5cc1f44ba963e76782ba469c0474938d @@ -8401,19 +8142,6 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^1.0.0, chalk@npm:^1.1.3": - version: 1.1.3 - resolution: "chalk@npm:1.1.3" - dependencies: - ansi-styles: "npm:^2.2.1" - escape-string-regexp: "npm:^1.0.2" - has-ansi: "npm:^2.0.0" - strip-ansi: "npm:^3.0.0" - supports-color: "npm:^2.0.0" - checksum: abcf10da02afde04cc615f06c4bdb3ffc70d2bfbf37e0df03bb88b7459a9411dab4d01210745b773abc936031530a20355f1facc4bee1bbf08613d8fdcfb3aeb - languageName: node - linkType: hard - "chalk@npm:^2.4.1, chalk@npm:^2.4.2": version: 2.4.2 resolution: "chalk@npm:2.4.2" @@ -8476,13 +8204,6 @@ __metadata: languageName: node linkType: hard -"chardet@npm:^0.7.0": - version: 0.7.0 - resolution: "chardet@npm:0.7.0" - checksum: b0ec668fba5eeec575ed2559a0917ba41a6481f49063c8445400e476754e0957ee09e44dc032310f526182b8f1bf25e9d4ed371f74050af7be1383e06bc44952 - languageName: node - linkType: hard - "charm@npm:~0.1.1": version: 0.1.2 resolution: "charm@npm:0.1.2" @@ -8585,13 +8306,6 @@ __metadata: languageName: node linkType: hard -"ci-info@npm:^2.0.0": - version: 2.0.0 - resolution: "ci-info@npm:2.0.0" - checksum: 3b374666a85ea3ca43fa49aa3a048d21c9b475c96eb13c133505d2324e7ae5efd6a454f41efe46a152269e9b6a00c9edbe63ec7fa1921957165aae16625acd67 - languageName: node - linkType: hard - "ci-info@npm:^3.2.0": version: 3.9.0 resolution: "ci-info@npm:3.9.0" @@ -8638,22 +8352,6 @@ __metadata: languageName: node linkType: hard -"clean-stack@npm:^4.0.0": - version: 4.2.0 - resolution: "clean-stack@npm:4.2.0" - dependencies: - escape-string-regexp: "npm:5.0.0" - checksum: 373f656a31face5c615c0839213b9b542a0a48057abfb1df66900eab4dc2a5c6097628e4a0b5aa559cdfc4e66f8a14ea47be9681773165a44470ef5fb8ccc172 - languageName: node - linkType: hard - -"cli-boxes@npm:^2.2.1": - version: 2.2.1 - resolution: "cli-boxes@npm:2.2.1" - checksum: be79f8ec23a558b49e01311b39a1ea01243ecee30539c880cf14bf518a12e223ef40c57ead0cb44f509bffdffc5c129c746cd50d863ab879385370112af4f585 - languageName: node - linkType: hard - "cli-boxes@npm:^3.0.0": version: 3.0.0 resolution: "cli-boxes@npm:3.0.0" @@ -8661,24 +8359,6 @@ __metadata: languageName: node linkType: hard -"cli-cursor@npm:^2.0.0, cli-cursor@npm:^2.1.0": - version: 2.1.0 - resolution: "cli-cursor@npm:2.1.0" - dependencies: - restore-cursor: "npm:^2.0.0" - checksum: d88e97bfdac01046a3ffe7d49f06757b3126559d7e44aa2122637eb179284dc6cd49fca2fac4f67c19faaf7e6dab716b6fe1dfcd309977407d8c7578ec2d044d - languageName: node - linkType: hard - -"cli-cursor@npm:^3.1.0": - version: 3.1.0 - resolution: "cli-cursor@npm:3.1.0" - dependencies: - restore-cursor: "npm:^3.1.0" - checksum: 2692784c6cd2fd85cfdbd11f53aea73a463a6d64a77c3e098b2b4697a20443f430c220629e1ca3b195ea5ac4a97a74c2ee411f3807abf6df2b66211fec0c0a29 - languageName: node - linkType: hard - "cli-cursor@npm:^4.0.0": version: 4.0.0 resolution: "cli-cursor@npm:4.0.0" @@ -8704,16 +8384,6 @@ __metadata: languageName: node linkType: hard -"cli-truncate@npm:^0.2.1": - version: 0.2.1 - resolution: "cli-truncate@npm:0.2.1" - dependencies: - slice-ansi: "npm:0.0.4" - string-width: "npm:^1.0.1" - checksum: c2b0de7c08915eab1e660884251411ad31691c5036a876f98e1bf747f1c165dc8345afdba92b7efb3678478c9fc17c9c9c47c76d181e35478aaa1047459f98aa - languageName: node - linkType: hard - "cli-truncate@npm:^3.1.0": version: 3.1.0 resolution: "cli-truncate@npm:3.1.0" @@ -8724,20 +8394,6 @@ __metadata: languageName: node linkType: hard -"cli-width@npm:^2.0.0": - version: 2.2.1 - resolution: "cli-width@npm:2.2.1" - checksum: e173dbe2bb70821dfc6a790183c949ed41cfc573bbabd700db64c6e21d19d8ce937dce84340b6bc225fb4ac99d9aaa54a46dcce5150e7cbd9b7ad7120301ee8d - languageName: node - linkType: hard - -"cli-width@npm:^3.0.0": - version: 3.0.0 - resolution: "cli-width@npm:3.0.0" - checksum: 8730848b04fb189666ab037a35888d191c8f05b630b1d770b0b0e4c920b47bb5cc14bddf6b8ffe5bfc66cee97c8211d4d18e756c1ffcc75d7dbe7e1186cd7826 - languageName: node - linkType: hard - "clipboardy@npm:3.0.0": version: 3.0.0 resolution: "clipboardy@npm:3.0.0" @@ -8791,15 +8447,6 @@ __metadata: languageName: node linkType: hard -"clone-response@npm:^1.0.2": - version: 1.0.3 - resolution: "clone-response@npm:1.0.3" - dependencies: - mimic-response: "npm:^1.0.0" - checksum: 4e671cac39b11c60aa8ba0a450657194a5d6504df51bca3fac5b3bd0145c4f8e8464898f87c8406b83232e3bc5cca555f51c1f9c8ac023969ebfbf7f6bdabb2e - languageName: node - linkType: hard - "clone@npm:^1.0.2": version: 1.0.4 resolution: "clone@npm:1.0.4" @@ -8859,13 +8506,6 @@ __metadata: languageName: node linkType: hard -"code-point-at@npm:^1.0.0": - version: 1.1.0 - resolution: "code-point-at@npm:1.1.0" - checksum: 17d5666611f9b16d64fdf48176d9b7fb1c7d1c1607a189f7e600040a11a6616982876af148230336adb7d8fe728a559f743a4e29db3747e3b1a32fa7f4529681 - languageName: node - linkType: hard - "collect-v8-coverage@npm:^1.0.0": version: 1.0.2 resolution: "collect-v8-coverage@npm:1.0.2" @@ -9076,20 +8716,6 @@ __metadata: languageName: node linkType: hard -"configstore@npm:^5.0.1": - version: 5.0.1 - resolution: "configstore@npm:5.0.1" - dependencies: - dot-prop: "npm:^5.2.0" - graceful-fs: "npm:^4.1.2" - make-dir: "npm:^3.0.0" - unique-string: "npm:^2.0.0" - write-file-atomic: "npm:^3.0.0" - xdg-basedir: "npm:^4.0.0" - checksum: 60ef65d493b63f96e14b11ba7ec072fdbf3d40110a94fb7199d1c287761bdea5c5244e76b2596325f30c1b652213aa75de96ea20afd4a5f82065e61ea090988e - languageName: node - linkType: hard - "confusing-browser-globals@npm:^1.0.11": version: 1.0.11 resolution: "confusing-browser-globals@npm:1.0.11" @@ -9261,24 +8887,6 @@ __metadata: languageName: node linkType: hard -"copyfiles@npm:^2.4.1": - version: 2.4.1 - resolution: "copyfiles@npm:2.4.1" - dependencies: - glob: "npm:^7.0.5" - minimatch: "npm:^3.0.3" - mkdirp: "npm:^1.0.4" - noms: "npm:0.0.0" - through2: "npm:^2.0.1" - untildify: "npm:^4.0.0" - yargs: "npm:^16.1.0" - bin: - copyfiles: copyfiles - copyup: copyfiles - checksum: 17070f88cbeaf62a9355341cb2521bacd48069e1ac8e7f95a3f69c848c53646f16ff0f94807a789e0f3eedc11407ec8d3980a13ab62e2add6ef81d0a5900fd85 - languageName: node - linkType: hard - "core-js-compat@npm:^3.38.0, core-js-compat@npm:^3.38.1": version: 3.38.1 resolution: "core-js-compat@npm:3.38.1" @@ -9791,19 +9399,6 @@ __metadata: languageName: node linkType: hard -"csvtojson@npm:^2.0.10": - version: 2.0.10 - resolution: "csvtojson@npm:2.0.10" - dependencies: - bluebird: "npm:^3.5.1" - lodash: "npm:^4.17.3" - strip-bom: "npm:^2.0.0" - bin: - csvtojson: ./bin/csvtojson - checksum: 253ba22c85b8aeb844896468be702949f515b7c5f76aa675a3a8b5eff965445c9c567951f2e6813e7cc173db71ce25e070523a4fc05e36c428d6cb7f3dc34e04 - languageName: node - linkType: hard - "culvert@npm:^0.1.2": version: 0.1.2 resolution: "culvert@npm:0.1.2" @@ -9876,13 +9471,6 @@ __metadata: languageName: node linkType: hard -"date-fns@npm:^1.27.2": - version: 1.30.1 - resolution: "date-fns@npm:1.30.1" - checksum: 24c0937f4e5704f25627c9d1e92e1fe03cd6165d9f32334b7f923a737a57ef992c287cad0694356071e617fbbfa6bd10dec9192ea9035a3e6d0745b9d1594883 - languageName: node - linkType: hard - "date-fns@npm:^2.29.3, date-fns@npm:^2.30.0": version: 2.30.0 resolution: "date-fns@npm:2.30.0" @@ -9965,13 +9553,6 @@ __metadata: languageName: node linkType: hard -"decamelize@npm:^5.0.0": - version: 5.0.1 - resolution: "decamelize@npm:5.0.1" - checksum: 643e88804c538a334fae303ae1da8b30193b81dad8689643b35e6ab8ab60a3b03492cab6096d8163bd41fd384d969485f0634c000f80af502aa7f4047258d5b4 - languageName: node - linkType: hard - "decimal.js@npm:^10.2.1": version: 10.4.3 resolution: "decimal.js@npm:10.4.3" @@ -9986,24 +9567,6 @@ __metadata: languageName: node linkType: hard -"decompress-response@npm:^3.3.0": - version: 3.3.0 - resolution: "decompress-response@npm:3.3.0" - dependencies: - mimic-response: "npm:^1.0.0" - checksum: 952552ac3bd7de2fc18015086b09468645c9638d98a551305e485230ada278c039c91116e946d07894b39ee53c0f0d5b6473f25a224029344354513b412d7380 - languageName: node - linkType: hard - -"decompress-response@npm:^5.0.0": - version: 5.0.0 - resolution: "decompress-response@npm:5.0.0" - dependencies: - mimic-response: "npm:^2.0.0" - checksum: b46fe6c275b410e6dbf354083b42122b18eb6010c25aa19134f61934110269f715b2dfaf0089e3ef4e2acf5eb477193f8f5d42dbe3cc38adfc43fd090510c765 - languageName: node - linkType: hard - "dedent@npm:^0.7.0": version: 0.7.0 resolution: "dedent@npm:0.7.0" @@ -10083,20 +9646,6 @@ __metadata: languageName: node linkType: hard -"defer-to-connect@npm:^1.0.1": - version: 1.1.3 - resolution: "defer-to-connect@npm:1.1.3" - checksum: 9491b301dcfa04956f989481ba7a43c2231044206269eb4ab64a52d6639ee15b1252262a789eb4239fb46ab63e44d4e408641bae8e0793d640aee55398cb3930 - languageName: node - linkType: hard - -"defer-to-connect@npm:^2.0.0": - version: 2.0.1 - resolution: "defer-to-connect@npm:2.0.1" - checksum: 8a9b50d2f25446c0bfefb55a48e90afd58f85b21bcf78e9207cd7b804354f6409032a1705c2491686e202e64fc05f147aa5aa45f9aa82627563f045937f5791b - languageName: node - linkType: hard - "define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.4": version: 1.1.4 resolution: "define-data-property@npm:1.1.4" @@ -10144,51 +9693,6 @@ __metadata: languageName: node linkType: hard -"del-cli@npm:^5.0.0": - version: 5.1.0 - resolution: "del-cli@npm:5.1.0" - dependencies: - del: "npm:^7.1.0" - meow: "npm:^10.1.3" - bin: - del: cli.js - del-cli: cli.js - checksum: b52b7ce997a5f1591fb420c0931ef24e71cee80788a7750704903f6e82fc846375466bb991655e2ad7234d237a9e8a90545e2ab1d728fba5ad9e67573500b084 - languageName: node - linkType: hard - -"del@npm:^6.0.0": - version: 6.1.1 - resolution: "del@npm:6.1.1" - dependencies: - globby: "npm:^11.0.1" - graceful-fs: "npm:^4.2.4" - is-glob: "npm:^4.0.1" - is-path-cwd: "npm:^2.2.0" - is-path-inside: "npm:^3.0.2" - p-map: "npm:^4.0.0" - rimraf: "npm:^3.0.2" - slash: "npm:^3.0.0" - checksum: 563288b73b8b19a7261c47fd21a330eeab6e2acd7c6208c49790dfd369127120dd7836cdf0c1eca216b77c94782a81507eac6b4734252d3bef2795cb366996b6 - languageName: node - linkType: hard - -"del@npm:^7.1.0": - version: 7.1.0 - resolution: "del@npm:7.1.0" - dependencies: - globby: "npm:^13.1.2" - graceful-fs: "npm:^4.2.10" - is-glob: "npm:^4.0.3" - is-path-cwd: "npm:^3.0.0" - is-path-inside: "npm:^4.0.0" - p-map: "npm:^5.5.0" - rimraf: "npm:^3.0.2" - slash: "npm:^4.0.0" - checksum: 93527e78e95125809ff20a112814b00648ed64af204be1a565862698060c9ec8f5c5fe1a4866725acfde9b0da6423f4b7a7642c1d38cd4b05cbeb643a7b089e3 - languageName: node - linkType: hard - "delayed-stream@npm:~1.0.0": version: 1.0.0 resolution: "delayed-stream@npm:1.0.0" @@ -10495,7 +9999,7 @@ __metadata: languageName: node linkType: hard -"dot-prop@npm:^5.1.0, dot-prop@npm:^5.2.0": +"dot-prop@npm:^5.1.0": version: 5.3.0 resolution: "dot-prop@npm:5.3.0" dependencies: @@ -10504,15 +10008,6 @@ __metadata: languageName: node linkType: hard -"dot-prop@npm:^6.0.1": - version: 6.0.1 - resolution: "dot-prop@npm:6.0.1" - dependencies: - is-obj: "npm:^2.0.0" - checksum: 1200a4f6f81151161b8526c37966d60738cf12619b0ed1f55be01bdb55790bf0a5cd1398b8f2c296dcc07d0a7c2dd0e650baf0b069c367e74bb5df2f6603aba0 - languageName: node - linkType: hard - "dotenv-cli@npm:^7.3.0, dotenv-cli@npm:^7.4.2": version: 7.4.2 resolution: "dotenv-cli@npm:7.4.2" @@ -10562,13 +10057,6 @@ __metadata: languageName: node linkType: hard -"duplexer3@npm:^0.1.4": - version: 0.1.5 - resolution: "duplexer3@npm:0.1.5" - checksum: e677cb4c48f031ca728601d6a20bf6aed4c629d69ef9643cb89c67583d673c4ec9317cc6427501f38bd8c368d3a18f173987cc02bd99d8cf8fe3d94259a22a20 - languageName: node - linkType: hard - "duplexer@npm:^0.1.2, duplexer@npm:~0.1.1": version: 0.1.2 resolution: "duplexer@npm:0.1.2" @@ -10622,13 +10110,6 @@ __metadata: languageName: node linkType: hard -"elegant-spinner@npm:^1.0.1": - version: 1.0.1 - resolution: "elegant-spinner@npm:1.0.1" - checksum: d6a773d950c5d403b5f0fa402787e37dde99989ab6c943558fe8491cf7cd0df0e2747a9ff4d391d5a5f20a447cc9e9a63bdc956354ba47bea462f1603a5b04fe - languageName: node - linkType: hard - "emittery@npm:^0.10.2": version: 0.10.2 resolution: "emittery@npm:0.10.2" @@ -10697,15 +10178,6 @@ __metadata: languageName: node linkType: hard -"end-of-stream@npm:^1.1.0": - version: 1.4.4 - resolution: "end-of-stream@npm:1.4.4" - dependencies: - once: "npm:^1.4.0" - checksum: 530a5a5a1e517e962854a31693dbb5c0b2fc40b46dad2a56a2deec656ca040631124f4795823acc68238147805f8b021abbe221f4afed5ef3c8e8efc2024908b - languageName: node - linkType: hard - "enhanced-resolve@npm:^5.17.1": version: 5.17.1 resolution: "enhanced-resolve@npm:5.17.1" @@ -11141,13 +10613,6 @@ __metadata: languageName: node linkType: hard -"escape-goat@npm:^2.0.0": - version: 2.1.1 - resolution: "escape-goat@npm:2.1.1" - checksum: ce05c70c20dd7007b60d2d644b625da5412325fdb57acf671ba06cb2ab3cd6789e2087026921a05b665b0a03fadee2955e7fc0b9a67da15a6551a980b260eba7 - languageName: node - linkType: hard - "escape-goat@npm:^3.0.0": version: 3.0.0 resolution: "escape-goat@npm:3.0.0" @@ -11169,14 +10634,7 @@ __metadata: languageName: node linkType: hard -"escape-string-regexp@npm:5.0.0": - version: 5.0.0 - resolution: "escape-string-regexp@npm:5.0.0" - checksum: 20daabe197f3cb198ec28546deebcf24b3dbb1a5a269184381b3116d12f0532e06007f4bc8da25669d6a7f8efb68db0758df4cd981f57bc5b57f521a3e12c59e - languageName: node - linkType: hard - -"escape-string-regexp@npm:^1.0.2, escape-string-regexp@npm:^1.0.5": +"escape-string-regexp@npm:^1.0.5": version: 1.0.5 resolution: "escape-string-regexp@npm:1.0.5" checksum: 6092fda75c63b110c706b6a9bfde8a612ad595b628f0bd2147eea1d3406723020810e591effc7db1da91d80a71a737a313567c5abb3813e8d9c71f4aa595b410 @@ -11931,17 +11389,6 @@ __metadata: languageName: node linkType: hard -"external-editor@npm:^3.0.3": - version: 3.1.0 - resolution: "external-editor@npm:3.1.0" - dependencies: - chardet: "npm:^0.7.0" - iconv-lite: "npm:^0.4.24" - tmp: "npm:^0.0.33" - checksum: 776dff1d64a1d28f77ff93e9e75421a81c062983fd1544279d0a32f563c0b18c52abbb211f31262e2827e48edef5c9dc8f960d06dd2d42d1654443b88568056b - languageName: node - linkType: hard - "extrareqp2@npm:^1.0.0": version: 1.0.0 resolution: "extrareqp2@npm:1.0.0" @@ -12079,34 +11526,6 @@ __metadata: languageName: node linkType: hard -"figures@npm:^1.7.0": - version: 1.7.0 - resolution: "figures@npm:1.7.0" - dependencies: - escape-string-regexp: "npm:^1.0.5" - object-assign: "npm:^4.1.0" - checksum: 3a815f8a3b488f818e661694112b4546ddff799aa6a07c864c46dadff923af74021f84d42ded402432a98c3208acebf2d096f3a7cc3d1a7b19a2cdc9cbcaea2e - languageName: node - linkType: hard - -"figures@npm:^2.0.0": - version: 2.0.0 - resolution: "figures@npm:2.0.0" - dependencies: - escape-string-regexp: "npm:^1.0.5" - checksum: 0e5bba8d2b8847c6844a476113d8d283af8757143d7760cc1a5422cceec5e8dd68c15ba50e0847597bc2c4e3865711657aeef394478c6ddce8aed7e0cd18beca - languageName: node - linkType: hard - -"figures@npm:^3.0.0": - version: 3.2.0 - resolution: "figures@npm:3.2.0" - dependencies: - escape-string-regexp: "npm:^1.0.5" - checksum: a3bf94e001be51d3770500789157f067218d4bc681a65e1f69d482de15120bcac822dceb1a7b3803f32e4e3a61a46df44f7f2c8ba95d6375e7491502e0dd3d97 - languageName: node - linkType: hard - "file-entry-cache@npm:^6.0.1": version: 6.0.1 resolution: "file-entry-cache@npm:6.0.1" @@ -12437,12 +11856,14 @@ __metadata: "@testing-library/jest-dom": "npm:^5.16.5" "@testing-library/react": "npm:^13.4.0" "@testing-library/user-event": "npm:^13.5.0" + "@tiptap/extension-text-style": "npm:^2.9.1" "@trpc/client": "npm:^10.45.2" "@trpc/react-query": "npm:^10.45.2" "@trpc/server": "npm:^10.45.2" "@types/cookie-parser": "npm:^1" "@types/cors": "npm:^2.8.13" "@types/express": "npm:^4" + "@types/express-formidable": "npm:^1" "@types/express-session": "npm:^1" "@types/file-saver": "npm:^2.0.5" "@types/get-urls": "npm:^9.1.3" @@ -12463,6 +11884,7 @@ __metadata: "@types/webpack-env": "npm:^1.13.6" "@typescript-eslint/eslint-plugin": "npm:^5.57.1" "@typescript-eslint/parser": "npm:^5.57.1" + "@uidotdev/usehooks": "npm:^2.4.1" "@vitejs/plugin-react": "npm:^4.1.0" adminjs: "npm:^7.8.13" change-case: "npm:^4.1.2" @@ -12476,6 +11898,7 @@ __metadata: eslint-plugin-react-hooks: "npm:^4.6.0" eslint-plugin-react-refresh: "npm:^0.3.5" express: "npm:^4.21.1" + express-formidable: "npm:^1.2.0" express-session: "npm:^1.18.1" file-saver: "npm:^2.0.5" formik: "npm:^2.2.9" @@ -12710,24 +12133,6 @@ __metadata: languageName: node linkType: hard -"get-stream@npm:^4.1.0": - version: 4.1.0 - resolution: "get-stream@npm:4.1.0" - dependencies: - pump: "npm:^3.0.0" - checksum: 12673e8aebc79767d187b203e5bfabb8266304037815d3bcc63b6f8c67c6d4ad0d98d4d4528bcdc1cbea68f1dd91bcbd87827aa3cdcfa9c5fa4a4644716d72c2 - languageName: node - linkType: hard - -"get-stream@npm:^5.0.0, get-stream@npm:^5.1.0": - version: 5.2.0 - resolution: "get-stream@npm:5.2.0" - dependencies: - pump: "npm:^3.0.0" - checksum: 13a73148dca795e41421013da6e3ebff8ccb7fba4d2f023fd0c6da2c166ec4e789bec9774a73a7b49c08daf2cae552f8a3e914042ac23b5f59dd278cc8f9cbfb - languageName: node - linkType: hard - "get-stream@npm:^6.0.0, get-stream@npm:^6.0.1": version: 6.0.1 resolution: "get-stream@npm:6.0.1" @@ -12818,13 +12223,6 @@ __metadata: languageName: node linkType: hard -"github-url-from-git@npm:^1.5.0": - version: 1.5.0 - resolution: "github-url-from-git@npm:1.5.0" - checksum: 928d401865f850e76dec5e604e8aad110c0e7c221362356830e5037332ec3d1c0678b6c0b2dbd6f4df0e8a34a9cd69f85dee1d4c5256bd465b5e61a1c758d23c - languageName: node - linkType: hard - "glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": version: 5.1.2 resolution: "glob-parent@npm:5.1.2" @@ -12866,7 +12264,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.0.5, glob@npm:^7.1.1, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6, glob@npm:^7.2.0": +"glob@npm:^7.1.1, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6, glob@npm:^7.2.0": version: 7.2.3 resolution: "glob@npm:7.2.3" dependencies: @@ -12914,24 +12312,6 @@ __metadata: languageName: node linkType: hard -"global-dirs@npm:^2.0.1": - version: 2.1.0 - resolution: "global-dirs@npm:2.1.0" - dependencies: - ini: "npm:1.3.7" - checksum: f80b74032c0359a6af7f37d153b8ced67710135ed7ab45b03efe688f5792ef859b660561beeb79ecce3106071c2547196c0971dfecdb2332139892129487233d - languageName: node - linkType: hard - -"global-dirs@npm:^3.0.0": - version: 3.0.1 - resolution: "global-dirs@npm:3.0.1" - dependencies: - ini: "npm:2.0.0" - checksum: 70147b80261601fd40ac02a104581432325c1c47329706acd773f3a6ce99bb36d1d996038c85ccacd482ad22258ec233c586b6a91535b1a116b89663d49d6438 - languageName: node - linkType: hard - "global-modules@npm:^2.0.0": version: 2.0.0 resolution: "global-modules@npm:2.0.0" @@ -12978,7 +12358,7 @@ __metadata: languageName: node linkType: hard -"globby@npm:^11.0.1, globby@npm:^11.0.4, globby@npm:^11.1.0": +"globby@npm:^11.0.4, globby@npm:^11.1.0": version: 11.1.0 resolution: "globby@npm:11.1.0" dependencies: @@ -12992,19 +12372,6 @@ __metadata: languageName: node linkType: hard -"globby@npm:^13.1.2": - version: 13.2.2 - resolution: "globby@npm:13.2.2" - dependencies: - dir-glob: "npm:^3.0.1" - fast-glob: "npm:^3.3.0" - ignore: "npm:^5.2.4" - merge2: "npm:^1.4.1" - slash: "npm:^4.0.0" - checksum: 4494a9d2162a7e4d327988b26be66d8eab87d7f59a83219e74b065e2c3ced23698f68fb10482bf9337133819281803fb886d6ae06afbb2affa743623eb0b1949 - languageName: node - linkType: hard - "goober@npm:^2.0.33": version: 2.1.16 resolution: "goober@npm:2.1.16" @@ -13023,49 +12390,7 @@ __metadata: languageName: node linkType: hard -"got@npm:^10.6.0": - version: 10.7.0 - resolution: "got@npm:10.7.0" - dependencies: - "@sindresorhus/is": "npm:^2.0.0" - "@szmarczak/http-timer": "npm:^4.0.0" - "@types/cacheable-request": "npm:^6.0.1" - cacheable-lookup: "npm:^2.0.0" - cacheable-request: "npm:^7.0.1" - decompress-response: "npm:^5.0.0" - duplexer3: "npm:^0.1.4" - get-stream: "npm:^5.0.0" - lowercase-keys: "npm:^2.0.0" - mimic-response: "npm:^2.1.0" - p-cancelable: "npm:^2.0.0" - p-event: "npm:^4.0.0" - responselike: "npm:^2.0.0" - to-readable-stream: "npm:^2.0.0" - type-fest: "npm:^0.10.0" - checksum: c1d08073fd39e12c372b0930452f0ebedcedb4a8a84f6b069475fb0cc6c21704b81db6856c8017b3252a6430edeea8c66eb60047540b0f51da1be21795dff7a4 - languageName: node - linkType: hard - -"got@npm:^9.6.0": - version: 9.6.0 - resolution: "got@npm:9.6.0" - dependencies: - "@sindresorhus/is": "npm:^0.14.0" - "@szmarczak/http-timer": "npm:^1.1.2" - cacheable-request: "npm:^6.0.0" - decompress-response: "npm:^3.3.0" - duplexer3: "npm:^0.1.4" - get-stream: "npm:^4.1.0" - lowercase-keys: "npm:^1.0.1" - mimic-response: "npm:^1.0.1" - p-cancelable: "npm:^1.0.0" - to-readable-stream: "npm:^1.0.0" - url-parse-lax: "npm:^3.0.0" - checksum: fae3273b44392b6b1d88071d04ea984784e63dbf8ba3f70b04cb7edda53c7668ee17288ac46af507a9f2aa60c183c5ea1732339141d253dda3eb19f92985c771 - languageName: node - linkType: hard - -"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.10, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": +"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: bf152d0ed1dc159239db1ba1f74fdbc40cb02f626770dcd5815c427ce0688c2635a06ed69af364396da4636d0408fcf7d4afdf7881724c3307e46aff30ca49e2 @@ -13141,15 +12466,6 @@ __metadata: languageName: node linkType: hard -"has-ansi@npm:^2.0.0": - version: 2.0.0 - resolution: "has-ansi@npm:2.0.0" - dependencies: - ansi-regex: "npm:^2.0.0" - checksum: 1b51daa0214440db171ff359d0a2d17bc20061164c57e76234f614c91dbd2a79ddd68dfc8ee73629366f7be45a6df5f2ea9de83f52e1ca24433f2cc78c35d8ec - languageName: node - linkType: hard - "has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2": version: 1.0.2 resolution: "has-bigints@npm:1.0.2" @@ -13210,13 +12526,6 @@ __metadata: languageName: node linkType: hard -"has-yarn@npm:^2.1.0": - version: 2.1.0 - resolution: "has-yarn@npm:2.1.0" - checksum: 5eb1d0bb8518103d7da24532bdbc7124ffc6d367b5d3c10840b508116f2f1bcbcf10fd3ba843ff6e2e991bdf9969fd862d42b2ed58aade88343326c950b7e7f7 - languageName: node - linkType: hard - "has@npm:^1.0.3": version: 1.0.4 resolution: "has@npm:1.0.4" @@ -13275,15 +12584,6 @@ __metadata: languageName: node linkType: hard -"hosted-git-info@npm:^3.0.7": - version: 3.0.8 - resolution: "hosted-git-info@npm:3.0.8" - dependencies: - lru-cache: "npm:^6.0.0" - checksum: fac26fe551d87f271b31e80e5a7519cbb50a3c30ea89cad734da8068930f27288a049258e6ed9c39e20ebec9cf4b67c5cb02055bd73230962ef34db0d45da3e7 - languageName: node - linkType: hard - "hosted-git-info@npm:^4.0.1": version: 4.1.0 resolution: "hosted-git-info@npm:4.1.0" @@ -13457,7 +12757,7 @@ __metadata: languageName: node linkType: hard -"http-cache-semantics@npm:^4.0.0, http-cache-semantics@npm:^4.1.1": +"http-cache-semantics@npm:^4.1.1": version: 4.1.1 resolution: "http-cache-semantics@npm:4.1.1" checksum: 362d5ed66b12ceb9c0a328fb31200b590ab1b02f4a254a697dc796850cc4385603e75f53ec59f768b2dad3bfa1464bd229f7de278d2899a0e3beffc634b6683f @@ -13665,7 +12965,7 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:0.4.24, iconv-lite@npm:^0.4.24, iconv-lite@npm:^0.4.4": +"iconv-lite@npm:0.4.24, iconv-lite@npm:^0.4.4": version: 0.4.24 resolution: "iconv-lite@npm:0.4.24" dependencies: @@ -13715,16 +13015,7 @@ __metadata: languageName: node linkType: hard -"ignore-walk@npm:^3.0.3": - version: 3.0.4 - resolution: "ignore-walk@npm:3.0.4" - dependencies: - minimatch: "npm:^3.0.4" - checksum: 4f56a0a40aa1c8784955c106c13953d042f0ae0b71139af392d57452cbcc74ea5abe45b5c61c88b822b879d34f4dcad626828acd41eb52f9637a4552c182ef7b - languageName: node - linkType: hard - -"ignore@npm:^5.2.0, ignore@npm:^5.2.4": +"ignore@npm:^5.2.0": version: 5.3.2 resolution: "ignore@npm:5.3.2" checksum: cceb6a457000f8f6a50e1196429750d782afce5680dd878aa4221bd79972d68b3a55b4b1458fc682be978f4d3c6a249046aa0880637367216444ab7b014cfc98 @@ -13755,13 +13046,6 @@ __metadata: languageName: node linkType: hard -"import-lazy@npm:^2.1.0": - version: 2.1.0 - resolution: "import-lazy@npm:2.1.0" - checksum: 05294f3b9dd4971d3a996f0d2f176410fb6745d491d6e73376429189f5c1c3d290548116b2960a7cf3e89c20cdf11431739d1d2d8c54b84061980795010e803a - languageName: node - linkType: hard - "import-local@npm:^3.0.2": version: 3.2.0 resolution: "import-local@npm:3.2.0" @@ -13781,13 +13065,6 @@ __metadata: languageName: node linkType: hard -"indent-string@npm:^3.0.0": - version: 3.2.0 - resolution: "indent-string@npm:3.2.0" - checksum: a0b72603bba6c985d367fda3a25aad16423d2056b22a7e83ee2dd9ce0ce3d03d1e078644b679087aa7edf1cfb457f0d96d9eeadc0b12f38582088cc00e995d2f - languageName: node - linkType: hard - "indent-string@npm:^4.0.0": version: 4.0.0 resolution: "indent-string@npm:4.0.0" @@ -13795,13 +13072,6 @@ __metadata: languageName: node linkType: hard -"indent-string@npm:^5.0.0": - version: 5.0.0 - resolution: "indent-string@npm:5.0.0" - checksum: e466c27b6373440e6d84fbc19e750219ce25865cb82d578e41a6053d727e5520dc5725217d6eb1cc76005a1bb1696a0f106d84ce7ebda3033b963a38583fb3b3 - languageName: node - linkType: hard - "inflation@npm:^2.0.0": version: 2.1.0 resolution: "inflation@npm:2.1.0" @@ -13819,7 +13089,7 @@ __metadata: languageName: node linkType: hard -"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.1, inherits@npm:~2.0.3": +"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3": version: 2.0.4 resolution: "inherits@npm:2.0.4" checksum: cd45e923bee15186c07fa4c89db0aace24824c482fb887b528304694b2aa6ff8a898da8657046a5dcf3e46cd6db6c61629551f9215f208d7c3f157cf9b290521 @@ -13833,20 +13103,6 @@ __metadata: languageName: node linkType: hard -"ini@npm:1.3.7": - version: 1.3.7 - resolution: "ini@npm:1.3.7" - checksum: dc1239eb9a3bf8a77515be673674d7b94eb78bf6164a506dba2ad2eb7058d0f098025eb79ce30084f6b0eb0feab379753bbd7a856e7ebddbee9a958e42476c64 - languageName: node - linkType: hard - -"ini@npm:2.0.0": - version: 2.0.0 - resolution: "ini@npm:2.0.0" - checksum: 04e24ba05c4f6947e15560824e153b4610bceea2f5a3ab68651d221a4aab3c77d4e3e90a917ebc8bf5ad71a30a8575de56c39d6b4c4b1375a28016b9f3625f9d - languageName: node - linkType: hard - "ini@npm:^1.3.4, ini@npm:^1.3.5, ini@npm:~1.3.0": version: 1.3.8 resolution: "ini@npm:1.3.8" @@ -13854,59 +13110,6 @@ __metadata: languageName: node linkType: hard -"inquirer-autosubmit-prompt@npm:^0.2.0": - version: 0.2.0 - resolution: "inquirer-autosubmit-prompt@npm:0.2.0" - dependencies: - chalk: "npm:^2.4.1" - inquirer: "npm:^6.2.1" - rxjs: "npm:^6.3.3" - checksum: 5f12bd6f5393d3f505f064f1225ea8263fe2e32f7e3715a9361c0b9c9d1276c9f2308b30f269099fb3ef7059c0e365aaf216c5fa376217f417c357fbac266c52 - languageName: node - linkType: hard - -"inquirer@npm:^6.2.1": - version: 6.5.2 - resolution: "inquirer@npm:6.5.2" - dependencies: - ansi-escapes: "npm:^3.2.0" - chalk: "npm:^2.4.2" - cli-cursor: "npm:^2.1.0" - cli-width: "npm:^2.0.0" - external-editor: "npm:^3.0.3" - figures: "npm:^2.0.0" - lodash: "npm:^4.17.12" - mute-stream: "npm:0.0.7" - run-async: "npm:^2.2.0" - rxjs: "npm:^6.4.0" - string-width: "npm:^2.1.0" - strip-ansi: "npm:^5.1.0" - through: "npm:^2.3.6" - checksum: 4041bbc2759bd579882f609c703aa3ce2faac47f0403008aec590d859d804cca085fe00d034bdce4282a290135a2f2d657653e6593652bd068e9b5571674825b - languageName: node - linkType: hard - -"inquirer@npm:^7.0.0, inquirer@npm:^7.3.3": - version: 7.3.3 - resolution: "inquirer@npm:7.3.3" - dependencies: - ansi-escapes: "npm:^4.2.1" - chalk: "npm:^4.1.0" - cli-cursor: "npm:^3.1.0" - cli-width: "npm:^3.0.0" - external-editor: "npm:^3.0.3" - figures: "npm:^3.0.0" - lodash: "npm:^4.17.19" - mute-stream: "npm:0.0.8" - run-async: "npm:^2.4.0" - rxjs: "npm:^6.6.0" - string-width: "npm:^4.1.0" - strip-ansi: "npm:^6.0.0" - through: "npm:^2.3.6" - checksum: 052c6fce2d467343ced6500080b4b70eaf2ca996933fc3b5c9b0dd1ea275dd9c2a1070880f5f163f42bd13acf25c1ab8ab384444c1a413050db34aab69112583 - languageName: node - linkType: hard - "install-artifact-from-github@npm:^1.3.5": version: 1.3.5 resolution: "install-artifact-from-github@npm:1.3.5" @@ -14037,17 +13240,6 @@ __metadata: languageName: node linkType: hard -"is-ci@npm:^2.0.0": - version: 2.0.0 - resolution: "is-ci@npm:2.0.0" - dependencies: - ci-info: "npm:^2.0.0" - bin: - is-ci: bin.js - checksum: 77b869057510f3efa439bbb36e9be429d53b3f51abd4776eeea79ab3b221337fe1753d1e50058a9e2c650d38246108beffb15ccfd443929d77748d8c0cc90144 - languageName: node - linkType: hard - "is-core-module@npm:^2.13.0, is-core-module@npm:^2.15.1, is-core-module@npm:^2.5.0": version: 2.15.1 resolution: "is-core-module@npm:2.15.1" @@ -14100,22 +13292,6 @@ __metadata: languageName: node linkType: hard -"is-fullwidth-code-point@npm:^1.0.0": - version: 1.0.0 - resolution: "is-fullwidth-code-point@npm:1.0.0" - dependencies: - number-is-nan: "npm:^1.0.0" - checksum: 4d46a7465a66a8aebcc5340d3b63a56602133874af576a9ca42c6f0f4bd787a743605771c5f246db77da96605fefeffb65fc1dbe862dcc7328f4b4d03edf5a57 - languageName: node - linkType: hard - -"is-fullwidth-code-point@npm:^2.0.0": - version: 2.0.0 - resolution: "is-fullwidth-code-point@npm:2.0.0" - checksum: eef9c6e15f68085fec19ff6a978a6f1b8f48018fd1265035552078ee945573594933b09bbd6f562553e2a241561439f1ef5339276eba68d272001343084cfab8 - languageName: node - linkType: hard - "is-fullwidth-code-point@npm:^3.0.0": version: 3.0.0 resolution: "is-fullwidth-code-point@npm:3.0.0" @@ -14162,33 +13338,6 @@ __metadata: languageName: node linkType: hard -"is-installed-globally@npm:^0.3.2": - version: 0.3.2 - resolution: "is-installed-globally@npm:0.3.2" - dependencies: - global-dirs: "npm:^2.0.1" - is-path-inside: "npm:^3.0.1" - checksum: 03ebad377d6002c5a0c6d9530071268d12ceff00205f80402050f2794692cadcb158c8f60d396ddf4a4751eb2add6b0305eb808632d6d40cb3e9c79bd7bdff7a - languageName: node - linkType: hard - -"is-installed-globally@npm:^0.4.0": - version: 0.4.0 - resolution: "is-installed-globally@npm:0.4.0" - dependencies: - global-dirs: "npm:^3.0.0" - is-path-inside: "npm:^3.0.2" - checksum: 5294d21c82cb9beedd693ce1dfb12117c4db36d6e35edc9dc6bf06cb300d23c96520d1bfb063386b054268ae3d7255c3f09393b52218cc26ace99b217bf37c93 - languageName: node - linkType: hard - -"is-interactive@npm:^1.0.0": - version: 1.0.0 - resolution: "is-interactive@npm:1.0.0" - checksum: 824808776e2d468b2916cdd6c16acacebce060d844c35ca6d82267da692e92c3a16fdba624c50b54a63f38bdc4016055b6f443ce57d7147240de4f8cdabaf6f9 - languageName: node - linkType: hard - "is-interactive@npm:^2.0.0": version: 2.0.0 resolution: "is-interactive@npm:2.0.0" @@ -14224,13 +13373,6 @@ __metadata: languageName: node linkType: hard -"is-npm@npm:^5.0.0": - version: 5.0.0 - resolution: "is-npm@npm:5.0.0" - checksum: 9baff02b0c69a3d3c79b162cb2f9e67fb40ef6d172c16601b2e2471c21e9a4fa1fc9885a308d7bc6f3a3cd2a324c27fa0bf284c133c3349bb22571ab70d041cc - languageName: node - linkType: hard - "is-number-object@npm:^1.0.4": version: 1.0.7 resolution: "is-number-object@npm:1.0.7" @@ -14261,43 +13403,13 @@ __metadata: languageName: node linkType: hard -"is-observable@npm:^1.1.0": - version: 1.1.0 - resolution: "is-observable@npm:1.1.0" - dependencies: - symbol-observable: "npm:^1.1.0" - checksum: ab3d7e740915e6b53a81d96ce7d581f4dd26dacceb95278b74e7bf3123221073ea02cde810f864cff94ed5c394f18248deefd6a8f2d40137d868130eb5be6f85 - languageName: node - linkType: hard - -"is-path-cwd@npm:^2.2.0": - version: 2.2.0 - resolution: "is-path-cwd@npm:2.2.0" - checksum: 46a840921bb8cc0dc7b5b423a14220e7db338072a4495743a8230533ce78812dc152548c86f4b828411fe98c5451959f07cf841c6a19f611e46600bd699e8048 - languageName: node - linkType: hard - -"is-path-cwd@npm:^3.0.0": - version: 3.0.0 - resolution: "is-path-cwd@npm:3.0.0" - checksum: bc34d13b6a03dfca4a3ab6a8a5ba78ae4b24f4f1db4b2b031d2760c60d0913bd16a4b980dcb4e590adfc906649d5f5132684079a3972bd219da49deebb9adea8 - languageName: node - linkType: hard - -"is-path-inside@npm:^3.0.1, is-path-inside@npm:^3.0.2, is-path-inside@npm:^3.0.3": +"is-path-inside@npm:^3.0.3": version: 3.0.3 resolution: "is-path-inside@npm:3.0.3" checksum: abd50f06186a052b349c15e55b182326f1936c89a78bf6c8f2b707412517c097ce04bc49a0ca221787bc44e1049f51f09a2ffb63d22899051988d3a618ba13e9 languageName: node linkType: hard -"is-path-inside@npm:^4.0.0": - version: 4.0.0 - resolution: "is-path-inside@npm:4.0.0" - checksum: 8810fa11c58e6360b82c3e0d6cd7d9c7d0392d3ac9eb10f980b81f9839f40ac6d1d6d6f05d069db0d227759801228f0b072e1b6c343e4469b065ab5fe0b68fe5 - languageName: node - linkType: hard - "is-plain-obj@npm:^1.1.0": version: 1.1.0 resolution: "is-plain-obj@npm:1.1.0" @@ -14335,13 +13447,6 @@ __metadata: languageName: node linkType: hard -"is-promise@npm:^2.1.0": - version: 2.2.2 - resolution: "is-promise@npm:2.2.2" - checksum: 18bf7d1c59953e0ad82a1ed963fb3dc0d135c8f299a14f89a17af312fc918373136e56028e8831700e1933519630cc2fd4179a777030330fde20d34e96f40c78 - languageName: node - linkType: hard - "is-reference@npm:1.2.1": version: 1.2.1 resolution: "is-reference@npm:1.2.1" @@ -14382,15 +13487,6 @@ __metadata: languageName: node linkType: hard -"is-scoped@npm:^2.1.0": - version: 2.1.0 - resolution: "is-scoped@npm:2.1.0" - dependencies: - scoped-regex: "npm:^2.0.0" - checksum: bc4726ec6c71c10d095e815040e361ce9f75503b9c2b1dadd3af720222034cd35e2601e44002a9e372709abc1dba357195c64977395adac2c100789becc901fb - languageName: node - linkType: hard - "is-set@npm:^2.0.2, is-set@npm:^2.0.3": version: 2.0.3 resolution: "is-set@npm:2.0.3" @@ -14407,13 +13503,6 @@ __metadata: languageName: node linkType: hard -"is-stream@npm:^1.1.0": - version: 1.1.0 - resolution: "is-stream@npm:1.1.0" - checksum: 351aa77c543323c4e111204482808cfad68d2e940515949e31ccd0b010fc13d5fba4b9c230e4887fd24284713040f43e542332fbf172f6b9944b7d62e389c0ec - languageName: node - linkType: hard - "is-stream@npm:^2.0.0": version: 2.0.1 resolution: "is-stream@npm:2.0.1" @@ -14478,13 +13567,6 @@ __metadata: languageName: node linkType: hard -"is-unicode-supported@npm:^0.1.0": - version: 0.1.0 - resolution: "is-unicode-supported@npm:0.1.0" - checksum: a2aab86ee7712f5c2f999180daaba5f361bdad1efadc9610ff5b8ab5495b86e4f627839d085c6530363c6d6d4ecbde340fb8e54bdb83da4ba8e0865ed5513c52 - languageName: node - linkType: hard - "is-unicode-supported@npm:^1.1.0": version: 1.3.0 resolution: "is-unicode-supported@npm:1.3.0" @@ -14492,20 +13574,6 @@ __metadata: languageName: node linkType: hard -"is-url-superb@npm:^4.0.0": - version: 4.0.0 - resolution: "is-url-superb@npm:4.0.0" - checksum: fd55e91c96349acb0d688f95fcb1ac67450e5db934976e3a8ff13ef446841e779a6f4d18b15f02331f05a3429c8fdaba2382ac1ab444059e86e9ffcde1ec8db0 - languageName: node - linkType: hard - -"is-utf8@npm:^0.2.0": - version: 0.2.1 - resolution: "is-utf8@npm:0.2.1" - checksum: 167ccd2be869fc228cc62c1a28df4b78c6b5485d15a29027d3b5dceb09b383e86a3522008b56dcac14b592b22f0a224388718c2505027a994fd8471465de54b3 - languageName: node - linkType: hard - "is-weakmap@npm:^2.0.2": version: 2.0.2 resolution: "is-weakmap@npm:2.0.2" @@ -14532,7 +13600,7 @@ __metadata: languageName: node linkType: hard -"is-wsl@npm:^2.1.1, is-wsl@npm:^2.2.0": +"is-wsl@npm:^2.2.0": version: 2.2.0 resolution: "is-wsl@npm:2.2.0" dependencies: @@ -14541,20 +13609,6 @@ __metadata: languageName: node linkType: hard -"is-yarn-global@npm:^0.3.0": - version: 0.3.0 - resolution: "is-yarn-global@npm:0.3.0" - checksum: bca013d65fee2862024c9fbb3ba13720ffca2fe750095174c1c80922fdda16402b5c233f5ac9e265bc12ecb5446e7b7f519a32d9541788f01d4d44e24d2bf481 - languageName: node - linkType: hard - -"isarray@npm:0.0.1": - version: 0.0.1 - resolution: "isarray@npm:0.0.1" - checksum: 49191f1425681df4a18c2f0f93db3adb85573bcdd6a4482539d98eac9e705d8961317b01175627e860516a2fc45f8f9302db26e5a380a97a520e272e2a40a8d4 - languageName: node - linkType: hard - "isarray@npm:^2.0.5": version: 2.0.5 resolution: "isarray@npm:2.0.5" @@ -14590,13 +13644,6 @@ __metadata: languageName: node linkType: hard -"issue-regex@npm:^3.1.0": - version: 3.1.0 - resolution: "issue-regex@npm:3.1.0" - checksum: 2c7593d53ffa1150ee3b186e8bf5449ed8721d4ff4e20dd5a917f33ce66e591c20ffbf40488b7ac6234bb203647961afab5a1eb8d0d70f829f6e7045dd1a1fb0 - languageName: node - linkType: hard - "istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0": version: 3.2.2 resolution: "istanbul-lib-coverage@npm:3.2.2" @@ -15512,13 +14559,6 @@ __metadata: languageName: node linkType: hard -"json-buffer@npm:3.0.0": - version: 3.0.0 - resolution: "json-buffer@npm:3.0.0" - checksum: 6e364585600598c42f1cc85d1305569aeb1a6a13e7c67960f17b403f087e2700104ec8e49fc681ab6d6278ee4d132ac033f2625c22a9777ed9b83b403b40f23e - languageName: node - linkType: hard - "json-buffer@npm:3.0.1": version: 3.0.1 resolution: "json-buffer@npm:3.0.1" @@ -15575,19 +14615,6 @@ __metadata: languageName: node linkType: hard -"json2csv@npm:^6.0.0-alpha.2": - version: 6.0.0-alpha.2 - resolution: "json2csv@npm:6.0.0-alpha.2" - dependencies: - "@streamparser/json": "npm:^0.0.6" - commander: "npm:^6.2.0" - lodash.get: "npm:^4.4.2" - bin: - json2csv: bin/json2csv.js - checksum: 96cfd24b3bdcc67b6af9242957c339953068f5e5eba9797f9ea1799113e0e7fdca8f96a32c87566dc5d26269e7141921c6f1ed19861178e6959cad3722122aae - languageName: node - linkType: hard - "json5@npm:2.x, json5@npm:^2.1.2, json5@npm:^2.2.0, json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" @@ -15766,16 +14793,7 @@ __metadata: languageName: node linkType: hard -"keyv@npm:^3.0.0": - version: 3.1.0 - resolution: "keyv@npm:3.1.0" - dependencies: - json-buffer: "npm:3.0.0" - checksum: 6de272b3f78975a9a0b12259953c09d5bbe9de9acfd845471ebd758928b523f70563462f0c16a866fe9b447ff5bdebda72c62bc23734eb72cd1fb8f1d7076843 - languageName: node - linkType: hard - -"keyv@npm:^4.0.0, keyv@npm:^4.5.3": +"keyv@npm:^4.5.3": version: 4.5.4 resolution: "keyv@npm:4.5.4" dependencies: @@ -15821,15 +14839,6 @@ __metadata: languageName: node linkType: hard -"latest-version@npm:^5.1.0": - version: 5.1.0 - resolution: "latest-version@npm:5.1.0" - dependencies: - package-json: "npm:^6.3.0" - checksum: fbc72b071eb66c40f652441fd783a9cca62f08bf42433651937f078cd9ef94bf728ec7743992777826e4e89305aef24f234b515e6030503a2cbee7fc9bdc2c0f - languageName: node - linkType: hard - "launch-editor@npm:^2.6.0": version: 2.9.1 resolution: "launch-editor@npm:2.9.1" @@ -15956,55 +14965,6 @@ __metadata: languageName: node linkType: hard -"listr-input@npm:^0.2.1": - version: 0.2.1 - resolution: "listr-input@npm:0.2.1" - dependencies: - inquirer: "npm:^7.0.0" - inquirer-autosubmit-prompt: "npm:^0.2.0" - rxjs: "npm:^6.5.3" - through: "npm:^2.3.8" - checksum: 306be62b52ff3492296b81897791e6bbcb816db9f359403e43f7192137bd2dc9c019e496bc659083808dfaad20f9e0106ce626924f51bdb76ce1c3f49c4e18db - languageName: node - linkType: hard - -"listr-silent-renderer@npm:^1.1.1": - version: 1.1.1 - resolution: "listr-silent-renderer@npm:1.1.1" - checksum: 81982612e4d207be2e69c4dcf2a6e0aaa6080e41bfe0b73e8d0b040dcdb79874248b1040558793a2f0fcc9c2252ec8af47379650f59bf2a7656c11cd5a48c948 - languageName: node - linkType: hard - -"listr-update-renderer@npm:^0.5.0": - version: 0.5.0 - resolution: "listr-update-renderer@npm:0.5.0" - dependencies: - chalk: "npm:^1.1.3" - cli-truncate: "npm:^0.2.1" - elegant-spinner: "npm:^1.0.1" - figures: "npm:^1.7.0" - indent-string: "npm:^3.0.0" - log-symbols: "npm:^1.0.2" - log-update: "npm:^2.3.0" - strip-ansi: "npm:^3.0.1" - peerDependencies: - listr: ^0.14.2 - checksum: 2dddc763837a9086a684545ee9049fcb102d423b0c840ad929471ab461075ed78d5c79f1e8334cd7a76aa9076e7631c04a38733bb4d88c23ca6082c087335864 - languageName: node - linkType: hard - -"listr-verbose-renderer@npm:^0.5.0": - version: 0.5.0 - resolution: "listr-verbose-renderer@npm:0.5.0" - dependencies: - chalk: "npm:^2.4.1" - cli-cursor: "npm:^2.1.0" - date-fns: "npm:^1.27.2" - figures: "npm:^2.0.0" - checksum: 3e504be729f9dd15b40db743e403673b76331774411dbc29d6f48136f6ba8bc1dee645a4e621c1cb781e6e69a58b78cb9aa8c153c7ceccfe4e4ea74d563bca3a - languageName: node - linkType: hard - "listr2@npm:6.6.1": version: 6.6.1 resolution: "listr2@npm:6.6.1" @@ -16024,23 +14984,6 @@ __metadata: languageName: node linkType: hard -"listr@npm:^0.14.3": - version: 0.14.3 - resolution: "listr@npm:0.14.3" - dependencies: - "@samverschueren/stream-to-observable": "npm:^0.3.0" - is-observable: "npm:^1.1.0" - is-promise: "npm:^2.1.0" - is-stream: "npm:^1.1.0" - listr-silent-renderer: "npm:^1.1.1" - listr-update-renderer: "npm:^0.5.0" - listr-verbose-renderer: "npm:^0.5.0" - p-map: "npm:^2.0.0" - rxjs: "npm:^6.3.3" - checksum: 6d5dc899c62b240bd28a22c26e88cf005696786a28e7239adbe044fd9ebcb5261b1503a555c8ba7f45b10d0eabb5d159c91791daee83d803b4caf64fd8adbdf9 - languageName: node - linkType: hard - "load-script@npm:^1.0.0": version: 1.0.0 resolution: "load-script@npm:1.0.0" @@ -16160,13 +15103,6 @@ __metadata: languageName: node linkType: hard -"lodash.get@npm:^4.4.2": - version: 4.4.2 - resolution: "lodash.get@npm:4.4.2" - checksum: 2a4925f6e89bc2c010a77a802d1ba357e17ed1ea03c2ddf6a146429f2856a216663e694a6aa3549a318cbbba3fd8b7decb392db457e6ac0b83dc745ed0a17380 - languageName: node - linkType: hard - "lodash.isequal@npm:^4.5.0": version: 4.5.0 resolution: "lodash.isequal@npm:4.5.0" @@ -16265,39 +15201,13 @@ __metadata: languageName: node linkType: hard -"lodash.zip@npm:^4.2.0": - version: 4.2.0 - resolution: "lodash.zip@npm:4.2.0" - checksum: cb06530d81b520e27f1a5dbd4ec91df22f14977b56c267fa0eea7177eb407a048e5eb9a6baadbb1346ba607503211c36d763a74f933832c224a88b8d984cb4f9 - languageName: node - linkType: hard - -"lodash@npm:^4.17.12, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.3, lodash@npm:^4.7.0": +"lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.7.0": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: c08619c038846ea6ac754abd6dd29d2568aa705feb69339e836dfa8d8b09abbb2f859371e86863eda41848221f9af43714491467b5b0299122431e202bb0c532 languageName: node linkType: hard -"log-symbols@npm:^1.0.2": - version: 1.0.2 - resolution: "log-symbols@npm:1.0.2" - dependencies: - chalk: "npm:^1.0.0" - checksum: 5214ade9381db5d40528c171fdfd459b75cad7040eb6a347294ae47fa80cfebba4adbc3aa73a1c9da744cbfa240dd93b38f80df8615717affeea6c4bb6b8dfe7 - languageName: node - linkType: hard - -"log-symbols@npm:^4.0.0": - version: 4.1.0 - resolution: "log-symbols@npm:4.1.0" - dependencies: - chalk: "npm:^4.1.0" - is-unicode-supported: "npm:^0.1.0" - checksum: fce1497b3135a0198803f9f07464165e9eb83ed02ceb2273930a6f8a508951178d8cf4f0378e9d28300a2ed2bc49050995d2bd5f53ab716bb15ac84d58c6ef74 - languageName: node - linkType: hard - "log-symbols@npm:^5.1.0": version: 5.1.0 resolution: "log-symbols@npm:5.1.0" @@ -16308,17 +15218,6 @@ __metadata: languageName: node linkType: hard -"log-update@npm:^2.3.0": - version: 2.3.0 - resolution: "log-update@npm:2.3.0" - dependencies: - ansi-escapes: "npm:^3.0.0" - cli-cursor: "npm:^2.0.0" - wrap-ansi: "npm:^3.0.1" - checksum: 84fd8e93bfc316eb6ca479a37743f2edcb7563fe5b9161205ce2980f0b3c822717b8f8f1871369697fcb0208521d7b8d00750c594edc3f8a8273dd8b48dd14a3 - languageName: node - linkType: hard - "log-update@npm:^5.0.1": version: 5.0.1 resolution: "log-update@npm:5.0.1" @@ -16359,20 +15258,6 @@ __metadata: languageName: node linkType: hard -"lowercase-keys@npm:^1.0.0, lowercase-keys@npm:^1.0.1": - version: 1.0.1 - resolution: "lowercase-keys@npm:1.0.1" - checksum: 12ba64572dc25ae9ee30d37a11f3a91aea046c1b6b905fdf8ac77e2f268f153ed36e60d39cb3bfa47a89f31d981dae9a8cc9915124a56fe51ff01ed6e8bb68fa - languageName: node - linkType: hard - -"lowercase-keys@npm:^2.0.0": - version: 2.0.0 - resolution: "lowercase-keys@npm:2.0.0" - checksum: 1c233d2da35056e8c49fae8097ee061b8c799b2f02e33c2bf32f9913c7de8fb481ab04dab7df35e94156c800f5f34e99acbf32b21781d87c3aa43ef7b748b79e - languageName: node - linkType: hard - "lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": version: 10.4.3 resolution: "lru-cache@npm:10.4.3" @@ -16451,7 +15336,7 @@ __metadata: languageName: node linkType: hard -"make-dir@npm:^3.0.0, make-dir@npm:^3.0.2, make-dir@npm:^3.1.0": +"make-dir@npm:^3.0.2, make-dir@npm:^3.1.0": version: 3.1.0 resolution: "make-dir@npm:3.1.0" dependencies: @@ -16505,15 +15390,6 @@ __metadata: languageName: node linkType: hard -"map-age-cleaner@npm:^0.1.3": - version: 0.1.3 - resolution: "map-age-cleaner@npm:0.1.3" - dependencies: - p-defer: "npm:^1.0.0" - checksum: cb2804a5bcb3cbdfe4b59066ea6d19f5e7c8c196cd55795ea4c28f792b192e4c442426ae52524e5e1acbccf393d3bddacefc3d41f803e66453f6c4eda3650bc1 - languageName: node - linkType: hard - "map-obj@npm:^1.0.0": version: 1.0.1 resolution: "map-obj@npm:1.0.1" @@ -16521,7 +15397,7 @@ __metadata: languageName: node linkType: hard -"map-obj@npm:^4.0.0, map-obj@npm:^4.1.0": +"map-obj@npm:^4.0.0": version: 4.3.0 resolution: "map-obj@npm:4.3.0" checksum: fbc554934d1a27a1910e842bc87b177b1a556609dd803747c85ece420692380827c6ae94a95cce4407c054fa0964be3bf8226f7f2cb2e9eeee432c7c1985684e @@ -16639,27 +15515,7 @@ __metadata: languageName: node linkType: hard -"meow@npm:^10.1.3": - version: 10.1.5 - resolution: "meow@npm:10.1.5" - dependencies: - "@types/minimist": "npm:^1.2.2" - camelcase-keys: "npm:^7.0.0" - decamelize: "npm:^5.0.0" - decamelize-keys: "npm:^1.1.0" - hard-rejection: "npm:^2.1.0" - minimist-options: "npm:4.1.0" - normalize-package-data: "npm:^3.0.2" - read-pkg-up: "npm:^8.0.0" - redent: "npm:^4.0.0" - trim-newlines: "npm:^4.0.2" - type-fest: "npm:^1.2.2" - yargs-parser: "npm:^20.2.9" - checksum: 4d6d4c233b9405bace4fd6c60db0b5806d7186a047852ddce0748e56a57c75d4fef3ab2603a480bd74595e4e8e3a47b932d737397a62e043da1d3187f1240ff4 - languageName: node - linkType: hard - -"meow@npm:^8.0.0, meow@npm:^8.1.0, meow@npm:^8.1.2": +"meow@npm:^8.0.0, meow@npm:^8.1.2": version: 8.1.2 resolution: "meow@npm:8.1.2" dependencies: @@ -16792,13 +15648,6 @@ __metadata: languageName: node linkType: hard -"mimic-fn@npm:^1.0.0": - version: 1.2.0 - resolution: "mimic-fn@npm:1.2.0" - checksum: 69c08205156a1f4906d9c46f9b4dc08d18a50176352e77fdeb645cedfe9f20c0b19865d465bd2dec27a5c432347f24dc07fc3695e11159d193f892834233e939 - languageName: node - linkType: hard - "mimic-fn@npm:^2.1.0": version: 2.1.0 resolution: "mimic-fn@npm:2.1.0" @@ -16806,13 +15655,6 @@ __metadata: languageName: node linkType: hard -"mimic-fn@npm:^3.0.0": - version: 3.1.0 - resolution: "mimic-fn@npm:3.1.0" - checksum: f7b167f9115b8bbdf2c3ee55dce9149d14be9e54b237259c4bc1d8d0512ea60f25a1b323f814eb1fe8f5a541662804bcfcfff3202ca58df143edb986849d58db - languageName: node - linkType: hard - "mimic-fn@npm:^4.0.0": version: 4.0.0 resolution: "mimic-fn@npm:4.0.0" @@ -16820,21 +15662,7 @@ __metadata: languageName: node linkType: hard -"mimic-response@npm:^1.0.0, mimic-response@npm:^1.0.1": - version: 1.0.1 - resolution: "mimic-response@npm:1.0.1" - checksum: 034c78753b0e622bc03c983663b1cdf66d03861050e0c8606563d149bc2b02d63f62ce4d32be4ab50d0553ae0ffe647fc34d1f5281184c6e1e8cf4d85e8d9823 - languageName: node - linkType: hard - -"mimic-response@npm:^2.0.0, mimic-response@npm:^2.1.0": - version: 2.1.0 - resolution: "mimic-response@npm:2.1.0" - checksum: 014fad6ab936657e5f2f48bd87af62a8e928ebe84472aaf9e14fec4fcb31257a5edff77324d8ac13ddc6685ba5135cf16e381efac324e5f174fb4ddbf902bf07 - languageName: node - linkType: hard - -"min-indent@npm:^1.0.0, min-indent@npm:^1.0.1": +"min-indent@npm:^1.0.0": version: 1.0.1 resolution: "min-indent@npm:1.0.1" checksum: bfc6dd03c5eaf623a4963ebd94d087f6f4bbbfd8c41329a7f09706b0cb66969c4ddd336abeb587bc44bc6f08e13bf90f0b374f9d71f9f01e04adc2cd6f083ef1 @@ -16860,7 +15688,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:3.1.2, minimatch@npm:^3.0.3, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": +"minimatch@npm:3.1.2, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: @@ -17439,7 +16267,7 @@ __metadata: languageName: node linkType: hard -"mkdirp@npm:1.0.4, mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": +"mkdirp@npm:1.0.4, mkdirp@npm:^1.0.3": version: 1.0.4 resolution: "mkdirp@npm:1.0.4" bin: @@ -17559,14 +16387,7 @@ __metadata: languageName: node linkType: hard -"mute-stream@npm:0.0.7": - version: 0.0.7 - resolution: "mute-stream@npm:0.0.7" - checksum: 63c177ae8ba754cf4618be635a3863078767d29a80a931ba714fc08b0a7ac8028bd373ec71b48bb22d91f6e8b62a186206aca79a16c9860d8e1027358f2a7c1a - languageName: node - linkType: hard - -"mute-stream@npm:0.0.8, mute-stream@npm:~0.0.4": +"mute-stream@npm:~0.0.4": version: 0.0.8 resolution: "mute-stream@npm:0.0.8" checksum: a2d2e79dde87e3424ffc8c334472c7f3d17b072137734ca46e6f221131f1b014201cc593b69a38062e974fb2394d3d1cb4349f80f012bbf8b8ac1b28033e515f @@ -17667,15 +16488,6 @@ __metadata: languageName: node linkType: hard -"new-github-release-url@npm:^1.0.0": - version: 1.0.0 - resolution: "new-github-release-url@npm:1.0.0" - dependencies: - type-fest: "npm:^0.4.1" - checksum: 70c8d2fe9b12e3b045cc4e7f57be227686daa55be4697e95439de120b5872c1e3c0f6bc8ea7e0435a107fefc7aadf1b9b985524168ae166c92c3322d9901b68f - languageName: node - linkType: hard - "no-case@npm:^2.2.0": version: 2.3.2 resolution: "no-case@npm:2.3.2" @@ -17824,16 +16636,6 @@ __metadata: languageName: node linkType: hard -"noms@npm:0.0.0": - version: 0.0.0 - resolution: "noms@npm:0.0.0" - dependencies: - inherits: "npm:^2.0.1" - readable-stream: "npm:~1.0.31" - checksum: a05f056dabf764c86472b6b5aad10455f3adcb6971f366cdf36a72b559b29310a940e316bca30802f2804fdd41707941366224f4cba80c4f53071512245bf200 - languageName: node - linkType: hard - "nopt@npm:^7.0.0, nopt@npm:^7.2.0": version: 7.2.1 resolution: "nopt@npm:7.2.1" @@ -17857,7 +16659,7 @@ __metadata: languageName: node linkType: hard -"normalize-package-data@npm:^3.0.0, normalize-package-data@npm:^3.0.2": +"normalize-package-data@npm:^3.0.0": version: 3.0.3 resolution: "normalize-package-data@npm:3.0.3" dependencies: @@ -17883,13 +16685,6 @@ __metadata: languageName: node linkType: hard -"normalize-url@npm:^4.1.0": - version: 4.5.1 - resolution: "normalize-url@npm:4.5.1" - checksum: 20ced2845fcfaa46da74efc0aa39b7bed22f3db39e6e8b844261613082a36a2dcd468decad89fa9313b5464bebab4034f96bda7880e8fc468027fecf6a6fa254 - languageName: node - linkType: hard - "normalize-url@npm:^6.0.1": version: 6.1.0 resolution: "normalize-url@npm:6.1.0" @@ -17924,72 +16719,6 @@ __metadata: languageName: node linkType: hard -"np@npm:^7.7.0": - version: 7.7.0 - resolution: "np@npm:7.7.0" - dependencies: - "@samverschueren/stream-to-observable": "npm:^0.3.1" - any-observable: "npm:^0.5.1" - async-exit-hook: "npm:^2.0.1" - chalk: "npm:^4.1.0" - cosmiconfig: "npm:^7.0.0" - del: "npm:^6.0.0" - escape-goat: "npm:^3.0.0" - escape-string-regexp: "npm:^4.0.0" - execa: "npm:^5.0.0" - github-url-from-git: "npm:^1.5.0" - has-yarn: "npm:^2.1.0" - hosted-git-info: "npm:^3.0.7" - ignore-walk: "npm:^3.0.3" - import-local: "npm:^3.0.2" - inquirer: "npm:^7.3.3" - is-installed-globally: "npm:^0.3.2" - is-interactive: "npm:^1.0.0" - is-scoped: "npm:^2.1.0" - issue-regex: "npm:^3.1.0" - listr: "npm:^0.14.3" - listr-input: "npm:^0.2.1" - log-symbols: "npm:^4.0.0" - meow: "npm:^8.1.0" - minimatch: "npm:^3.0.4" - new-github-release-url: "npm:^1.0.0" - npm-name: "npm:^6.0.1" - onetime: "npm:^5.1.2" - open: "npm:^7.3.0" - ow: "npm:^0.21.0" - p-memoize: "npm:^4.0.1" - p-timeout: "npm:^4.1.0" - pkg-dir: "npm:^5.0.0" - read-pkg-up: "npm:^7.0.1" - rxjs: "npm:^6.6.3" - semver: "npm:^7.3.4" - split: "npm:^1.0.1" - symbol-observable: "npm:^3.0.0" - terminal-link: "npm:^2.1.1" - update-notifier: "npm:^5.0.1" - bin: - np: source/cli.js - checksum: 66d0d6991157d68ddff31ef48d6443289c1beaf9a7799e7edbaafee24a4b4c22c4a51aaeb7552ae363d960326d8f5dab7843f54461ead1382fc477651aedcbf6 - languageName: node - linkType: hard - -"npm-name@npm:^6.0.1": - version: 6.0.1 - resolution: "npm-name@npm:6.0.1" - dependencies: - got: "npm:^10.6.0" - is-scoped: "npm:^2.1.0" - is-url-superb: "npm:^4.0.0" - lodash.zip: "npm:^4.2.0" - org-regex: "npm:^1.0.0" - p-map: "npm:^3.0.0" - registry-auth-token: "npm:^4.0.0" - registry-url: "npm:^5.1.0" - validate-npm-package-name: "npm:^3.0.0" - checksum: a48f12e47b8afe355b5707c92e3f44d7d5b42048f9d97cd3f158ef0243ce75213b83293b3a30fc5fe5599e9508f0485d3b6c8f0589bc014da75480903375f7a0 - languageName: node - linkType: hard - "npm-run-path@npm:^4.0.1": version: 4.0.1 resolution: "npm-run-path@npm:4.0.1" @@ -18036,13 +16765,6 @@ __metadata: languageName: node linkType: hard -"number-is-nan@npm:^1.0.0": - version: 1.0.1 - resolution: "number-is-nan@npm:1.0.1" - checksum: 13656bc9aa771b96cef209ffca31c31a03b507ca6862ba7c3f638a283560620d723d52e626d57892c7fff475f4c36ac07f0600f14544692ff595abff214b9ffb - languageName: node - linkType: hard - "nwsapi@npm:^2.2.0": version: 2.2.13 resolution: "nwsapi@npm:2.2.13" @@ -18050,7 +16772,7 @@ __metadata: languageName: node linkType: hard -"object-assign@npm:^4, object-assign@npm:^4.0.1, object-assign@npm:^4.1.0, object-assign@npm:^4.1.1": +"object-assign@npm:^4, object-assign@npm:^4.0.1, object-assign@npm:^4.1.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" checksum: fcc6e4ea8c7fe48abfbb552578b1c53e0d194086e2e6bbbf59e0a536381a292f39943c6e9628af05b5528aa5e3318bb30d6b2e53cadaf5b8fe9e12c4b69af23f @@ -18208,7 +16930,7 @@ __metadata: languageName: node linkType: hard -"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": +"once@npm:^1.3.0": version: 1.4.0 resolution: "once@npm:1.4.0" dependencies: @@ -18217,15 +16939,6 @@ __metadata: languageName: node linkType: hard -"onetime@npm:^2.0.0": - version: 2.0.1 - resolution: "onetime@npm:2.0.1" - dependencies: - mimic-fn: "npm:^1.0.0" - checksum: 5b4f6079e6b4973244017e157833ab5a7a3de4bd2612d69411e3ee46f61fe8bb57b7c2e243b0b23dbaa5bad7641a15f9100a5c80295ff64c0d87aab5d1576ef9 - languageName: node - linkType: hard - "onetime@npm:^5.1.0, onetime@npm:^5.1.2": version: 5.1.2 resolution: "onetime@npm:5.1.2" @@ -18244,16 +16957,6 @@ __metadata: languageName: node linkType: hard -"open@npm:^7.3.0": - version: 7.4.2 - resolution: "open@npm:7.4.2" - dependencies: - is-docker: "npm:^2.0.0" - is-wsl: "npm:^2.1.1" - checksum: 4fc02ed3368dcd5d7247ad3566433ea2695b0713b041ebc0eeb2f0f9e5d4e29fc2068f5cdd500976b3464e77fe8b61662b1b059c73233ccc601fe8b16d6c1cd6 - languageName: node - linkType: hard - "open@npm:^8.0.9, open@npm:^8.4.0": version: 8.4.2 resolution: "open@npm:8.4.2" @@ -18324,72 +17027,7 @@ __metadata: languageName: node linkType: hard -"org-regex@npm:^1.0.0": - version: 1.0.0 - resolution: "org-regex@npm:1.0.0" - checksum: 9a80181b5af1474dd0a077593808444b353164400f8af92f2b59ed5acf22db67bf402e118b09ee1f1ae45f0538cfcc4ed1da76f8bf07b08a738d573eb6613c2b - languageName: node - linkType: hard - -"os-tmpdir@npm:~1.0.2": - version: 1.0.2 - resolution: "os-tmpdir@npm:1.0.2" - checksum: 5666560f7b9f10182548bf7013883265be33620b1c1b4a4d405c25be2636f970c5488ff3e6c48de75b55d02bde037249fe5dbfbb4c0fb7714953d56aed062e6d - languageName: node - linkType: hard - -"ow@npm:^0.21.0": - version: 0.21.0 - resolution: "ow@npm:0.21.0" - dependencies: - "@sindresorhus/is": "npm:^4.0.0" - callsites: "npm:^3.1.0" - dot-prop: "npm:^6.0.1" - lodash.isequal: "npm:^4.5.0" - type-fest: "npm:^0.20.2" - vali-date: "npm:^1.0.0" - checksum: 96d9f0eb2463cf17586176b82993b4fedb84c43a6963e50bbec04037de4940288b27e4feb07cd080d6d8b7a4a08d51a86712930a608f467dd9a84b3e4e10ce35 - languageName: node - linkType: hard - -"p-cancelable@npm:^1.0.0": - version: 1.1.0 - resolution: "p-cancelable@npm:1.1.0" - checksum: 2db3814fef6d9025787f30afaee4496a8857a28be3c5706432cbad76c688a6db1874308f48e364a42f5317f5e41e8e7b4f2ff5c8ff2256dbb6264bc361704ece - languageName: node - linkType: hard - -"p-cancelable@npm:^2.0.0": - version: 2.1.1 - resolution: "p-cancelable@npm:2.1.1" - checksum: 7f1b64db17fc54acf359167d62898115dcf2a64bf6b3b038e4faf36fc059e5ed762fb9624df8ed04b25bee8de3ab8d72dea9879a2a960cd12e23c420a4aca6ed - languageName: node - linkType: hard - -"p-defer@npm:^1.0.0": - version: 1.0.0 - resolution: "p-defer@npm:1.0.0" - checksum: 1d8fb7138a0ccebb65479160fd93f245303c06c977c976105d75838f7f504a9a6ef11b7e058f98b4c957a6a8df268c616da1ee339285d565f9e5ba00304e027b - languageName: node - linkType: hard - -"p-event@npm:^4.0.0": - version: 4.2.0 - resolution: "p-event@npm:4.2.0" - dependencies: - p-timeout: "npm:^3.1.0" - checksum: d03238ff31f5694f11bd7dcc0eae16c35b1ffb8cad4e5263d5422ba0bd6736dbfdb33b72745ecb6b06b98494db80f49f12c14f5e8da1212bf6a424609ad8d885 - languageName: node - linkType: hard - -"p-finally@npm:^1.0.0": - version: 1.0.0 - resolution: "p-finally@npm:1.0.0" - checksum: 93a654c53dc805dd5b5891bab16eb0ea46db8f66c4bfd99336ae929323b1af2b70a8b0654f8f1eae924b2b73d037031366d645f1fd18b3d30cbd15950cc4b1d4 - languageName: node - linkType: hard - -"p-limit@npm:^2.0.0, p-limit@npm:^2.2.0, p-limit@npm:^2.2.2": +"p-limit@npm:^2.0.0, p-limit@npm:^2.2.0": version: 2.3.0 resolution: "p-limit@npm:2.3.0" dependencies: @@ -18434,55 +17072,12 @@ __metadata: languageName: node linkType: hard -"p-map@npm:^2.0.0": - version: 2.1.0 - resolution: "p-map@npm:2.1.0" - checksum: 9e3ad3c9f6d75a5b5661bcad78c91f3a63849189737cd75e4f1225bf9ac205194e5c44aac2ef6f09562b1facdb9bd1425584d7ac375bfaa17b3f1a142dab936d - languageName: node - linkType: hard - -"p-map@npm:^3.0.0": - version: 3.0.0 - resolution: "p-map@npm:3.0.0" - dependencies: - aggregate-error: "npm:^3.0.0" - checksum: d4a0664d2af05d7e5f6f342e6493d4cad48f7398ac803c5066afb1f8d2010bfc2a83d935689437288f7b1a743772085b8fa0909a8282b5df4210bcda496c37c8 - languageName: node - linkType: hard - "p-map@npm:^4.0.0": version: 4.0.0 resolution: "p-map@npm:4.0.0" dependencies: - aggregate-error: "npm:^3.0.0" - checksum: 7ba4a2b1e24c05e1fc14bbaea0fc6d85cf005ae7e9c9425d4575550f37e2e584b1af97bcde78eacd7559208f20995988d52881334db16cf77bc1bcf68e48ed7c - languageName: node - linkType: hard - -"p-map@npm:^5.5.0": - version: 5.5.0 - resolution: "p-map@npm:5.5.0" - dependencies: - aggregate-error: "npm:^4.0.0" - checksum: 089a709d2525208a965b7907cc8e58af950542629b538198fc142c40e7f36b3b492dd6a46a1279515ccab58bb6f047e04593c0ab5ef4539d312adf7f761edf55 - languageName: node - linkType: hard - -"p-memoize@npm:^4.0.1": - version: 4.0.4 - resolution: "p-memoize@npm:4.0.4" - dependencies: - map-age-cleaner: "npm:^0.1.3" - mimic-fn: "npm:^3.0.0" - p-settle: "npm:^4.1.1" - checksum: d800c8966d6c6332c40ee7a587ea91516fa3274bb80893bfd457a4d81136a96dfc9d26c9fcb8ab0c991769b62ebe53bd216191e99fd02d28b120a3c5fd7836ba - languageName: node - linkType: hard - -"p-reflect@npm:^2.1.0": - version: 2.1.0 - resolution: "p-reflect@npm:2.1.0" - checksum: eed3df781b03ed14527c9ff479f423a9d74cb8f3f68fcd1d9e22a400033db80fb132236ba542b1ea6e7e2948608932e7ecceeb9e8d964f564a3ac2d2d73c4721 + aggregate-error: "npm:^3.0.0" + checksum: 7ba4a2b1e24c05e1fc14bbaea0fc6d85cf005ae7e9c9425d4575550f37e2e584b1af97bcde78eacd7559208f20995988d52881334db16cf77bc1bcf68e48ed7c languageName: node linkType: hard @@ -18496,32 +17091,6 @@ __metadata: languageName: node linkType: hard -"p-settle@npm:^4.1.1": - version: 4.1.1 - resolution: "p-settle@npm:4.1.1" - dependencies: - p-limit: "npm:^2.2.2" - p-reflect: "npm:^2.1.0" - checksum: 83b3dcffef469e572284b2f36ad78db67b271376ef755ed0f91e4ceaf7d81905fb88aeb7e0aa411c7d5cbf74bf9dec8715a241f2d058f712d0f67827140bf1c0 - languageName: node - linkType: hard - -"p-timeout@npm:^3.1.0": - version: 3.2.0 - resolution: "p-timeout@npm:3.2.0" - dependencies: - p-finally: "npm:^1.0.0" - checksum: 3dd0eaa048780a6f23e5855df3dd45c7beacff1f820476c1d0d1bcd6648e3298752ba2c877aa1c92f6453c7dd23faaf13d9f5149fc14c0598a142e2c5e8d649c - languageName: node - linkType: hard - -"p-timeout@npm:^4.1.0": - version: 4.1.0 - resolution: "p-timeout@npm:4.1.0" - checksum: 321fec524c23a754e3f1487f2b0a5516fd32aba960d5610490eac56f8a0114b549a93f9919ffc05aa68956dc52e8330e0519f3ddf951d208d19c845f9cd778de - languageName: node - linkType: hard - "p-try@npm:^2.0.0": version: 2.2.0 resolution: "p-try@npm:2.2.0" @@ -18562,18 +17131,6 @@ __metadata: languageName: node linkType: hard -"package-json@npm:^6.3.0": - version: 6.5.0 - resolution: "package-json@npm:6.5.0" - dependencies: - got: "npm:^9.6.0" - registry-auth-token: "npm:^4.0.0" - registry-url: "npm:^5.0.0" - semver: "npm:^6.2.0" - checksum: adb8e49f352ea0d71a4d351732c3870d57f21e6f3921d69a83dd9ef04b45cdb0a035495826fbe9fb2cb9a7e521484404b7d527c181133867b126588efa1996c6 - languageName: node - linkType: hard - "pako@npm:^0.2.5": version: 0.2.9 resolution: "pako@npm:0.2.9" @@ -18959,15 +17516,6 @@ __metadata: languageName: node linkType: hard -"pkg-dir@npm:^5.0.0": - version: 5.0.0 - resolution: "pkg-dir@npm:5.0.0" - dependencies: - find-up: "npm:^5.0.0" - checksum: b167bb8dac7bbf22b1d5e30ec223e6b064b84b63010c9d49384619a36734caf95ed23ad23d4f9bd975e8e8082b60a83395f43a89bb192df53a7c25a38ecb57d9 - languageName: node - linkType: hard - "pkg-types@npm:^1.0.3, pkg-types@npm:^1.2.0": version: 1.2.1 resolution: "pkg-types@npm:1.2.1" @@ -20005,13 +18553,6 @@ __metadata: languageName: node linkType: hard -"prepend-http@npm:^2.0.0": - version: 2.0.0 - resolution: "prepend-http@npm:2.0.0" - checksum: 7694a9525405447662c1ffd352fcb41b6410c705b739b6f4e3a3e21cf5fdede8377890088e8934436b8b17ba55365a615f153960f30877bf0d0392f9e93503ea - languageName: node - linkType: hard - "prettier-linter-helpers@npm:^1.0.0": version: 1.0.0 resolution: "prettier-linter-helpers@npm:1.0.0" @@ -20444,16 +18985,6 @@ __metadata: languageName: node linkType: hard -"pump@npm:^3.0.0": - version: 3.0.2 - resolution: "pump@npm:3.0.2" - dependencies: - end-of-stream: "npm:^1.1.0" - once: "npm:^1.3.1" - checksum: e0c4216874b96bd25ddf31a0b61a5613e26cc7afa32379217cf39d3915b0509def3565f5f6968fafdad2894c8bbdbd67d340e84f3634b2a29b950cffb6442d9f - languageName: node - linkType: hard - "punycode.js@npm:^2.3.1": version: 2.3.1 resolution: "punycode.js@npm:2.3.1" @@ -20475,15 +19006,6 @@ __metadata: languageName: node linkType: hard -"pupa@npm:^2.1.1": - version: 2.1.1 - resolution: "pupa@npm:2.1.1" - dependencies: - escape-goat: "npm:^2.0.0" - checksum: 49529e50372ffdb0cccf0efa0f3b3cb0a2c77805d0d9cc2725bd2a0f6bb414631e61c93a38561b26be1259550b7bb6c2cb92315aa09c8bf93f3bdcb49f2b2fb7 - languageName: node - linkType: hard - "q@npm:^1.1.2": version: 1.5.1 resolution: "q@npm:1.5.1" @@ -20552,13 +19074,6 @@ __metadata: languageName: node linkType: hard -"quick-lru@npm:^5.1.1": - version: 5.1.1 - resolution: "quick-lru@npm:5.1.1" - checksum: a516faa25574be7947969883e6068dbe4aa19e8ef8e8e0fd96cddd6d36485e9106d85c0041a27153286b0770b381328f4072aa40d3b18a19f5f7d2b78b94b5ed - languageName: node - linkType: hard - "radix3@npm:^1.1.2": version: 1.1.2 resolution: "radix3@npm:1.1.2" @@ -20662,7 +19177,7 @@ __metadata: languageName: node linkType: hard -"rc@npm:1.2.8, rc@npm:^1.0.1, rc@npm:^1.1.6, rc@npm:^1.2.8": +"rc@npm:^1.0.1, rc@npm:^1.1.6": version: 1.2.8 resolution: "rc@npm:1.2.8" dependencies: @@ -21181,17 +19696,6 @@ __metadata: languageName: node linkType: hard -"read-pkg-up@npm:^8.0.0": - version: 8.0.0 - resolution: "read-pkg-up@npm:8.0.0" - dependencies: - find-up: "npm:^5.0.0" - read-pkg: "npm:^6.0.0" - type-fest: "npm:^1.0.1" - checksum: fe4c80401656b40b408884457fffb5a8015c03b1018cfd8e48f8d82a5e9023e24963603aeb2755608d964593e046c15b34d29b07d35af9c7aa478be81805209c - languageName: node - linkType: hard - "read-pkg@npm:^5.2.0": version: 5.2.0 resolution: "read-pkg@npm:5.2.0" @@ -21204,18 +19708,6 @@ __metadata: languageName: node linkType: hard -"read-pkg@npm:^6.0.0": - version: 6.0.0 - resolution: "read-pkg@npm:6.0.0" - dependencies: - "@types/normalize-package-data": "npm:^2.4.0" - normalize-package-data: "npm:^3.0.2" - parse-json: "npm:^5.2.0" - type-fest: "npm:^1.0.1" - checksum: 0cebdff381128e923815c643074a87011070e5fc352bee575d327d6485da3317fab6d802a7b03deeb0be7be8d3ad1640397b3d5d2f044452caf4e8d1736bf94f - languageName: node - linkType: hard - "read@npm:^1.0.4": version: 1.0.7 resolution: "read@npm:1.0.7" @@ -21236,7 +19728,7 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^2.0.1, readable-stream@npm:~2.3.6": +"readable-stream@npm:^2.0.1": version: 2.3.8 resolution: "readable-stream@npm:2.3.8" dependencies: @@ -21264,18 +19756,6 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:~1.0.31": - version: 1.0.34 - resolution: "readable-stream@npm:1.0.34" - dependencies: - core-util-is: "npm:~1.0.0" - inherits: "npm:~2.0.1" - isarray: "npm:0.0.1" - string_decoder: "npm:~0.10.x" - checksum: 20537fca5a8ffd4af0f483be1cce0e981ed8cbb1087e0c762e2e92ae77f1005627272cebed8422f28047b465056aa1961fefd24baf532ca6a3616afea6811ae0 - languageName: node - linkType: hard - "readdirp@npm:~3.6.0": version: 3.6.0 resolution: "readdirp@npm:3.6.0" @@ -21327,16 +19807,6 @@ __metadata: languageName: node linkType: hard -"redent@npm:^4.0.0": - version: 4.0.0 - resolution: "redent@npm:4.0.0" - dependencies: - indent-string: "npm:^5.0.0" - strip-indent: "npm:^4.0.0" - checksum: 6944e7b1d8f3fd28c2515f5c605b9f7f0ea0f4edddf41890bbbdd4d9ee35abb7540c3b278f03ff827bd278bb6ff4a5bd8692ca406b748c5c1c3ce7355e9fbf8f - languageName: node - linkType: hard - "redis@npm:*, redis@npm:^4.6.10": version: 4.7.0 resolution: "redis@npm:4.7.0" @@ -21457,15 +19927,6 @@ __metadata: languageName: node linkType: hard -"registry-auth-token@npm:^4.0.0": - version: 4.2.2 - resolution: "registry-auth-token@npm:4.2.2" - dependencies: - rc: "npm:1.2.8" - checksum: 00d1b1c69f09df52a0bfbaecee71f2ba094d8fd8d1abc325090655b2c6c8a69c969b31525086c10f95126c3452cd4a0c5c9a6832fb08bec5a32a4e224b790cf8 - languageName: node - linkType: hard - "registry-url@npm:3.1.0": version: 3.1.0 resolution: "registry-url@npm:3.1.0" @@ -21475,15 +19936,6 @@ __metadata: languageName: node linkType: hard -"registry-url@npm:^5.0.0, registry-url@npm:^5.1.0": - version: 5.1.0 - resolution: "registry-url@npm:5.1.0" - dependencies: - rc: "npm:^1.2.8" - checksum: bcea86c84a0dbb66467b53187fadebfea79017cddfb4a45cf27530d7275e49082fe9f44301976eb0164c438e395684bcf3dae4819b36ff9d1640d8cc60c73df9 - languageName: node - linkType: hard - "regjsgen@npm:^0.8.0": version: 0.8.0 resolution: "regjsgen@npm:0.8.0" @@ -21687,44 +20139,6 @@ __metadata: languageName: node linkType: hard -"responselike@npm:^1.0.2": - version: 1.0.2 - resolution: "responselike@npm:1.0.2" - dependencies: - lowercase-keys: "npm:^1.0.0" - checksum: 2e9e70f1dcca3da621a80ce71f2f9a9cad12c047145c6ece20df22f0743f051cf7c73505e109814915f23f9e34fb0d358e22827723ee3d56b623533cab8eafcd - languageName: node - linkType: hard - -"responselike@npm:^2.0.0": - version: 2.0.1 - resolution: "responselike@npm:2.0.1" - dependencies: - lowercase-keys: "npm:^2.0.0" - checksum: b122535466e9c97b55e69c7f18e2be0ce3823c5d47ee8de0d9c0b114aa55741c6db8bfbfce3766a94d1272e61bfb1ebf0a15e9310ac5629fbb7446a861b4fd3a - languageName: node - linkType: hard - -"restore-cursor@npm:^2.0.0": - version: 2.0.0 - resolution: "restore-cursor@npm:2.0.0" - dependencies: - onetime: "npm:^2.0.0" - signal-exit: "npm:^3.0.2" - checksum: 482e13d02d834b6e5e3aa90304a8b5e840775d6f06916cc92a50038adf9f098dcc72405b567da8a37e137ae40ad3e31896fa3136ae62f7a426c2fbf53d036536 - languageName: node - linkType: hard - -"restore-cursor@npm:^3.1.0": - version: 3.1.0 - resolution: "restore-cursor@npm:3.1.0" - dependencies: - onetime: "npm:^5.1.0" - signal-exit: "npm:^3.0.2" - checksum: f877dd8741796b909f2a82454ec111afb84eb45890eb49ac947d87991379406b3b83ff9673a46012fca0d7844bb989f45cc5b788254cf1a39b6b5a9659de0630 - languageName: node - linkType: hard - "restore-cursor@npm:^4.0.0": version: 4.0.0 resolution: "restore-cursor@npm:4.0.0" @@ -21962,13 +20376,6 @@ __metadata: languageName: node linkType: hard -"run-async@npm:^2.2.0, run-async@npm:^2.4.0": - version: 2.4.1 - resolution: "run-async@npm:2.4.1" - checksum: c79551224dafa26ecc281cb1efad3510c82c79116aaf681f8a931ce70fdf4ca880d58f97d3b930a38992c7aad7955a08e065b32ec194e1dd49d7790c874ece50 - languageName: node - linkType: hard - "run-parallel@npm:^1.1.9": version: 1.2.0 resolution: "run-parallel@npm:1.2.0" @@ -21985,15 +20392,6 @@ __metadata: languageName: node linkType: hard -"rxjs@npm:^6.3.3, rxjs@npm:^6.4.0, rxjs@npm:^6.5.3, rxjs@npm:^6.6.0, rxjs@npm:^6.6.3": - version: 6.6.7 - resolution: "rxjs@npm:6.6.7" - dependencies: - tslib: "npm:^1.9.0" - checksum: c8263ebb20da80dd7a91c452b9e96a178331f402344bbb40bc772b56340fcd48d13d1f545a1e3d8e464893008c5e306cc42a1552afe0d562b1a6d4e1e6262b03 - languageName: node - linkType: hard - "rxjs@npm:^7.8.1": version: 7.8.1 resolution: "rxjs@npm:7.8.1" @@ -22163,13 +20561,6 @@ __metadata: languageName: node linkType: hard -"scoped-regex@npm:^2.0.0": - version: 2.1.0 - resolution: "scoped-regex@npm:2.1.0" - checksum: 4e820444cb79727bb302d94dafe07999cce18b6026e4866583466821b3d246403034bc46085e1f4b63ec99491b637540a7c74fb2a66c5c4287700ec357d8af86 - languageName: node - linkType: hard - "select-hose@npm:^2.0.0": version: 2.0.0 resolution: "select-hose@npm:2.0.0" @@ -22187,15 +20578,6 @@ __metadata: languageName: node linkType: hard -"semver-diff@npm:^3.1.1": - version: 3.1.1 - resolution: "semver-diff@npm:3.1.1" - dependencies: - semver: "npm:^6.3.0" - checksum: 8bbe5a5d7add2d5e51b72314a9215cd294d71f41cdc2bf6bd59ee76411f3610b576172896f1d191d0d7294cb9f2f847438d2ee158adacc0c224dca79052812fe - languageName: node - linkType: hard - "semver@npm:2 || 3 || 4 || 5, semver@npm:^5.6.0": version: 5.7.2 resolution: "semver@npm:5.7.2" @@ -22225,7 +20607,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^6.0.0, semver@npm:^6.2.0, semver@npm:^6.3.0, semver@npm:^6.3.1": +"semver@npm:^6.0.0, semver@npm:^6.3.0, semver@npm:^6.3.1": version: 6.3.1 resolution: "semver@npm:6.3.1" bin: @@ -22506,13 +20888,6 @@ __metadata: languageName: node linkType: hard -"slice-ansi@npm:0.0.4": - version: 0.0.4 - resolution: "slice-ansi@npm:0.0.4" - checksum: 481d969c6aa771b27d7baacd6fe321751a0b9eb410274bda10ca81ea641bbfe747e428025d6d8f15bd635fdcfd57e8b2d54681ee6b0ce0c40f78644b144759e3 - languageName: node - linkType: hard - "slice-ansi@npm:^5.0.0": version: 5.0.0 resolution: "slice-ansi@npm:5.0.0" @@ -22772,15 +21147,6 @@ __metadata: languageName: node linkType: hard -"split@npm:^1.0.1": - version: 1.0.1 - resolution: "split@npm:1.0.1" - dependencies: - through: "npm:2" - checksum: 12f4554a5792c7e98bb3e22b53c63bfa5ef89aa704353e1db608a55b51f5b12afaad6e4a8ecf7843c15f273f43cdadd67b3705cc43d48a75c2cf4641d51f7e7a - languageName: node - linkType: hard - "sprintf-js@npm:1.1.2": version: 1.1.2 resolution: "sprintf-js@npm:1.1.2" @@ -22952,7 +21318,7 @@ __metadata: languageName: node linkType: hard -"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.0.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.2, string-width@npm:^4.2.3": +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": version: 4.2.3 resolution: "string-width@npm:4.2.3" dependencies: @@ -22963,27 +21329,6 @@ __metadata: languageName: node linkType: hard -"string-width@npm:^1.0.1": - version: 1.0.2 - resolution: "string-width@npm:1.0.2" - dependencies: - code-point-at: "npm:^1.0.0" - is-fullwidth-code-point: "npm:^1.0.0" - strip-ansi: "npm:^3.0.0" - checksum: 5c79439e95bc3bd7233a332c5f5926ab2ee90b23816ed4faa380ce3b2576d7800b0a5bb15ae88ed28737acc7ea06a518c2eef39142dd727adad0e45c776cd37e - languageName: node - linkType: hard - -"string-width@npm:^2.1.0, string-width@npm:^2.1.1": - version: 2.1.1 - resolution: "string-width@npm:2.1.1" - dependencies: - is-fullwidth-code-point: "npm:^2.0.0" - strip-ansi: "npm:^4.0.0" - checksum: d6173abe088c615c8dffaf3861dc5d5906ed3dc2d6fd67ff2bd2e2b5dce7fd683c5240699cf0b1b8aa679a3b3bd6b28b5053c824cb89b813d7f6541d8f89064a - languageName: node - linkType: hard - "string-width@npm:^5.0.0, string-width@npm:^5.0.1, string-width@npm:^5.1.2": version: 5.1.2 resolution: "string-width@npm:5.1.2" @@ -23078,13 +21423,6 @@ __metadata: languageName: node linkType: hard -"string_decoder@npm:~0.10.x": - version: 0.10.31 - resolution: "string_decoder@npm:0.10.31" - checksum: cc43e6b1340d4c7843da0e37d4c87a4084c2342fc99dcf6563c3ec273bb082f0cbd4ebf25d5da19b04fb16400d393885fda830be5128e1c416c73b5a6165f175 - languageName: node - linkType: hard - "string_decoder@npm:~1.1.1": version: 1.1.1 resolution: "string_decoder@npm:1.1.1" @@ -23123,33 +21461,6 @@ __metadata: languageName: node linkType: hard -"strip-ansi@npm:^3.0.0, strip-ansi@npm:^3.0.1": - version: 3.0.1 - resolution: "strip-ansi@npm:3.0.1" - dependencies: - ansi-regex: "npm:^2.0.0" - checksum: 9b974de611ce5075c70629c00fa98c46144043db92ae17748fb780f706f7a789e9989fd10597b7c2053ae8d1513fd707816a91f1879b2f71e6ac0b6a863db465 - languageName: node - linkType: hard - -"strip-ansi@npm:^4.0.0": - version: 4.0.0 - resolution: "strip-ansi@npm:4.0.0" - dependencies: - ansi-regex: "npm:^3.0.0" - checksum: d9186e6c0cf78f25274f6750ee5e4a5725fb91b70fdd79aa5fe648eab092a0ec5b9621b22d69d4534a56319f75d8944efbd84e3afa8d4ad1b9a9491f12c84eca - languageName: node - linkType: hard - -"strip-ansi@npm:^5.1.0": - version: 5.2.0 - resolution: "strip-ansi@npm:5.2.0" - dependencies: - ansi-regex: "npm:^4.1.0" - checksum: bdb5f76ade97062bd88e7723aa019adbfacdcba42223b19ccb528ffb9fb0b89a5be442c663c4a3fb25268eaa3f6ea19c7c3fbae830bd1562d55adccae1fcec46 - languageName: node - linkType: hard - "strip-ansi@npm:^7.0.1": version: 7.1.0 resolution: "strip-ansi@npm:7.1.0" @@ -23159,15 +21470,6 @@ __metadata: languageName: node linkType: hard -"strip-bom@npm:^2.0.0": - version: 2.0.0 - resolution: "strip-bom@npm:2.0.0" - dependencies: - is-utf8: "npm:^0.2.0" - checksum: 08efb746bc67b10814cd03d79eb31bac633393a782e3f35efbc1b61b5165d3806d03332a97f362822cf0d4dd14ba2e12707fcff44fe1c870c48a063a0c9e4944 - languageName: node - linkType: hard - "strip-bom@npm:^3.0.0": version: 3.0.0 resolution: "strip-bom@npm:3.0.0" @@ -23212,15 +21514,6 @@ __metadata: languageName: node linkType: hard -"strip-indent@npm:^4.0.0": - version: 4.0.0 - resolution: "strip-indent@npm:4.0.0" - dependencies: - min-indent: "npm:^1.0.1" - checksum: 06cbcd93da721c46bc13caeb1c00af93a9b18146a1c95927672d2decab6a25ad83662772417cea9317a2507fb143253ecc23c4415b64f5828cef9b638a744598 - languageName: node - linkType: hard - "strip-json-comments@npm:^3.1.1": version: 3.1.1 resolution: "strip-json-comments@npm:3.1.1" @@ -23342,13 +21635,6 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^2.0.0": - version: 2.0.0 - resolution: "supports-color@npm:2.0.0" - checksum: d2957d19e782a806abc3e8616b6648cc1e70c3ebe94fb1c2d43160686f6d79cd7c9f22c4853bc4a362d89d1c249ab6d429788c5f6c83b3086e6d763024bf4581 - languageName: node - linkType: hard - "supports-color@npm:^5.3.0, supports-color@npm:^5.5.0": version: 5.5.0 resolution: "supports-color@npm:5.5.0" @@ -23458,20 +21744,6 @@ __metadata: languageName: node linkType: hard -"symbol-observable@npm:^1.1.0": - version: 1.2.0 - resolution: "symbol-observable@npm:1.2.0" - checksum: 4684327a2fef2453dcd4238b5bd8f69c460a4708fb8c024a824c6a707ca644b2b2a586e36e5197d0d1162ff48e288299a48844a8c46274ffcfd9260e03df7692 - languageName: node - linkType: hard - -"symbol-observable@npm:^3.0.0": - version: 3.0.0 - resolution: "symbol-observable@npm:3.0.0" - checksum: e3191ccffa13e7777faf1f8d9afbd2828c36896b51a1278fc4259418d884f95e392325043c607f2a9ed8902a881d1180c43cf19b3e2cc2b16b7f61a212c9c05b - languageName: node - linkType: hard - "symbol-tree@npm:^3.2.4": version: 3.2.4 resolution: "symbol-tree@npm:3.2.4" @@ -23568,7 +21840,7 @@ __metadata: languageName: node linkType: hard -"terminal-link@npm:^2.0.0, terminal-link@npm:^2.1.1": +"terminal-link@npm:^2.0.0": version: 2.1.1 resolution: "terminal-link@npm:2.1.1" dependencies: @@ -23680,16 +21952,6 @@ __metadata: languageName: node linkType: hard -"through2@npm:^2.0.1": - version: 2.0.5 - resolution: "through2@npm:2.0.5" - dependencies: - readable-stream: "npm:~2.3.6" - xtend: "npm:~4.0.1" - checksum: cd71f7dcdc7a8204fea003a14a433ef99384b7d4e31f5497e1f9f622b3cf3be3691f908455f98723bdc80922a53af7fa10c3b7abbe51c6fd3d536dbc7850e2c4 - languageName: node - linkType: hard - "through2@npm:^4.0.0, through2@npm:^4.0.2": version: 4.0.2 resolution: "through2@npm:4.0.2" @@ -23699,7 +21961,7 @@ __metadata: languageName: node linkType: hard -"through@npm:2, through@npm:>=2.2.7 <3, through@npm:^2.3.6, through@npm:^2.3.8, through@npm:~2.3, through@npm:~2.3.1": +"through@npm:2, through@npm:>=2.2.7 <3, through@npm:~2.3, through@npm:~2.3.1": version: 2.3.8 resolution: "through@npm:2.3.8" checksum: 5da78346f70139a7d213b65a0106f3c398d6bc5301f9248b5275f420abc2c4b1e77c2abc72d218dedc28c41efb2e7c312cb76a7730d04f9c2d37d247da3f4198 @@ -23778,15 +22040,6 @@ __metadata: languageName: node linkType: hard -"tmp@npm:^0.0.33": - version: 0.0.33 - resolution: "tmp@npm:0.0.33" - dependencies: - os-tmpdir: "npm:~1.0.2" - checksum: 09c0abfd165cff29b32be42bc35e80b8c64727d97dedde6550022e88fa9fd39a084660415ed8e3ebaa2aca1ee142f86df8b31d4196d4f81c774a3a20fd4b6abf - languageName: node - linkType: hard - "tmpl@npm:1.0.5": version: 1.0.5 resolution: "tmpl@npm:1.0.5" @@ -23801,20 +22054,6 @@ __metadata: languageName: node linkType: hard -"to-readable-stream@npm:^1.0.0": - version: 1.0.0 - resolution: "to-readable-stream@npm:1.0.0" - checksum: a99e23d49777d9d03686f03cc0bbbcb4648d991648990a98bc93b55cf91a2ae830c41b5efa36802f1c00a34bba93bd33b10346772fd3f49bcf1667a99c85f354 - languageName: node - linkType: hard - -"to-readable-stream@npm:^2.0.0": - version: 2.1.0 - resolution: "to-readable-stream@npm:2.1.0" - checksum: 42039fb968a56af99a7201fe01debb0bc55a585a2ab0b1746e322c339c50f91043b1269cedcc6350d2a5f81ceaa6cff7960704f748a59542d1f2c50aca5ea7b9 - languageName: node - linkType: hard - "to-regex-range@npm:^5.0.1": version: 5.0.1 resolution: "to-regex-range@npm:5.0.1" @@ -23898,13 +22137,6 @@ __metadata: languageName: node linkType: hard -"trim-newlines@npm:^4.0.2": - version: 4.1.1 - resolution: "trim-newlines@npm:4.1.1" - checksum: 5b09f8e329e8f33c1111ef26906332ba7ba7248cde3e26fc054bb3d69f2858bf5feedca9559c572ff91f33e52977c28e0d41c387df6a02a633cbb8c2d8238627 - languageName: node - linkType: hard - "trpc-openapi@npm:^1.2.0": version: 1.2.0 resolution: "trpc-openapi@npm:1.2.0" @@ -24035,7 +22267,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^1.8.1, tslib@npm:^1.9.0, tslib@npm:^1.9.3": +"tslib@npm:^1.8.1, tslib@npm:^1.9.3": version: 1.14.1 resolution: "tslib@npm:1.14.1" checksum: 7dbf34e6f55c6492637adb81b555af5e3b4f9cc6b998fb440dac82d3b42bdc91560a35a5fb75e20e24a076c651438234da6743d139e4feabf0783f3cdfe1dddb @@ -24229,13 +22461,6 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^0.10.0": - version: 0.10.0 - resolution: "type-fest@npm:0.10.0" - checksum: 4c5c11f2a25da3d6ee50e3e0d106a95a5324509418f153750a7955c01ecac9531810ec90b512bdf8295e815d5851a0e1e883c58e292ba44ad9585b3f3b09ef37 - languageName: node - linkType: hard - "type-fest@npm:^0.16.0": version: 0.16.0 resolution: "type-fest@npm:0.16.0" @@ -24264,13 +22489,6 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^0.4.1": - version: 0.4.1 - resolution: "type-fest@npm:0.4.1" - checksum: ee6c77378ab0e5b1cb5a408671b03e3edda52bbba6976dc10daf966e5919adbf9553eb597dd23ff3cdfbed7370e9641441a579369d9de94fe9cc12b14b29ccaf - languageName: node - linkType: hard - "type-fest@npm:^0.6.0": version: 0.6.0 resolution: "type-fest@npm:0.6.0" @@ -24285,7 +22503,7 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^1.0.1, type-fest@npm:^1.0.2, type-fest@npm:^1.2.1, type-fest@npm:^1.2.2": +"type-fest@npm:^1.0.2": version: 1.4.0 resolution: "type-fest@npm:1.4.0" checksum: 89875c247564601c2650bacad5ff80b859007fbdb6c9e43713ae3ffa3f584552eea60f33711dd762e16496a1ab4debd409822627be14097d9a17e39c49db591a @@ -24575,13 +22793,6 @@ __metadata: languageName: node linkType: hard -"untildify@npm:^4.0.0": - version: 4.0.0 - resolution: "untildify@npm:4.0.0" - checksum: 39ced9c418a74f73f0a56e1ba4634b4d959422dff61f4c72a8e39f60b99380c1b45ed776fbaa0a4101b157e4310d873ad7d114e8534ca02609b4916bb4187fb9 - languageName: node - linkType: hard - "upath@npm:^1.2.0": version: 1.2.0 resolution: "upath@npm:1.2.0" @@ -24613,28 +22824,6 @@ __metadata: languageName: node linkType: hard -"update-notifier@npm:^5.0.1": - version: 5.1.0 - resolution: "update-notifier@npm:5.1.0" - dependencies: - boxen: "npm:^5.0.0" - chalk: "npm:^4.1.0" - configstore: "npm:^5.0.1" - has-yarn: "npm:^2.1.0" - import-lazy: "npm:^2.1.0" - is-ci: "npm:^2.0.0" - is-installed-globally: "npm:^0.4.0" - is-npm: "npm:^5.0.0" - is-yarn-global: "npm:^0.3.0" - latest-version: "npm:^5.1.0" - pupa: "npm:^2.1.1" - semver: "npm:^7.3.4" - semver-diff: "npm:^3.1.1" - xdg-basedir: "npm:^4.0.0" - checksum: 9df39e2d4f2e59ea788c719baaacf3d2bdde09d065f00319d52c0af255990e15f98ba40c115fb6246b6b2d5468685f36955ae0679c0b7fec834892fe7db4cab2 - languageName: node - linkType: hard - "upper-case-first@npm:^2.0.2": version: 2.0.2 resolution: "upper-case-first@npm:2.0.2" @@ -24669,15 +22858,6 @@ __metadata: languageName: node linkType: hard -"url-parse-lax@npm:^3.0.0": - version: 3.0.0 - resolution: "url-parse-lax@npm:3.0.0" - dependencies: - prepend-http: "npm:^2.0.0" - checksum: 1040e357750451173132228036aff1fd04abbd43eac1fb3e4fca7495a078bcb8d33cb765fe71ad7e473d9c94d98fd67adca63bd2716c815a2da066198dd37217 - languageName: node - linkType: hard - "url-parse@npm:^1.5.3": version: 1.5.10 resolution: "url-parse@npm:1.5.10" @@ -24839,13 +23019,6 @@ __metadata: languageName: node linkType: hard -"vali-date@npm:^1.0.0": - version: 1.0.0 - resolution: "vali-date@npm:1.0.0" - checksum: 6464369cb77003a966591f2bd17b7c938c480956992e254b3455fd1651a3b7633e23aac8a03b974bbdfbd2357da52b98d46357bb6f292ffd28768a6d3959e61e - languageName: node - linkType: hard - "valid-data-url@npm:^3.0.0": version: 3.0.1 resolution: "valid-data-url@npm:3.0.1" @@ -24863,15 +23036,6 @@ __metadata: languageName: node linkType: hard -"validate-npm-package-name@npm:^3.0.0": - version: 3.0.0 - resolution: "validate-npm-package-name@npm:3.0.0" - dependencies: - builtins: "npm:^1.0.3" - checksum: 6f89bcc91bb0d46e3c756eec2fd33887eeb76c85d20e5d3e452b69fe3ffbd37062704a4e8422735ea82d69fd963451b4f85501a4dc856f384138411ec42608fa - languageName: node - linkType: hard - "vary@npm:^1, vary@npm:~1.1.2": version: 1.1.2 resolution: "vary@npm:1.1.2" @@ -25434,15 +23598,6 @@ __metadata: languageName: node linkType: hard -"widest-line@npm:^3.1.0": - version: 3.1.0 - resolution: "widest-line@npm:3.1.0" - dependencies: - string-width: "npm:^4.0.0" - checksum: 03db6c9d0af9329c37d74378ff1d91972b12553c7d72a6f4e8525fe61563fa7adb0b9d6e8d546b7e059688712ea874edd5ded475999abdeedf708de9849310e0 - languageName: node - linkType: hard - "widest-line@npm:^4.0.1": version: 4.0.1 resolution: "widest-line@npm:4.0.1" @@ -25675,16 +23830,6 @@ __metadata: languageName: node linkType: hard -"wrap-ansi@npm:^3.0.1": - version: 3.0.1 - resolution: "wrap-ansi@npm:3.0.1" - dependencies: - string-width: "npm:^2.1.1" - strip-ansi: "npm:^4.0.0" - checksum: bdd4248faa2142051ed5802c216076b25ada29778100483bb6f16a52a115bf7cb7e595bdbe9f1ed551dcd4822f3e2ece80c9febedc2b65acb2cc649705d47bc2 - languageName: node - linkType: hard - "wrap-ansi@npm:^8.0.1, wrap-ansi@npm:^8.1.0": version: 8.1.0 resolution: "wrap-ansi@npm:8.1.0" @@ -25745,13 +23890,6 @@ __metadata: languageName: node linkType: hard -"xdg-basedir@npm:^4.0.0": - version: 4.0.0 - resolution: "xdg-basedir@npm:4.0.0" - checksum: 0073d5b59a37224ed3a5ac0dd2ec1d36f09c49f0afd769008a6e9cd3cd666bd6317bd1c7ce2eab47e1de285a286bad11a9b038196413cd753b79770361855f3c - languageName: node - linkType: hard - "xml-name-validator@npm:^3.0.0": version: 3.0.0 resolution: "xml-name-validator@npm:3.0.0" @@ -25759,16 +23897,6 @@ __metadata: languageName: node linkType: hard -"xml2js@npm:^0.4.23": - version: 0.4.23 - resolution: "xml2js@npm:0.4.23" - dependencies: - sax: "npm:>=0.6.0" - xmlbuilder: "npm:~11.0.0" - checksum: 52896ef39429f860f32471dd7bb2b89ef25b7e15528e3a4366de0bd5e55a251601565e7814763e70f9e75310c3afe649a42b8826442b74b41eff8a0ae333fccc - languageName: node - linkType: hard - "xml2js@npm:^0.5.0": version: 0.5.0 resolution: "xml2js@npm:0.5.0" @@ -25819,13 +23947,6 @@ __metadata: languageName: node linkType: hard -"xtend@npm:~4.0.1": - version: 4.0.2 - resolution: "xtend@npm:4.0.2" - checksum: ac5dfa738b21f6e7f0dd6e65e1b3155036d68104e67e5d5d1bde74892e327d7e5636a076f625599dc394330a731861e87343ff184b0047fef1360a7ec0a5a36a - languageName: node - linkType: hard - "y18n@npm:^5.0.5": version: 5.0.8 resolution: "y18n@npm:5.0.8" @@ -25870,7 +23991,7 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:20.x, yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.3, yargs-parser@npm:^20.2.9": +"yargs-parser@npm:20.x, yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.3": version: 20.2.9 resolution: "yargs-parser@npm:20.2.9" checksum: 0188f430a0f496551d09df6719a9132a3469e47fe2747208b1dd0ab2bb0c512a95d0b081628bbca5400fb20dbf2fabe63d22badb346cecadffdd948b049f3fcc @@ -25884,7 +24005,7 @@ __metadata: languageName: node linkType: hard -"yargs@npm:^16.1.0, yargs@npm:^16.2.0": +"yargs@npm:^16.2.0": version: 16.2.0 resolution: "yargs@npm:16.2.0" dependencies: