mirror of
https://github.com/docmost/docmost.git
synced 2026-05-10 00:13:36 +08:00
Compare commits
20 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 463480ae67 | |||
| 2449d69fab | |||
| e0d74fcb0e | |||
| 4967849e3a | |||
| 0a447e91bb | |||
| 48e76aa9f4 | |||
| 2bd6422a35 | |||
| 407a1aff3b | |||
| b4bc184cb3 | |||
| 109dbdbe02 | |||
| 2df7de5828 | |||
| 373fc86e47 | |||
| 5052a9ea40 | |||
| cd47c79d86 | |||
| 78746938b7 | |||
| 4d2936627c | |||
| d2ecd28047 | |||
| bb92ca75e9 | |||
| 8f3e2ff663 | |||
| 89f6311e46 |
@@ -30,6 +30,7 @@ SMTP_HOST=127.0.0.1
|
||||
SMTP_PORT=587
|
||||
SMTP_USERNAME=
|
||||
SMTP_PASSWORD=
|
||||
SMTP_SECURE=false
|
||||
|
||||
# Postmark driver config
|
||||
POSTMARK_TOKEN=
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "client",
|
||||
"private": true,
|
||||
"version": "0.2.7",
|
||||
"version": "0.2.10",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"build": "tsc && vite build",
|
||||
|
||||
@@ -23,7 +23,7 @@ const RoleButton = forwardRef<HTMLButtonElement, RoleButtonProps>(
|
||||
),
|
||||
);
|
||||
|
||||
interface SpaceRoleMenuProps {
|
||||
interface RoleMenuProps {
|
||||
roles: IRoleData[];
|
||||
roleName: string;
|
||||
onChange?: (value: string) => void;
|
||||
@@ -35,7 +35,7 @@ export default function RoleSelectMenu({
|
||||
roleName,
|
||||
onChange,
|
||||
disabled,
|
||||
}: SpaceRoleMenuProps) {
|
||||
}: RoleMenuProps) {
|
||||
return (
|
||||
<Menu withArrow>
|
||||
<Menu.Target>
|
||||
|
||||
@@ -4,13 +4,14 @@ import { TextAlign } from "@tiptap/extension-text-align";
|
||||
import { TaskList } from "@tiptap/extension-task-list";
|
||||
import { TaskItem } from "@tiptap/extension-task-item";
|
||||
import { Underline } from "@tiptap/extension-underline";
|
||||
import { Link } from "@tiptap/extension-link";
|
||||
import { Superscript } from "@tiptap/extension-superscript";
|
||||
import SubScript from "@tiptap/extension-subscript";
|
||||
import { Highlight } from "@tiptap/extension-highlight";
|
||||
import { Typography } from "@tiptap/extension-typography";
|
||||
import { TextStyle } from "@tiptap/extension-text-style";
|
||||
import { Color } from "@tiptap/extension-color";
|
||||
import Table from "@tiptap/extension-table";
|
||||
import TableHeader from "@tiptap/extension-table-header";
|
||||
import CodeBlockLowlight from "@tiptap/extension-code-block-lowlight";
|
||||
import SlashCommand from "@/features/editor/extensions/slash-command";
|
||||
import { Collaboration } from "@tiptap/extension-collaboration";
|
||||
@@ -23,8 +24,6 @@ import {
|
||||
DetailsSummary,
|
||||
MathBlock,
|
||||
MathInline,
|
||||
Table,
|
||||
TableHeader,
|
||||
TableCell,
|
||||
TableRow,
|
||||
TrailingNode,
|
||||
@@ -57,6 +56,11 @@ export const mainExtensions = [
|
||||
color: "#70CFF8",
|
||||
},
|
||||
codeBlock: false,
|
||||
code: {
|
||||
HTMLAttributes: {
|
||||
spellcheck: false,
|
||||
},
|
||||
},
|
||||
}),
|
||||
Placeholder.configure({
|
||||
placeholder: ({ node }) => {
|
||||
@@ -66,7 +70,9 @@ export const mainExtensions = [
|
||||
if (node.type.name === "detailsSummary") {
|
||||
return "Toggle title";
|
||||
}
|
||||
return 'Write anything. Enter "/" for commands';
|
||||
if (node.type.name === "paragraph") {
|
||||
return 'Write anything. Enter "/" for commands';
|
||||
}
|
||||
},
|
||||
includeChildren: true,
|
||||
}),
|
||||
@@ -95,10 +101,16 @@ export const mainExtensions = [
|
||||
class: "comment-mark",
|
||||
},
|
||||
}),
|
||||
Table,
|
||||
|
||||
Table.configure({
|
||||
resizable: true,
|
||||
lastColumnResizable: false,
|
||||
allowTableNodeSelection: true,
|
||||
}),
|
||||
TableRow,
|
||||
TableCell,
|
||||
TableHeader,
|
||||
|
||||
MathInline.configure({
|
||||
view: MathInlineView,
|
||||
}),
|
||||
@@ -124,6 +136,9 @@ export const mainExtensions = [
|
||||
}),
|
||||
CodeBlockLowlight.configure({
|
||||
lowlight,
|
||||
HTMLAttributes: {
|
||||
spellcheck: false,
|
||||
},
|
||||
}),
|
||||
Selection,
|
||||
] as any;
|
||||
|
||||
@@ -31,8 +31,6 @@ import TableCellMenu from "@/features/editor/components/table/table-cell-menu.ts
|
||||
import TableMenu from "@/features/editor/components/table/table-menu.tsx";
|
||||
import ImageMenu from "@/features/editor/components/image/image-menu.tsx";
|
||||
import CalloutMenu from "@/features/editor/components/callout/callout-menu.tsx";
|
||||
import { uploadImageAction } from "@/features/editor/components/image/upload-image-action.tsx";
|
||||
import { uploadVideoAction } from "@/features/editor/components/video/upload-video-action.tsx";
|
||||
import VideoMenu from "@/features/editor/components/video/video-menu.tsx";
|
||||
import {
|
||||
handleFileDrop,
|
||||
|
||||
@@ -86,4 +86,22 @@
|
||||
font-weight: 700;
|
||||
}
|
||||
}
|
||||
|
||||
:not(pre) > code {
|
||||
font-family: "JetBrainsMono", var(--mantine-font-family-monospace);
|
||||
line-height: var(--mantine-line-height);
|
||||
padding: 2px calc(var(--mantine-spacing-xs) / 2);
|
||||
border-radius: var(--mantine-radius-sm);
|
||||
margin: 0;
|
||||
|
||||
@mixin where-light {
|
||||
background-color: var(--code-bg, var(--mantine-color-gray-1));
|
||||
color: var(--mantine-color-black);
|
||||
}
|
||||
|
||||
@mixin where-dark {
|
||||
background-color: var(--mantine-color-dark-8);
|
||||
color: var(--mantine-color-gray-4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,6 +20,11 @@
|
||||
outline: none;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-top: 0.65em;
|
||||
margin-bottom: 0.65em;
|
||||
}
|
||||
|
||||
ul,
|
||||
ol {
|
||||
padding: 0 1rem;
|
||||
@@ -27,6 +32,12 @@
|
||||
margin-bottom: 0.25rem;
|
||||
}
|
||||
|
||||
ul p,
|
||||
ol p {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
@@ -80,15 +91,9 @@
|
||||
outline: 2px solid #70cff8;
|
||||
}
|
||||
|
||||
.node-mathInline {
|
||||
.katex-display {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
& > .react-renderer {
|
||||
margin-top: var(--mantine-spacing-xl);
|
||||
margin-bottom: var(--mantine-spacing-xl);
|
||||
margin-top: var(--mantine-spacing-sm);
|
||||
margin-bottom: var(--mantine-spacing-sm);
|
||||
|
||||
&:first-child {
|
||||
margin-top: 0;
|
||||
|
||||
@@ -50,8 +50,7 @@
|
||||
|
||||
[data-type="detailsContainer"] {
|
||||
flex: 1;
|
||||
margin-left: 0.2em;
|
||||
overflow-x: hidden;
|
||||
padding: 4px;
|
||||
word-break: break-word;
|
||||
overflow-wrap: break-word;
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ export default function PageExportModal({
|
||||
<div>
|
||||
<Text size="md">Format</Text>
|
||||
</div>
|
||||
<ExportFormatSelection onChange={handleChange} />
|
||||
<ExportFormatSelection format={format} onChange={handleChange} />
|
||||
</Group>
|
||||
|
||||
<Group justify="center" mt="md">
|
||||
@@ -72,16 +72,17 @@ export default function PageExportModal({
|
||||
}
|
||||
|
||||
interface ExportFormatSelection {
|
||||
format: ExportFormat;
|
||||
onChange: (value: string) => void;
|
||||
}
|
||||
function ExportFormatSelection({ onChange }: ExportFormatSelection) {
|
||||
function ExportFormatSelection({ format, onChange }: ExportFormatSelection) {
|
||||
return (
|
||||
<Select
|
||||
data={[
|
||||
{ value: "markdown", label: "Markdown" },
|
||||
{ value: "html", label: "HTML" },
|
||||
]}
|
||||
defaultValue={ExportFormat.Markdown}
|
||||
defaultValue={format}
|
||||
onChange={onChange}
|
||||
styles={{ wrapper: { maxWidth: 120 } }}
|
||||
comboboxProps={{ width: "120" }}
|
||||
|
||||
@@ -84,14 +84,14 @@ function ImportFormatSelection({ spaceId, onClose }: ImportFormatSelection) {
|
||||
}
|
||||
}
|
||||
|
||||
const newTreeNodes = buildTree(pages);
|
||||
const fullTree = treeData.concat(newTreeNodes);
|
||||
if (pages?.length > 0 && pageCount > 0) {
|
||||
const newTreeNodes = buildTree(pages);
|
||||
const fullTree = treeData.concat(newTreeNodes);
|
||||
|
||||
if (newTreeNodes?.length && fullTree?.length > 0) {
|
||||
setTreeData(fullTree);
|
||||
}
|
||||
if (newTreeNodes?.length && fullTree?.length > 0) {
|
||||
setTreeData(fullTree);
|
||||
}
|
||||
|
||||
if (pageCount > 0) {
|
||||
const pageCountText = pageCount === 1 ? "1 page" : `${pageCount} pages`;
|
||||
|
||||
notifications.update({
|
||||
|
||||
+5
-2
@@ -11,11 +11,14 @@ import {
|
||||
userRoleData,
|
||||
} from "@/features/workspace/types/user-role-data.ts";
|
||||
import useUserRole from "@/hooks/use-user-role.tsx";
|
||||
import { UserRole } from "@/lib/types.ts";
|
||||
|
||||
export default function WorkspaceMembersTable() {
|
||||
const { data, isLoading } = useWorkspaceMembersQuery({ limit: 100 });
|
||||
const changeMemberRoleMutation = useChangeMemberRoleMutation();
|
||||
const { isAdmin } = useUserRole();
|
||||
const { isAdmin, isOwner } = useUserRole();
|
||||
|
||||
const assignableUserRoles = isOwner ? userRoleData : userRoleData.filter((role) => role.value !== UserRole.OWNER);
|
||||
|
||||
const handleRoleChange = async (
|
||||
userId: string,
|
||||
@@ -69,7 +72,7 @@ export default function WorkspaceMembersTable() {
|
||||
|
||||
<Table.Td>
|
||||
<RoleSelectMenu
|
||||
roles={userRoleData}
|
||||
roles={assignableUserRoles}
|
||||
roleName={getUserRoleLabel(user.role)}
|
||||
onChange={(newRole) =>
|
||||
handleRoleChange(user.id, user.role, newRole)
|
||||
|
||||
@@ -53,9 +53,10 @@ export function useChangeMemberRoleMutation() {
|
||||
return useMutation<any, Error, any>({
|
||||
mutationFn: (data) => changeMemberRole(data),
|
||||
onSuccess: (data, variables) => {
|
||||
// TODO: change in cache instead
|
||||
notifications.show({ message: "Member role updated successfully" });
|
||||
queryClient.refetchQueries({
|
||||
queryKey: ["workspaceMembers", variables.spaceId],
|
||||
queryKey: ["workspaceMembers"],
|
||||
});
|
||||
},
|
||||
onError: (error) => {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "server",
|
||||
"version": "0.2.7",
|
||||
"version": "0.2.10",
|
||||
"description": "",
|
||||
"author": "",
|
||||
"private": true,
|
||||
|
||||
@@ -10,6 +10,8 @@ import { Typography } from '@tiptap/extension-typography';
|
||||
import { TextStyle } from '@tiptap/extension-text-style';
|
||||
import { Color } from '@tiptap/extension-color';
|
||||
import { Youtube } from '@tiptap/extension-youtube';
|
||||
import Table from '@tiptap/extension-table';
|
||||
import TableHeader from '@tiptap/extension-table-header';
|
||||
import {
|
||||
Callout,
|
||||
Comment,
|
||||
@@ -19,16 +21,18 @@ import {
|
||||
LinkExtension,
|
||||
MathBlock,
|
||||
MathInline,
|
||||
Table,
|
||||
TableCell,
|
||||
TableHeader,
|
||||
TableRow,
|
||||
TiptapImage,
|
||||
TiptapVideo,
|
||||
TrailingNode,
|
||||
} from '@docmost/editor-ext';
|
||||
import { generateText, JSONContent } from '@tiptap/core';
|
||||
import { generateHTML, generateJSON } from '../common/helpers/prosemirror/html';
|
||||
import { generateHTML } from '../common/helpers/prosemirror/html';
|
||||
// @tiptap/html library works best for generating prosemirror json state but not HTML
|
||||
// see: https://github.com/ueberdosis/tiptap/issues/5352
|
||||
// see:https://github.com/ueberdosis/tiptap/issues/4089
|
||||
import { generateJSON } from '@tiptap/html';
|
||||
|
||||
export const tiptapExtensions = [
|
||||
StarterKit,
|
||||
|
||||
@@ -59,7 +59,7 @@ export class AttachmentService {
|
||||
});
|
||||
} catch (err) {
|
||||
// delete uploaded file on error
|
||||
console.error(err);
|
||||
this.logger.error(err);
|
||||
}
|
||||
|
||||
return attachment;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import {
|
||||
BadRequestException,
|
||||
ForbiddenException,
|
||||
Injectable,
|
||||
NotFoundException,
|
||||
} from '@nestjs/common';
|
||||
@@ -217,11 +218,21 @@ export class WorkspaceService {
|
||||
) {
|
||||
const user = await this.userRepo.findById(userRoleDto.userId, workspaceId);
|
||||
|
||||
const newRole = userRoleDto.role.toLowerCase();
|
||||
|
||||
if (!user) {
|
||||
throw new BadRequestException('Workspace member not found');
|
||||
}
|
||||
|
||||
if (user.role === userRoleDto.role) {
|
||||
// prevent ADMIN from managing OWNER role
|
||||
if (
|
||||
(authUser.role === UserRole.ADMIN && newRole === UserRole.OWNER) ||
|
||||
(authUser.role === UserRole.ADMIN && user.role === UserRole.OWNER)
|
||||
) {
|
||||
throw new ForbiddenException();
|
||||
}
|
||||
|
||||
if (user.role === newRole) {
|
||||
return user;
|
||||
}
|
||||
|
||||
@@ -238,7 +249,7 @@ export class WorkspaceService {
|
||||
|
||||
await this.userRepo.updateUser(
|
||||
{
|
||||
role: userRoleDto.role,
|
||||
role: newRole,
|
||||
},
|
||||
user.id,
|
||||
workspaceId,
|
||||
|
||||
@@ -18,11 +18,11 @@ export function turndown(html: string): string {
|
||||
highlightedCodeBlock,
|
||||
taskList,
|
||||
callout,
|
||||
toggleListTitle,
|
||||
toggleListBody,
|
||||
preserveDetail,
|
||||
listParagraph,
|
||||
mathInline,
|
||||
mathBlock,
|
||||
]);
|
||||
|
||||
return turndownService.turndown(html).replaceAll('<br>', ' ');
|
||||
}
|
||||
|
||||
@@ -72,29 +72,51 @@ function taskList(turndownService: TurndownService) {
|
||||
});
|
||||
}
|
||||
|
||||
function toggleListTitle(turndownService: TurndownService) {
|
||||
turndownService.addRule('toggleListTitle', {
|
||||
function preserveDetail(turndownService: TurndownService) {
|
||||
turndownService.addRule('preserveDetail', {
|
||||
filter: function (node: HTMLInputElement) {
|
||||
return (
|
||||
node.nodeName === 'SUMMARY' && node.parentNode.nodeName === 'DETAILS'
|
||||
);
|
||||
return node.nodeName === 'DETAILS';
|
||||
},
|
||||
replacement: function (content: any, node: HTMLInputElement) {
|
||||
return '- ' + content;
|
||||
// TODO: preserve summary of nested details
|
||||
const summary = node.querySelector(':scope > summary');
|
||||
let detailSummary = '';
|
||||
|
||||
if (summary) {
|
||||
detailSummary = `<summary>${turndownService.turndown(summary.innerHTML)}</summary>`;
|
||||
summary.remove();
|
||||
}
|
||||
|
||||
const detailsContent = turndownService.turndown(node.innerHTML);
|
||||
return `\n<details>\n${detailSummary}\n\n${detailsContent}\n\n</details>\n`;
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
function toggleListBody(turndownService: TurndownService) {
|
||||
turndownService.addRule('toggleListContent', {
|
||||
function mathInline(turndownService: TurndownService) {
|
||||
turndownService.addRule('mathInline', {
|
||||
filter: function (node: HTMLInputElement) {
|
||||
return (
|
||||
node.getAttribute('data-type') === 'detailsContent' &&
|
||||
node.parentNode.nodeName === 'DETAILS'
|
||||
node.nodeName === 'SPAN' &&
|
||||
node.getAttribute('data-type') === 'mathInline'
|
||||
);
|
||||
},
|
||||
replacement: function (content: any, node: HTMLInputElement) {
|
||||
return ` ${content.replace(/\n/g, '\n ')} `;
|
||||
return `$${content}$`;
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
function mathBlock(turndownService: TurndownService) {
|
||||
turndownService.addRule('mathBlock', {
|
||||
filter: function (node: HTMLInputElement) {
|
||||
return (
|
||||
node.nodeName === 'DIV' &&
|
||||
node.getAttribute('data-type') === 'mathBlock'
|
||||
);
|
||||
},
|
||||
replacement: function (content: any, node: HTMLInputElement) {
|
||||
return `\n$$${content}$$\n`;
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ import {
|
||||
} from '../../core/casl/interfaces/space-ability.type';
|
||||
import { FileInterceptor } from '../../common/interceptors/file.interceptor';
|
||||
import * as bytes from 'bytes';
|
||||
import * as path from 'path';
|
||||
import { MAX_FILE_SIZE } from '../../core/attachment/attachment.constants';
|
||||
import { ImportService } from './import.service';
|
||||
import { AuthWorkspace } from '../../common/decorators/auth-workspace.decorator';
|
||||
@@ -42,6 +43,8 @@ export class ImportController {
|
||||
@AuthUser() user: User,
|
||||
@AuthWorkspace() workspace: Workspace,
|
||||
) {
|
||||
const validFileExtensions = ['.md', '.html'];
|
||||
|
||||
const maxFileSize = bytes(MAX_FILE_SIZE);
|
||||
|
||||
let file = null;
|
||||
@@ -62,6 +65,12 @@ export class ImportController {
|
||||
throw new BadRequestException('Failed to upload file');
|
||||
}
|
||||
|
||||
if (
|
||||
!validFileExtensions.includes(path.extname(file.filename).toLowerCase())
|
||||
) {
|
||||
throw new BadRequestException('Invalid import file type.');
|
||||
}
|
||||
|
||||
const spaceId = file.fields?.spaceId?.value;
|
||||
|
||||
if (!spaceId) {
|
||||
|
||||
@@ -3,13 +3,17 @@ import { PageRepo } from '@docmost/db/repos/page/page.repo';
|
||||
import { MultipartFile } from '@fastify/multipart';
|
||||
import { sanitize } from 'sanitize-filename-ts';
|
||||
import * as path from 'path';
|
||||
import { htmlToJson } from '../../collaboration/collaboration.util';
|
||||
import { marked } from 'marked';
|
||||
import {
|
||||
htmlToJson,
|
||||
tiptapExtensions,
|
||||
} from '../../collaboration/collaboration.util';
|
||||
import { InjectKysely } from 'nestjs-kysely';
|
||||
import { KyselyDB } from '@docmost/db/types/kysely.types';
|
||||
import { generateSlugId } from '../../common/helpers';
|
||||
import { generateJitteredKeyBetween } from 'fractional-indexing-jittered';
|
||||
import { transformHTML } from './utils/html.utils';
|
||||
import { markdownToHtml } from './utils/marked.utils';
|
||||
import { TiptapTransformer } from '@hocuspocus/transformer';
|
||||
import * as Y from 'yjs';
|
||||
|
||||
@Injectable()
|
||||
export class ImportService {
|
||||
@@ -30,22 +34,25 @@ export class ImportService {
|
||||
const fileBuffer = await file.toBuffer();
|
||||
const fileName = sanitize(file.filename).slice(0, 255).split('.')[0];
|
||||
const fileExtension = path.extname(file.filename).toLowerCase();
|
||||
const fileMimeType = file.mimetype;
|
||||
const fileContent = fileBuffer.toString();
|
||||
|
||||
let prosemirrorState = null;
|
||||
let createdPage = null;
|
||||
|
||||
if (fileExtension.endsWith('.md') && fileMimeType === 'text/markdown') {
|
||||
prosemirrorState = await this.processMarkdown(fileContent);
|
||||
}
|
||||
|
||||
if (fileExtension.endsWith('.html') && fileMimeType === 'text/html') {
|
||||
prosemirrorState = await this.processHTML(fileContent);
|
||||
try {
|
||||
if (fileExtension.endsWith('.md')) {
|
||||
prosemirrorState = await this.processMarkdown(fileContent);
|
||||
} else if (fileExtension.endsWith('.html')) {
|
||||
prosemirrorState = await this.processHTML(fileContent);
|
||||
}
|
||||
} catch (err) {
|
||||
const message = 'Error processing file content';
|
||||
this.logger.error(message, err);
|
||||
throw new BadRequestException(message);
|
||||
}
|
||||
|
||||
if (!prosemirrorState) {
|
||||
const message = 'Unsupported file format or mime type';
|
||||
const message = 'Failed to create ProseMirror state';
|
||||
this.logger.error(message);
|
||||
throw new BadRequestException(message);
|
||||
}
|
||||
@@ -63,14 +70,19 @@ export class ImportService {
|
||||
slugId: generateSlugId(),
|
||||
title: pageTitle,
|
||||
content: prosemirrorJson,
|
||||
ydoc: await this.createYdoc(prosemirrorJson),
|
||||
position: pagePosition,
|
||||
spaceId: spaceId,
|
||||
creatorId: userId,
|
||||
workspaceId: workspaceId,
|
||||
lastUpdatedById: userId,
|
||||
});
|
||||
|
||||
this.logger.debug(
|
||||
`Successfully imported "${title}${fileExtension}. ID: ${createdPage.id} - SlugId: ${createdPage.slugId}"`,
|
||||
);
|
||||
} catch (err) {
|
||||
const message = 'Failed to create page';
|
||||
const message = 'Failed to create imported page';
|
||||
this.logger.error(message, err);
|
||||
throw new BadRequestException(message);
|
||||
}
|
||||
@@ -80,14 +92,37 @@ export class ImportService {
|
||||
}
|
||||
|
||||
async processMarkdown(markdownInput: string): Promise<any> {
|
||||
// turn markdown to html
|
||||
const html = await marked.parse(markdownInput);
|
||||
return await this.processHTML(html);
|
||||
try {
|
||||
const html = await markdownToHtml(markdownInput);
|
||||
return this.processHTML(html);
|
||||
} catch (err) {
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
|
||||
async processHTML(htmlInput: string): Promise<any> {
|
||||
// turn html to prosemirror state
|
||||
return htmlToJson(transformHTML(htmlInput));
|
||||
try {
|
||||
return htmlToJson(htmlInput);
|
||||
} catch (err) {
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
|
||||
async createYdoc(prosemirrorJson: any): Promise<Buffer | null> {
|
||||
if (prosemirrorJson) {
|
||||
this.logger.debug(`Converting prosemirror json state to ydoc`);
|
||||
|
||||
const ydoc = TiptapTransformer.toYdoc(
|
||||
prosemirrorJson,
|
||||
'default',
|
||||
tiptapExtensions,
|
||||
);
|
||||
|
||||
Y.encodeStateAsUpdate(ydoc);
|
||||
|
||||
return Buffer.from(Y.encodeStateAsUpdate(ydoc));
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
extractTitleAndRemoveHeading(prosemirrorState: any) {
|
||||
|
||||
@@ -1,80 +0,0 @@
|
||||
import { Window, DOMParser } from 'happy-dom';
|
||||
|
||||
function transformTaskList(html: string): string {
|
||||
const window = new Window();
|
||||
const doc = new DOMParser(window).parseFromString(html, 'text/html');
|
||||
|
||||
const ulElements = doc.querySelectorAll('ul');
|
||||
ulElements.forEach((ul) => {
|
||||
let isTaskList = false;
|
||||
|
||||
const liElements = ul.querySelectorAll('li');
|
||||
liElements.forEach((li) => {
|
||||
const checkbox = li.querySelector('input[type="checkbox"]');
|
||||
|
||||
if (checkbox) {
|
||||
isTaskList = true;
|
||||
// Add taskItem data type
|
||||
li.setAttribute('data-type', 'taskItem');
|
||||
// Set data-checked attribute based on the checkbox state
|
||||
// @ts-ignore
|
||||
li.setAttribute('data-checked', checkbox.checked ? 'true' : 'false');
|
||||
// Remove the checkbox from the li
|
||||
checkbox.remove();
|
||||
|
||||
// Move the content of <p> out of the <p> and remove <p>
|
||||
const pElements = li.querySelectorAll('p');
|
||||
pElements.forEach((p) => {
|
||||
// Append the content of the <p> element to its parent (the <li> element)
|
||||
while (p.firstChild) {
|
||||
li.appendChild(p.firstChild);
|
||||
}
|
||||
// Remove the now empty <p> element
|
||||
p.remove();
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// If any <li> contains a checkbox, mark the <ul> as a task list
|
||||
if (isTaskList) {
|
||||
ul.setAttribute('data-type', 'taskList');
|
||||
}
|
||||
});
|
||||
|
||||
return doc.body.innerHTML;
|
||||
}
|
||||
|
||||
function transformCallouts(html: string): string {
|
||||
const window = new Window();
|
||||
const doc = new DOMParser(window).parseFromString(html, 'text/html');
|
||||
|
||||
const calloutRegex = /:::(\w+)\s*([\s\S]*?)\s*:::/g;
|
||||
|
||||
const createCalloutDiv = (type: string, content: string): HTMLElement => {
|
||||
const div = doc.createElement('div');
|
||||
div.setAttribute('data-type', 'callout');
|
||||
div.setAttribute('data-callout-type', type);
|
||||
const p = doc.createElement('p');
|
||||
p.textContent = content.trim();
|
||||
div.appendChild(p);
|
||||
return div as unknown as HTMLElement;
|
||||
};
|
||||
|
||||
const pElements = doc.querySelectorAll('p');
|
||||
|
||||
pElements.forEach((p) => {
|
||||
if (calloutRegex.test(p.innerHTML) && !p.closest('ul, ol')) {
|
||||
calloutRegex.lastIndex = 0;
|
||||
const [, type, content] = calloutRegex.exec(p.innerHTML) || [];
|
||||
const calloutDiv = createCalloutDiv(type, content);
|
||||
// @ts-ignore
|
||||
p.replaceWith(calloutDiv);
|
||||
}
|
||||
});
|
||||
|
||||
return doc.body.innerHTML;
|
||||
}
|
||||
|
||||
export function transformHTML(html: string): string {
|
||||
return transformTaskList(transformCallouts(html));
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
import { marked } from 'marked';
|
||||
|
||||
marked.use({
|
||||
renderer: {
|
||||
// @ts-ignore
|
||||
list(body: string, isOrdered: boolean, start: number) {
|
||||
if (isOrdered) {
|
||||
const startAttr = start !== 1 ? ` start="${start}"` : '';
|
||||
return `<ol ${startAttr}>\n${body}</ol>\n`;
|
||||
}
|
||||
|
||||
const dataType = body.includes(`<input`) ? ' data-type="taskList"' : '';
|
||||
return `<ul${dataType}>\n${body}</ul>\n`;
|
||||
},
|
||||
// @ts-ignore
|
||||
listitem({ text, raw, task: isTask, checked: isChecked }): string {
|
||||
if (!isTask) {
|
||||
return `<li>${text}</li>\n`;
|
||||
}
|
||||
const checkedAttr = isChecked
|
||||
? 'data-checked="true"'
|
||||
: 'data-checked="false"';
|
||||
return `<li data-type="taskItem" ${checkedAttr}>${text}</li>\n`;
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
export async function markdownToHtml(markdownInput: string): Promise<string> {
|
||||
const YAML_FONT_MATTER_REGEX = /^\s*---[\s\S]*?---\s*/;
|
||||
|
||||
const markdown = markdownInput
|
||||
.replace(YAML_FONT_MATTER_REGEX, '')
|
||||
.trimStart();
|
||||
|
||||
return marked.parse(markdown);
|
||||
}
|
||||
+3
-2
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "docmost",
|
||||
"homepage": "https://docmost.com",
|
||||
"version": "0.2.7",
|
||||
"version": "0.2.10",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"build": "nx run-many -t build",
|
||||
@@ -53,6 +53,7 @@
|
||||
"@tiptap/extension-typography": "^2.5.4",
|
||||
"@tiptap/extension-underline": "^2.5.4",
|
||||
"@tiptap/extension-youtube": "^2.5.4",
|
||||
"@tiptap/html": "^2.5.4",
|
||||
"@tiptap/pm": "^2.5.4",
|
||||
"@tiptap/react": "^2.5.4",
|
||||
"@tiptap/starter-kit": "^2.5.4",
|
||||
@@ -68,7 +69,7 @@
|
||||
"@nx/js": "19.3.2",
|
||||
"@types/uuid": "^10.0.0",
|
||||
"concurrently": "^8.2.2",
|
||||
"nx": "19.3.2",
|
||||
"nx": "19.5.6",
|
||||
"tsx": "^4.15.7"
|
||||
},
|
||||
"workspaces": {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { type EditorState, Plugin, PluginKey } from "@tiptap/pm/state";
|
||||
import { Decoration, DecorationSet } from "@tiptap/pm/view";
|
||||
import { IAttachment } from "client/src/lib/types";
|
||||
import { MediaUploadOptions, UploadFn } from "../media-utils";
|
||||
import { IAttachment } from "../types";
|
||||
|
||||
const uploadKey = new PluginKey("image-upload");
|
||||
|
||||
|
||||
@@ -36,7 +36,9 @@ export const MathBlock = Node.create({
|
||||
return {
|
||||
text: {
|
||||
default: "",
|
||||
parseHTML: (element) => element.innerHTML.split("$")[1],
|
||||
parseHTML: (element) => {
|
||||
return element.innerHTML;
|
||||
},
|
||||
},
|
||||
};
|
||||
},
|
||||
@@ -44,7 +46,7 @@ export const MathBlock = Node.create({
|
||||
parseHTML() {
|
||||
return [
|
||||
{
|
||||
tag: "div",
|
||||
tag: `div[data-type="${this.name}"]`,
|
||||
getAttrs: (node: HTMLElement) => {
|
||||
return node.hasAttribute("data-katex") ? {} : false;
|
||||
},
|
||||
@@ -55,8 +57,8 @@ export const MathBlock = Node.create({
|
||||
renderHTML({ HTMLAttributes }) {
|
||||
return [
|
||||
"div",
|
||||
{},
|
||||
["div", { "data-katex": true }, `$$${HTMLAttributes.text}$$`],
|
||||
{ "data-type": this.name, "data-katex": true },
|
||||
`${HTMLAttributes.text}`,
|
||||
];
|
||||
},
|
||||
|
||||
|
||||
@@ -37,7 +37,9 @@ export const MathInline = Node.create<MathInlineOption>({
|
||||
return {
|
||||
text: {
|
||||
default: "",
|
||||
parseHTML: (element) => element.innerHTML.split("$")[1],
|
||||
parseHTML: (element) => {
|
||||
return element.innerHTML;
|
||||
},
|
||||
},
|
||||
};
|
||||
},
|
||||
@@ -45,7 +47,7 @@ export const MathInline = Node.create<MathInlineOption>({
|
||||
parseHTML() {
|
||||
return [
|
||||
{
|
||||
tag: "span",
|
||||
tag: `span[data-type="${this.name}"]`,
|
||||
getAttrs: (node: HTMLElement) => {
|
||||
return node.hasAttribute("data-katex") ? {} : false;
|
||||
},
|
||||
@@ -54,7 +56,11 @@ export const MathInline = Node.create<MathInlineOption>({
|
||||
},
|
||||
|
||||
renderHTML({ HTMLAttributes }) {
|
||||
return ["span", { "data-katex": true }, `$${HTMLAttributes.text}$` || {}];
|
||||
return [
|
||||
"span",
|
||||
{ "data-type": this.name, "data-katex": true },
|
||||
`${HTMLAttributes.text}`,
|
||||
];
|
||||
},
|
||||
|
||||
addNodeView() {
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
import TiptapTableHeader from "@tiptap/extension-table-header";
|
||||
|
||||
export const TableHeader = TiptapTableHeader.configure();
|
||||
@@ -1,4 +1,2 @@
|
||||
export * from "./table-extension";
|
||||
export * from "./header";
|
||||
export * from "./row";
|
||||
export * from "./cell";
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
import TiptapTable from "@tiptap/extension-table";
|
||||
|
||||
export const Table = TiptapTable.configure({
|
||||
resizable: true,
|
||||
lastColumnResizable: false,
|
||||
allowTableNodeSelection: true,
|
||||
});
|
||||
@@ -0,0 +1,17 @@
|
||||
// repetition for now
|
||||
export interface IAttachment {
|
||||
id: string;
|
||||
fileName: string;
|
||||
filePath: string;
|
||||
fileSize: number;
|
||||
fileExt: string;
|
||||
mimeType: string;
|
||||
type: string;
|
||||
creatorId: string;
|
||||
pageId: string | null;
|
||||
spaceId: string | null;
|
||||
workspaceId: string;
|
||||
createdAt: string;
|
||||
updatedAt: string;
|
||||
deletedAt: string | null;
|
||||
}
|
||||
@@ -3,7 +3,7 @@ import { Editor, findParentNode, isTextSelection } from "@tiptap/core";
|
||||
import { Selection, Transaction } from "@tiptap/pm/state";
|
||||
import { CellSelection, TableMap } from "@tiptap/pm/tables";
|
||||
import { Node, ResolvedPos } from "@tiptap/pm/model";
|
||||
import { Table } from "./table/table-extension";
|
||||
import Table from "@tiptap/extension-table";
|
||||
|
||||
export const isRectSelected = (rect: any) => (selection: CellSelection) => {
|
||||
const map = TableMap.get(selection.$anchorCell.node(-1));
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { type EditorState, Plugin, PluginKey } from "@tiptap/pm/state";
|
||||
import { Decoration, DecorationSet } from "@tiptap/pm/view";
|
||||
import { IAttachment } from "client/src/lib/types";
|
||||
import { MediaUploadOptions, UploadFn } from "../media-utils";
|
||||
import { IAttachment } from "../types";
|
||||
|
||||
const uploadKey = new PluginKey("video-upload");
|
||||
|
||||
|
||||
Generated
+338
-87
@@ -119,6 +119,9 @@ importers:
|
||||
'@tiptap/extension-youtube':
|
||||
specifier: ^2.5.4
|
||||
version: 2.5.4(@tiptap/core@2.5.4(@tiptap/pm@2.5.4))
|
||||
'@tiptap/html':
|
||||
specifier: ^2.5.4
|
||||
version: 2.5.4(@tiptap/core@2.5.4(@tiptap/pm@2.5.4))(@tiptap/pm@2.5.4)
|
||||
'@tiptap/pm':
|
||||
specifier: ^2.5.4
|
||||
version: 2.5.4
|
||||
@@ -152,7 +155,7 @@ importers:
|
||||
devDependencies:
|
||||
'@nx/js':
|
||||
specifier: 19.3.2
|
||||
version: 19.3.2(@babel/traverse@7.24.6)(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(nx@19.3.2(@swc/core@1.5.25(@swc/helpers@0.5.11)))(typescript@5.5.2)
|
||||
version: 19.3.2(@babel/traverse@7.24.6)(@swc/core@1.5.25)(@types/node@20.14.9)(nx@19.5.6(@swc/core@1.5.25))(typescript@5.5.2)
|
||||
'@types/uuid':
|
||||
specifier: ^10.0.0
|
||||
version: 10.0.0
|
||||
@@ -160,8 +163,8 @@ importers:
|
||||
specifier: ^8.2.2
|
||||
version: 8.2.2
|
||||
nx:
|
||||
specifier: 19.3.2
|
||||
version: 19.3.2(@swc/core@1.5.25(@swc/helpers@0.5.11))
|
||||
specifier: 19.5.6
|
||||
version: 19.5.6(@swc/core@1.5.25)
|
||||
tsx:
|
||||
specifier: ^4.15.7
|
||||
version: 4.15.7
|
||||
@@ -544,7 +547,7 @@ importers:
|
||||
version: 5.1.3(@types/eslint@8.56.10)(eslint-config-prettier@9.1.0(eslint@9.5.0))(eslint@9.5.0)(prettier@3.3.2)
|
||||
jest:
|
||||
specifier: ^29.7.0
|
||||
version: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@2.8.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2))
|
||||
version: 29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2))
|
||||
kysely-codegen:
|
||||
specifier: ^0.15.0
|
||||
version: 0.15.0(kysely@0.27.3)(pg@8.12.0)
|
||||
@@ -553,7 +556,7 @@ importers:
|
||||
version: 3.3.2
|
||||
react-email:
|
||||
specifier: ^2.1.4
|
||||
version: 2.1.4(@swc/helpers@0.5.11)(babel-plugin-macros@2.8.0)(eslint@9.5.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2))
|
||||
version: 2.1.4(@swc/helpers@0.5.11)(eslint@9.5.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2))
|
||||
source-map-support:
|
||||
specifier: ^0.5.21
|
||||
version: 0.5.21
|
||||
@@ -562,7 +565,7 @@ importers:
|
||||
version: 7.0.0
|
||||
ts-jest:
|
||||
specifier: ^29.1.5
|
||||
version: 29.1.5(@babel/core@7.24.3)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.3))(jest@29.7.0(@types/node@20.14.9)(babel-plugin-macros@2.8.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2)))(typescript@5.5.2)
|
||||
version: 29.1.5(@babel/core@7.24.3)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.3))(jest@29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2)))(typescript@5.5.2)
|
||||
ts-loader:
|
||||
specifier: ^9.5.1
|
||||
version: 9.5.1(typescript@5.5.2)(webpack@5.91.0(@swc/core@1.3.101(@swc/helpers@0.5.11))(esbuild@0.19.11))
|
||||
@@ -1577,6 +1580,15 @@ packages:
|
||||
'@egjs/list-differ@1.0.1':
|
||||
resolution: {integrity: sha512-OTFTDQcWS+1ZREOdCWuk5hCBgYO4OsD30lXcOCyVOAjXMhgL5rBRDnt/otb6Nz8CzU0L/igdcaQBDLWc4t9gvg==}
|
||||
|
||||
'@emnapi/core@1.2.0':
|
||||
resolution: {integrity: sha512-E7Vgw78I93we4ZWdYCb4DGAwRROGkMIXk7/y87UmANR+J6qsWusmC3gLt0H+O0KOt5e6O38U8oJamgbudrES/w==}
|
||||
|
||||
'@emnapi/runtime@1.2.0':
|
||||
resolution: {integrity: sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ==}
|
||||
|
||||
'@emnapi/wasi-threads@1.0.1':
|
||||
resolution: {integrity: sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==}
|
||||
|
||||
'@emoji-mart/data@1.2.1':
|
||||
resolution: {integrity: sha512-no2pQMWiBy6gpBEiqGeU77/bFejDqUTRY7KX+0+iur13op3bqUsXdnwoZs6Xb1zbv0gAj5VvS1PWoUUckSr5Dw==}
|
||||
|
||||
@@ -2205,6 +2217,9 @@ packages:
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@napi-rs/wasm-runtime@0.2.4':
|
||||
resolution: {integrity: sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==}
|
||||
|
||||
'@nestjs/bull-shared@10.1.1':
|
||||
resolution: {integrity: sha512-su7eThDrSz1oQagEi8l+1CyZ7N6nMgmyAX0DuZoXqT1KEVEDqGX7x80RlPVF60m/8SYOskckGMjJROSfNQcErw==}
|
||||
peerDependencies:
|
||||
@@ -2474,6 +2489,10 @@ packages:
|
||||
resolution: {integrity: sha512-I1gW7woqwU6rdlgwj6XXAKcreJ5ptRKI2WpLdZErkrPmaRG/jMZx/yjZrG4PWdIEuZ4ZmYnRsoXbKN6ilCknQw==}
|
||||
hasBin: true
|
||||
|
||||
'@nrwl/tao@19.5.6':
|
||||
resolution: {integrity: sha512-p1bxEjW32bIHAiTp+PVdJpa2V9En2s9FigepHXyvmT2Aipisz96CKiDjexhPTjOZHUKtqA9FgmOIuVl3sBME3g==}
|
||||
hasBin: true
|
||||
|
||||
'@nrwl/workspace@19.3.2':
|
||||
resolution: {integrity: sha512-6gV4qa38t3GyRKmO2PLcamDcFRD7I3wl6/R0/E1eC8Wm6K2oBzjOIV5ALpz4iC4LOln88IL+AjuQdG6kdtfXlA==}
|
||||
|
||||
@@ -2501,60 +2520,120 @@ packages:
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@nx/nx-darwin-arm64@19.5.6':
|
||||
resolution: {integrity: sha512-evEpUq571PQkhaLBR7ul5iqE2l97QS7Q37/rxoBuwJzyQ/QKHfNu5t032bR3KLyEOrv7golT10jMeoQlNeF7eQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@nx/nx-darwin-x64@19.3.2':
|
||||
resolution: {integrity: sha512-C8s9X5AlVgl3V5PycLdX+75lpAWq0qQs6QUEAnyxrLM9l+/HRecgoW6uZ7tX6Fnd8WGfMIwyahBw4LyZgk6zTw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@nx/nx-darwin-x64@19.5.6':
|
||||
resolution: {integrity: sha512-o1tu0dOW7TZ80VN9N11FQL/3gHd1+t6NqtEmRClN0/sAh2MZyiBdbXv7UeN5HoKE7HAusiVFIxK3c1lxOvFtsQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@nx/nx-freebsd-x64@19.3.2':
|
||||
resolution: {integrity: sha512-XeEpEU0iqJ/5cAPMmjqJ0Sdz89ZtDRj4NdksioyhAHri94X5/3lm3lDs4tB3nObT7p3QL7r/HP1itq5DHYmMSQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
|
||||
'@nx/nx-freebsd-x64@19.5.6':
|
||||
resolution: {integrity: sha512-IUL0ROGpLUol9cuVJ7VeUvaB/ptxg7DOjMef1+LJeOgxl/SFNa0bj0kKpA/AQwujz6cLI7Ei7xLTVQOboNh1DA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
|
||||
'@nx/nx-linux-arm-gnueabihf@19.3.2':
|
||||
resolution: {integrity: sha512-r4Wl0P94QRBUyiexUcfwKxqFXp48avMG3L0no/ZuNWGODbw1w8ppA4vhnkXtXbIaMdaTGx9eIYO7kFJ2SwMCng==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
'@nx/nx-linux-arm-gnueabihf@19.5.6':
|
||||
resolution: {integrity: sha512-TGf1+cpWg5QiPEGW5kgxa1fVNyASMuqu+LvQ9CKhNYNz5EPD15yr/k6C0tOjgSXro3wi8TikTeG0Ln2hpmn6pw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
'@nx/nx-linux-arm64-gnu@19.3.2':
|
||||
resolution: {integrity: sha512-oaTC4iS1fXnc61ZgSxwCQ2GGIqY64G22udRqNsX9TOtgrT7UA/mjE3Si01r+0xODimOiB525ueyxdIh1MAu6Vg==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@nx/nx-linux-arm64-gnu@19.5.6':
|
||||
resolution: {integrity: sha512-4hZI5NmnBEAzr3NV/BtlPjbSVffLWGGCJ5tB/JB/NpW/vMtzOPCZ4RvsHuJMPprqHcXOdUnBgZFEcLbEMUXz0A==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@nx/nx-linux-arm64-musl@19.3.2':
|
||||
resolution: {integrity: sha512-yyO9bTM7FW7HTYsSQlL4lgbAexUBpzfhdK+RkgsCiW+U/5bi+jFRxo/SbqGUL+IVliFavWyRXahMqOOM6nBq/w==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@nx/nx-linux-arm64-musl@19.5.6':
|
||||
resolution: {integrity: sha512-n0oIBblMN+nlcBUbrFUkRSyzKZVR+G1lzdZ3PuHVwLC664hkbijEBAdF2E321yRfv5ohQVY0UIYDZVFN2XhFUg==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@nx/nx-linux-x64-gnu@19.3.2':
|
||||
resolution: {integrity: sha512-DC+llVdL4toLjQkDGBgzoCe26FWIOT+SzRdVcKePoNliZ4jDhkOh3+p75NEIOEcDUgoE9M2iCWEBUjkV978ogw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@nx/nx-linux-x64-gnu@19.5.6':
|
||||
resolution: {integrity: sha512-IuoNo1bDHyJEeHom/n2m4+AA+UQ+Rlryvt9+bTdADclSFjmBLYCgbJwQRy7q9+vQk2mpQm0pQJv4d3XKCpDH+g==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@nx/nx-linux-x64-musl@19.3.2':
|
||||
resolution: {integrity: sha512-Wun4v+kuuqv20tJiCENkHGisDqfx029bFufqxx2IOe9TvD6vK4rMMkFVPUoK3FP8EBdaMW4nrR0ZucTFnStl6w==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@nx/nx-linux-x64-musl@19.5.6':
|
||||
resolution: {integrity: sha512-FXtB8m/CSRkXLtDOAGfImO9OCUDIwYBssnvCVqX6PyPTBaVWo/GvX1O9WRbXSqSVIaJJTPn1aY/p6vptlGbDFw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@nx/nx-win32-arm64-msvc@19.3.2':
|
||||
resolution: {integrity: sha512-bNVf6eu5rWFjHvn0rKHeZYlHUcs3naXvvbduW1g0DPkHG6mt8FYffQmyboN+CSeBd/uWDPNyTUekVWwU7PjtLA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@nx/nx-win32-arm64-msvc@19.5.6':
|
||||
resolution: {integrity: sha512-aIDU84rjvxoqyUDIdN4VwS91Yec8bAtXOxjOFlF2acY2tXh0RjzmM+mkEP44nVAzFy0V1/cjzBKb6643FsEqdA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@nx/nx-win32-x64-msvc@19.3.2':
|
||||
resolution: {integrity: sha512-8DD5BPa5YrxTOKL3HTAgEd+IXNqRtJfwvbrn2MbOMNMyoMG9Zi5yhFvTH/HTT9Tz6VUHvXP16QWYA3R7eFi7Gg==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@nx/nx-win32-x64-msvc@19.5.6':
|
||||
resolution: {integrity: sha512-zWB/2TjhNYKHbuPh++5hYitno3EpSFXrPND0I0VLec27WW7voRY9XQFFznA3omForU4FfmVhITcKCqzIb3EtpA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@nx/workspace@19.3.2':
|
||||
resolution: {integrity: sha512-gam41l0hFftYIYTt8eTvZjh+ZWo62HO2p/efqZuFIa/1ZsXF1XG8MDRkCSh5Wfjh1f0jS2ma8HwPV3e8TJm2lw==}
|
||||
|
||||
@@ -3780,6 +3859,12 @@ packages:
|
||||
peerDependencies:
|
||||
'@tiptap/core': ^2.5.4
|
||||
|
||||
'@tiptap/html@2.5.4':
|
||||
resolution: {integrity: sha512-Fcvsa7kkO+Id7WBFimDN5zdHksVGVnyHnffaN/PaAgbKmzP53BC38Pd0XuHS+KL6btqQIFE2GlqNYnyIos7i+g==}
|
||||
peerDependencies:
|
||||
'@tiptap/core': ^2.5.4
|
||||
'@tiptap/pm': ^2.5.4
|
||||
|
||||
'@tiptap/pm@2.5.4':
|
||||
resolution: {integrity: sha512-oFIsuniptdUXn93x4aM2sVN3hYKo9Fj55zAkYrWhwxFYUYcPxd5ibra2we+wRK5TaiPu098wpC+yMSTZ/KKMpA==}
|
||||
|
||||
@@ -3812,6 +3897,9 @@ packages:
|
||||
'@tsconfig/node16@1.0.4':
|
||||
resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==}
|
||||
|
||||
'@tybys/wasm-util@0.9.0':
|
||||
resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==}
|
||||
|
||||
'@types/babel__core@7.20.5':
|
||||
resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
|
||||
|
||||
@@ -4757,6 +4845,10 @@ packages:
|
||||
css-to-mat@1.1.1:
|
||||
resolution: {integrity: sha512-kvpxFYZb27jRd2vium35G7q5XZ2WJ9rWjDUMNT36M3Hc41qCrLXFM5iEKMGXcrPsKfXEN+8l/riB4QzwwwiEyQ==}
|
||||
|
||||
css-what@6.1.0:
|
||||
resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
|
||||
engines: {node: '>= 6'}
|
||||
|
||||
cssesc@3.0.0:
|
||||
resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
|
||||
engines: {node: '>=4'}
|
||||
@@ -6178,8 +6270,8 @@ packages:
|
||||
makeerror@1.0.12:
|
||||
resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
|
||||
|
||||
markdown-it@14.0.0:
|
||||
resolution: {integrity: sha512-seFjF0FIcPt4P9U39Bq1JYblX0KZCjDLFFQPHpL5AzHpqPEKtosxmdq/LTVZnjfH7tjt9BxStm+wXcDBNuYmzw==}
|
||||
markdown-it@14.1.0:
|
||||
resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==}
|
||||
hasBin: true
|
||||
|
||||
marked@13.0.2:
|
||||
@@ -6456,6 +6548,18 @@ packages:
|
||||
'@swc/core':
|
||||
optional: true
|
||||
|
||||
nx@19.5.6:
|
||||
resolution: {integrity: sha512-qjP17aa5ViXSpo0bDgJ7O3b8EY/0+PbX7ZIKvG1g6qasohtfM1y4Sx2bbSow0zCKU0+r1LnR53Q0lyX4OOgtUg==}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
'@swc-node/register': ^1.8.0
|
||||
'@swc/core': ^1.3.85
|
||||
peerDependenciesMeta:
|
||||
'@swc-node/register':
|
||||
optional: true
|
||||
'@swc/core':
|
||||
optional: true
|
||||
|
||||
object-assign@4.1.1:
|
||||
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
@@ -7790,8 +7894,8 @@ packages:
|
||||
engines: {node: '>=14.17'}
|
||||
hasBin: true
|
||||
|
||||
uc.micro@2.0.0:
|
||||
resolution: {integrity: sha512-DffL94LsNOccVn4hyfRe5rdKa273swqeA5DJpMOeFmEn1wCDc7nAbbB0gXlgBCL7TNzeTv6G7XVWzan7iJtfig==}
|
||||
uc.micro@2.1.0:
|
||||
resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==}
|
||||
|
||||
uid2@1.0.0:
|
||||
resolution: {integrity: sha512-+I6aJUv63YAcY9n4mQreLUt0d4lvwkkopDNmpomkAUz0fAkEMV9pRWxN0EjhW1YfRhcuyHg2v3mwddCDW1+LFQ==}
|
||||
@@ -8160,6 +8264,10 @@ packages:
|
||||
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
zeed-dom@0.10.11:
|
||||
resolution: {integrity: sha512-7ukbu6aQKx34OQ7PfUIxOuAhk2MvyZY/t4/IJsVzy76zuMzfhE74+Dbyp8SHiUJPTPkF0FflP1KVrGJ7gk9IHw==}
|
||||
engines: {node: '>=14.13.1'}
|
||||
|
||||
zod@3.23.8:
|
||||
resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==}
|
||||
|
||||
@@ -8263,7 +8371,7 @@ snapshots:
|
||||
'@aws-sdk/client-sso-oidc': 3.600.0(@aws-sdk/client-sts@3.600.0)
|
||||
'@aws-sdk/client-sts': 3.600.0
|
||||
'@aws-sdk/core': 3.598.0
|
||||
'@aws-sdk/credential-provider-node': 3.600.0(@aws-sdk/client-sso-oidc@3.600.0)(@aws-sdk/client-sts@3.600.0)
|
||||
'@aws-sdk/credential-provider-node': 3.600.0(@aws-sdk/client-sso-oidc@3.600.0(@aws-sdk/client-sts@3.600.0))(@aws-sdk/client-sts@3.600.0)
|
||||
'@aws-sdk/middleware-bucket-endpoint': 3.598.0
|
||||
'@aws-sdk/middleware-expect-continue': 3.598.0
|
||||
'@aws-sdk/middleware-flexible-checksums': 3.598.0
|
||||
@@ -8324,7 +8432,7 @@ snapshots:
|
||||
'@aws-crypto/sha256-js': 5.2.0
|
||||
'@aws-sdk/client-sts': 3.600.0
|
||||
'@aws-sdk/core': 3.598.0
|
||||
'@aws-sdk/credential-provider-node': 3.600.0(@aws-sdk/client-sso-oidc@3.600.0)(@aws-sdk/client-sts@3.600.0)
|
||||
'@aws-sdk/credential-provider-node': 3.600.0(@aws-sdk/client-sso-oidc@3.600.0(@aws-sdk/client-sts@3.600.0))(@aws-sdk/client-sts@3.600.0)
|
||||
'@aws-sdk/middleware-host-header': 3.598.0
|
||||
'@aws-sdk/middleware-logger': 3.598.0
|
||||
'@aws-sdk/middleware-recursion-detection': 3.598.0
|
||||
@@ -8413,7 +8521,7 @@ snapshots:
|
||||
'@aws-crypto/sha256-js': 5.2.0
|
||||
'@aws-sdk/client-sso-oidc': 3.600.0(@aws-sdk/client-sts@3.600.0)
|
||||
'@aws-sdk/core': 3.598.0
|
||||
'@aws-sdk/credential-provider-node': 3.600.0(@aws-sdk/client-sso-oidc@3.600.0)(@aws-sdk/client-sts@3.600.0)
|
||||
'@aws-sdk/credential-provider-node': 3.600.0(@aws-sdk/client-sso-oidc@3.600.0(@aws-sdk/client-sts@3.600.0))(@aws-sdk/client-sts@3.600.0)
|
||||
'@aws-sdk/middleware-host-header': 3.598.0
|
||||
'@aws-sdk/middleware-logger': 3.598.0
|
||||
'@aws-sdk/middleware-recursion-detection': 3.598.0
|
||||
@@ -8481,13 +8589,13 @@ snapshots:
|
||||
'@smithy/util-stream': 3.0.4
|
||||
tslib: 2.6.2
|
||||
|
||||
'@aws-sdk/credential-provider-ini@3.598.0(@aws-sdk/client-sso-oidc@3.600.0)(@aws-sdk/client-sts@3.600.0)':
|
||||
'@aws-sdk/credential-provider-ini@3.598.0(@aws-sdk/client-sso-oidc@3.600.0(@aws-sdk/client-sts@3.600.0))(@aws-sdk/client-sts@3.600.0)':
|
||||
dependencies:
|
||||
'@aws-sdk/client-sts': 3.600.0
|
||||
'@aws-sdk/credential-provider-env': 3.598.0
|
||||
'@aws-sdk/credential-provider-http': 3.598.0
|
||||
'@aws-sdk/credential-provider-process': 3.598.0
|
||||
'@aws-sdk/credential-provider-sso': 3.598.0(@aws-sdk/client-sso-oidc@3.600.0)
|
||||
'@aws-sdk/credential-provider-sso': 3.598.0(@aws-sdk/client-sso-oidc@3.600.0(@aws-sdk/client-sts@3.600.0))
|
||||
'@aws-sdk/credential-provider-web-identity': 3.598.0(@aws-sdk/client-sts@3.600.0)
|
||||
'@aws-sdk/types': 3.598.0
|
||||
'@smithy/credential-provider-imds': 3.1.2
|
||||
@@ -8499,13 +8607,13 @@ snapshots:
|
||||
- '@aws-sdk/client-sso-oidc'
|
||||
- aws-crt
|
||||
|
||||
'@aws-sdk/credential-provider-node@3.600.0(@aws-sdk/client-sso-oidc@3.600.0)(@aws-sdk/client-sts@3.600.0)':
|
||||
'@aws-sdk/credential-provider-node@3.600.0(@aws-sdk/client-sso-oidc@3.600.0(@aws-sdk/client-sts@3.600.0))(@aws-sdk/client-sts@3.600.0)':
|
||||
dependencies:
|
||||
'@aws-sdk/credential-provider-env': 3.598.0
|
||||
'@aws-sdk/credential-provider-http': 3.598.0
|
||||
'@aws-sdk/credential-provider-ini': 3.598.0(@aws-sdk/client-sso-oidc@3.600.0)(@aws-sdk/client-sts@3.600.0)
|
||||
'@aws-sdk/credential-provider-ini': 3.598.0(@aws-sdk/client-sso-oidc@3.600.0(@aws-sdk/client-sts@3.600.0))(@aws-sdk/client-sts@3.600.0)
|
||||
'@aws-sdk/credential-provider-process': 3.598.0
|
||||
'@aws-sdk/credential-provider-sso': 3.598.0(@aws-sdk/client-sso-oidc@3.600.0)
|
||||
'@aws-sdk/credential-provider-sso': 3.598.0(@aws-sdk/client-sso-oidc@3.600.0(@aws-sdk/client-sts@3.600.0))
|
||||
'@aws-sdk/credential-provider-web-identity': 3.598.0(@aws-sdk/client-sts@3.600.0)
|
||||
'@aws-sdk/types': 3.598.0
|
||||
'@smithy/credential-provider-imds': 3.1.2
|
||||
@@ -8526,10 +8634,10 @@ snapshots:
|
||||
'@smithy/types': 3.2.0
|
||||
tslib: 2.6.2
|
||||
|
||||
'@aws-sdk/credential-provider-sso@3.598.0(@aws-sdk/client-sso-oidc@3.600.0)':
|
||||
'@aws-sdk/credential-provider-sso@3.598.0(@aws-sdk/client-sso-oidc@3.600.0(@aws-sdk/client-sts@3.600.0))':
|
||||
dependencies:
|
||||
'@aws-sdk/client-sso': 3.598.0
|
||||
'@aws-sdk/token-providers': 3.598.0(@aws-sdk/client-sso-oidc@3.600.0)
|
||||
'@aws-sdk/token-providers': 3.598.0(@aws-sdk/client-sso-oidc@3.600.0(@aws-sdk/client-sts@3.600.0))
|
||||
'@aws-sdk/types': 3.598.0
|
||||
'@smithy/property-provider': 3.1.2
|
||||
'@smithy/shared-ini-file-loader': 3.1.2
|
||||
@@ -8666,7 +8774,7 @@ snapshots:
|
||||
'@smithy/types': 3.2.0
|
||||
tslib: 2.6.2
|
||||
|
||||
'@aws-sdk/token-providers@3.598.0(@aws-sdk/client-sso-oidc@3.600.0)':
|
||||
'@aws-sdk/token-providers@3.598.0(@aws-sdk/client-sso-oidc@3.600.0(@aws-sdk/client-sts@3.600.0))':
|
||||
dependencies:
|
||||
'@aws-sdk/client-sso-oidc': 3.600.0(@aws-sdk/client-sts@3.600.0)
|
||||
'@aws-sdk/types': 3.598.0
|
||||
@@ -9799,6 +9907,19 @@ snapshots:
|
||||
|
||||
'@egjs/list-differ@1.0.1': {}
|
||||
|
||||
'@emnapi/core@1.2.0':
|
||||
dependencies:
|
||||
'@emnapi/wasi-threads': 1.0.1
|
||||
tslib: 2.6.2
|
||||
|
||||
'@emnapi/runtime@1.2.0':
|
||||
dependencies:
|
||||
tslib: 2.6.2
|
||||
|
||||
'@emnapi/wasi-threads@1.0.1':
|
||||
dependencies:
|
||||
tslib: 2.6.2
|
||||
|
||||
'@emoji-mart/data@1.2.1': {}
|
||||
|
||||
'@emoji-mart/react@1.1.1(emoji-mart@5.6.0)(react@18.3.1)':
|
||||
@@ -10167,7 +10288,7 @@ snapshots:
|
||||
jest-util: 29.7.0
|
||||
slash: 3.0.0
|
||||
|
||||
'@jest/core@29.7.0(babel-plugin-macros@2.8.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2))':
|
||||
'@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2))':
|
||||
dependencies:
|
||||
'@jest/console': 29.7.0
|
||||
'@jest/reporters': 29.7.0
|
||||
@@ -10181,7 +10302,7 @@ snapshots:
|
||||
exit: 0.1.2
|
||||
graceful-fs: 4.2.11
|
||||
jest-changed-files: 29.7.0
|
||||
jest-config: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@2.8.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2))
|
||||
jest-config: 29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2))
|
||||
jest-haste-map: 29.7.0
|
||||
jest-message-util: 29.7.0
|
||||
jest-regex-util: 29.6.3
|
||||
@@ -10457,6 +10578,12 @@ snapshots:
|
||||
'@msgpackr-extract/msgpackr-extract-win32-x64@3.0.2':
|
||||
optional: true
|
||||
|
||||
'@napi-rs/wasm-runtime@0.2.4':
|
||||
dependencies:
|
||||
'@emnapi/core': 1.2.0
|
||||
'@emnapi/runtime': 1.2.0
|
||||
'@tybys/wasm-util': 0.9.0
|
||||
|
||||
'@nestjs/bull-shared@10.1.1(@nestjs/common@10.3.9(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.3.9(@nestjs/common@10.3.9(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/websockets@10.3.9)(reflect-metadata@0.2.2)(rxjs@7.8.1))':
|
||||
dependencies:
|
||||
'@nestjs/common': 10.3.9(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1)
|
||||
@@ -10681,15 +10808,21 @@ snapshots:
|
||||
'@nodelib/fs.scandir': 2.1.5
|
||||
fastq: 1.17.1
|
||||
|
||||
'@nrwl/devkit@19.3.2(nx@19.3.2(@swc/core@1.5.25(@swc/helpers@0.5.11)))':
|
||||
'@nrwl/devkit@19.3.2(nx@19.3.2(@swc/core@1.5.25))':
|
||||
dependencies:
|
||||
'@nx/devkit': 19.3.2(nx@19.3.2(@swc/core@1.5.25(@swc/helpers@0.5.11)))
|
||||
'@nx/devkit': 19.3.2(nx@19.3.2(@swc/core@1.5.25))
|
||||
transitivePeerDependencies:
|
||||
- nx
|
||||
|
||||
'@nrwl/js@19.3.2(@babel/traverse@7.24.6)(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(nx@19.3.2(@swc/core@1.5.25(@swc/helpers@0.5.11)))(typescript@5.5.2)':
|
||||
'@nrwl/devkit@19.3.2(nx@19.5.6(@swc/core@1.5.25))':
|
||||
dependencies:
|
||||
'@nx/js': 19.3.2(@babel/traverse@7.24.6)(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(nx@19.3.2(@swc/core@1.5.25(@swc/helpers@0.5.11)))(typescript@5.5.2)
|
||||
'@nx/devkit': 19.3.2(nx@19.5.6(@swc/core@1.5.25))
|
||||
transitivePeerDependencies:
|
||||
- nx
|
||||
|
||||
'@nrwl/js@19.3.2(@babel/traverse@7.24.6)(@swc/core@1.5.25)(@types/node@20.14.9)(nx@19.5.6(@swc/core@1.5.25))(typescript@5.5.2)':
|
||||
dependencies:
|
||||
'@nx/js': 19.3.2(@babel/traverse@7.24.6)(@swc/core@1.5.25)(@types/node@20.14.9)(nx@19.5.6(@swc/core@1.5.25))(typescript@5.5.2)
|
||||
transitivePeerDependencies:
|
||||
- '@babel/traverse'
|
||||
- '@swc-node/register'
|
||||
@@ -10702,18 +10835,27 @@ snapshots:
|
||||
- typescript
|
||||
- verdaccio
|
||||
|
||||
'@nrwl/tao@19.3.2(@swc/core@1.5.25(@swc/helpers@0.5.11))':
|
||||
'@nrwl/tao@19.3.2(@swc/core@1.5.25)':
|
||||
dependencies:
|
||||
nx: 19.3.2(@swc/core@1.5.25(@swc/helpers@0.5.11))
|
||||
nx: 19.3.2(@swc/core@1.5.25)
|
||||
tslib: 2.6.2
|
||||
transitivePeerDependencies:
|
||||
- '@swc-node/register'
|
||||
- '@swc/core'
|
||||
- debug
|
||||
|
||||
'@nrwl/workspace@19.3.2(@swc/core@1.5.25(@swc/helpers@0.5.11))':
|
||||
'@nrwl/tao@19.5.6(@swc/core@1.5.25)':
|
||||
dependencies:
|
||||
'@nx/workspace': 19.3.2(@swc/core@1.5.25(@swc/helpers@0.5.11))
|
||||
nx: 19.5.6(@swc/core@1.5.25)
|
||||
tslib: 2.6.2
|
||||
transitivePeerDependencies:
|
||||
- '@swc-node/register'
|
||||
- '@swc/core'
|
||||
- debug
|
||||
|
||||
'@nrwl/workspace@19.3.2(@swc/core@1.5.25)':
|
||||
dependencies:
|
||||
'@nx/workspace': 19.3.2(@swc/core@1.5.25)
|
||||
transitivePeerDependencies:
|
||||
- '@swc-node/register'
|
||||
- '@swc/core'
|
||||
@@ -10727,20 +10869,33 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
|
||||
'@nx/devkit@19.3.2(nx@19.3.2(@swc/core@1.5.25(@swc/helpers@0.5.11)))':
|
||||
'@nx/devkit@19.3.2(nx@19.3.2(@swc/core@1.5.25))':
|
||||
dependencies:
|
||||
'@nrwl/devkit': 19.3.2(nx@19.3.2(@swc/core@1.5.25(@swc/helpers@0.5.11)))
|
||||
'@nrwl/devkit': 19.3.2(nx@19.3.2(@swc/core@1.5.25))
|
||||
ejs: 3.1.9
|
||||
enquirer: 2.3.6
|
||||
ignore: 5.3.1
|
||||
minimatch: 9.0.3
|
||||
nx: 19.3.2(@swc/core@1.5.25(@swc/helpers@0.5.11))
|
||||
nx: 19.3.2(@swc/core@1.5.25)
|
||||
semver: 7.6.2
|
||||
tmp: 0.2.1
|
||||
tslib: 2.6.2
|
||||
yargs-parser: 21.1.1
|
||||
|
||||
'@nx/js@19.3.2(@babel/traverse@7.24.6)(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(nx@19.3.2(@swc/core@1.5.25(@swc/helpers@0.5.11)))(typescript@5.5.2)':
|
||||
'@nx/devkit@19.3.2(nx@19.5.6(@swc/core@1.5.25))':
|
||||
dependencies:
|
||||
'@nrwl/devkit': 19.3.2(nx@19.5.6(@swc/core@1.5.25))
|
||||
ejs: 3.1.9
|
||||
enquirer: 2.3.6
|
||||
ignore: 5.3.1
|
||||
minimatch: 9.0.3
|
||||
nx: 19.5.6(@swc/core@1.5.25)
|
||||
semver: 7.6.2
|
||||
tmp: 0.2.1
|
||||
tslib: 2.6.2
|
||||
yargs-parser: 21.1.1
|
||||
|
||||
'@nx/js@19.3.2(@babel/traverse@7.24.6)(@swc/core@1.5.25)(@types/node@20.14.9)(nx@19.5.6(@swc/core@1.5.25))(typescript@5.5.2)':
|
||||
dependencies:
|
||||
'@babel/core': 7.24.6
|
||||
'@babel/plugin-proposal-decorators': 7.23.7(@babel/core@7.24.6)
|
||||
@@ -10749,9 +10904,9 @@ snapshots:
|
||||
'@babel/preset-env': 7.23.8(@babel/core@7.24.6)
|
||||
'@babel/preset-typescript': 7.23.3(@babel/core@7.24.6)
|
||||
'@babel/runtime': 7.23.7
|
||||
'@nrwl/js': 19.3.2(@babel/traverse@7.24.6)(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(nx@19.3.2(@swc/core@1.5.25(@swc/helpers@0.5.11)))(typescript@5.5.2)
|
||||
'@nx/devkit': 19.3.2(nx@19.3.2(@swc/core@1.5.25(@swc/helpers@0.5.11)))
|
||||
'@nx/workspace': 19.3.2(@swc/core@1.5.25(@swc/helpers@0.5.11))
|
||||
'@nrwl/js': 19.3.2(@babel/traverse@7.24.6)(@swc/core@1.5.25)(@types/node@20.14.9)(nx@19.5.6(@swc/core@1.5.25))(typescript@5.5.2)
|
||||
'@nx/devkit': 19.3.2(nx@19.5.6(@swc/core@1.5.25))
|
||||
'@nx/workspace': 19.3.2(@swc/core@1.5.25)
|
||||
babel-plugin-const-enum: 1.2.0(@babel/core@7.24.6)
|
||||
babel-plugin-macros: 2.8.0
|
||||
babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.24.6)(@babel/traverse@7.24.6)
|
||||
@@ -10768,7 +10923,7 @@ snapshots:
|
||||
ora: 5.3.0
|
||||
semver: 7.6.2
|
||||
source-map-support: 0.5.19
|
||||
ts-node: 10.9.1(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2)
|
||||
ts-node: 10.9.1(@swc/core@1.5.25)(@types/node@20.14.9)(typescript@5.5.2)
|
||||
tsconfig-paths: 4.2.0
|
||||
tslib: 2.6.2
|
||||
transitivePeerDependencies:
|
||||
@@ -10785,40 +10940,70 @@ snapshots:
|
||||
'@nx/nx-darwin-arm64@19.3.2':
|
||||
optional: true
|
||||
|
||||
'@nx/nx-darwin-arm64@19.5.6':
|
||||
optional: true
|
||||
|
||||
'@nx/nx-darwin-x64@19.3.2':
|
||||
optional: true
|
||||
|
||||
'@nx/nx-darwin-x64@19.5.6':
|
||||
optional: true
|
||||
|
||||
'@nx/nx-freebsd-x64@19.3.2':
|
||||
optional: true
|
||||
|
||||
'@nx/nx-freebsd-x64@19.5.6':
|
||||
optional: true
|
||||
|
||||
'@nx/nx-linux-arm-gnueabihf@19.3.2':
|
||||
optional: true
|
||||
|
||||
'@nx/nx-linux-arm-gnueabihf@19.5.6':
|
||||
optional: true
|
||||
|
||||
'@nx/nx-linux-arm64-gnu@19.3.2':
|
||||
optional: true
|
||||
|
||||
'@nx/nx-linux-arm64-gnu@19.5.6':
|
||||
optional: true
|
||||
|
||||
'@nx/nx-linux-arm64-musl@19.3.2':
|
||||
optional: true
|
||||
|
||||
'@nx/nx-linux-arm64-musl@19.5.6':
|
||||
optional: true
|
||||
|
||||
'@nx/nx-linux-x64-gnu@19.3.2':
|
||||
optional: true
|
||||
|
||||
'@nx/nx-linux-x64-gnu@19.5.6':
|
||||
optional: true
|
||||
|
||||
'@nx/nx-linux-x64-musl@19.3.2':
|
||||
optional: true
|
||||
|
||||
'@nx/nx-linux-x64-musl@19.5.6':
|
||||
optional: true
|
||||
|
||||
'@nx/nx-win32-arm64-msvc@19.3.2':
|
||||
optional: true
|
||||
|
||||
'@nx/nx-win32-arm64-msvc@19.5.6':
|
||||
optional: true
|
||||
|
||||
'@nx/nx-win32-x64-msvc@19.3.2':
|
||||
optional: true
|
||||
|
||||
'@nx/workspace@19.3.2(@swc/core@1.5.25(@swc/helpers@0.5.11))':
|
||||
'@nx/nx-win32-x64-msvc@19.5.6':
|
||||
optional: true
|
||||
|
||||
'@nx/workspace@19.3.2(@swc/core@1.5.25)':
|
||||
dependencies:
|
||||
'@nrwl/workspace': 19.3.2(@swc/core@1.5.25(@swc/helpers@0.5.11))
|
||||
'@nx/devkit': 19.3.2(nx@19.3.2(@swc/core@1.5.25(@swc/helpers@0.5.11)))
|
||||
'@nrwl/workspace': 19.3.2(@swc/core@1.5.25)
|
||||
'@nx/devkit': 19.3.2(nx@19.3.2(@swc/core@1.5.25))
|
||||
chalk: 4.1.2
|
||||
enquirer: 2.3.6
|
||||
nx: 19.3.2(@swc/core@1.5.25(@swc/helpers@0.5.11))
|
||||
nx: 19.3.2(@swc/core@1.5.25)
|
||||
tslib: 2.6.2
|
||||
yargs-parser: 21.1.1
|
||||
transitivePeerDependencies:
|
||||
@@ -12059,6 +12244,12 @@ snapshots:
|
||||
dependencies:
|
||||
'@tiptap/core': 2.5.4(@tiptap/pm@2.5.4)
|
||||
|
||||
'@tiptap/html@2.5.4(@tiptap/core@2.5.4(@tiptap/pm@2.5.4))(@tiptap/pm@2.5.4)':
|
||||
dependencies:
|
||||
'@tiptap/core': 2.5.4(@tiptap/pm@2.5.4)
|
||||
'@tiptap/pm': 2.5.4
|
||||
zeed-dom: 0.10.11
|
||||
|
||||
'@tiptap/pm@2.5.4':
|
||||
dependencies:
|
||||
prosemirror-changeset: 2.2.1
|
||||
@@ -12128,6 +12319,10 @@ snapshots:
|
||||
|
||||
'@tsconfig/node16@1.0.4': {}
|
||||
|
||||
'@tybys/wasm-util@0.9.0':
|
||||
dependencies:
|
||||
tslib: 2.6.2
|
||||
|
||||
'@types/babel__core@7.20.5':
|
||||
dependencies:
|
||||
'@babel/parser': 7.24.6
|
||||
@@ -13230,13 +13425,13 @@ snapshots:
|
||||
optionalDependencies:
|
||||
typescript: 5.3.3
|
||||
|
||||
create-jest@29.7.0(@types/node@20.14.9)(babel-plugin-macros@2.8.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2)):
|
||||
create-jest@29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2)):
|
||||
dependencies:
|
||||
'@jest/types': 29.6.3
|
||||
chalk: 4.1.2
|
||||
exit: 0.1.2
|
||||
graceful-fs: 4.2.11
|
||||
jest-config: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@2.8.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2))
|
||||
jest-config: 29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2))
|
||||
jest-util: 29.7.0
|
||||
prompts: 2.4.2
|
||||
transitivePeerDependencies:
|
||||
@@ -13272,6 +13467,8 @@ snapshots:
|
||||
'@daybrush/utils': 1.13.0
|
||||
'@scena/matrix': 1.1.1
|
||||
|
||||
css-what@6.1.0: {}
|
||||
|
||||
cssesc@3.0.0: {}
|
||||
|
||||
cssstyle@3.0.0:
|
||||
@@ -13299,9 +13496,7 @@ snapshots:
|
||||
|
||||
decimal.js@10.4.3: {}
|
||||
|
||||
dedent@1.5.1(babel-plugin-macros@2.8.0):
|
||||
optionalDependencies:
|
||||
babel-plugin-macros: 2.8.0
|
||||
dedent@1.5.1: {}
|
||||
|
||||
deep-is@0.1.4: {}
|
||||
|
||||
@@ -14381,7 +14576,7 @@ snapshots:
|
||||
jest-util: 29.7.0
|
||||
p-limit: 3.1.0
|
||||
|
||||
jest-circus@29.7.0(babel-plugin-macros@2.8.0):
|
||||
jest-circus@29.7.0:
|
||||
dependencies:
|
||||
'@jest/environment': 29.7.0
|
||||
'@jest/expect': 29.7.0
|
||||
@@ -14390,7 +14585,7 @@ snapshots:
|
||||
'@types/node': 20.14.9
|
||||
chalk: 4.1.2
|
||||
co: 4.6.0
|
||||
dedent: 1.5.1(babel-plugin-macros@2.8.0)
|
||||
dedent: 1.5.1
|
||||
is-generator-fn: 2.1.0
|
||||
jest-each: 29.7.0
|
||||
jest-matcher-utils: 29.7.0
|
||||
@@ -14407,16 +14602,16 @@ snapshots:
|
||||
- babel-plugin-macros
|
||||
- supports-color
|
||||
|
||||
jest-cli@29.7.0(@types/node@20.14.9)(babel-plugin-macros@2.8.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2)):
|
||||
jest-cli@29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2)):
|
||||
dependencies:
|
||||
'@jest/core': 29.7.0(babel-plugin-macros@2.8.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2))
|
||||
'@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2))
|
||||
'@jest/test-result': 29.7.0
|
||||
'@jest/types': 29.6.3
|
||||
chalk: 4.1.2
|
||||
create-jest: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@2.8.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2))
|
||||
create-jest: 29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2))
|
||||
exit: 0.1.2
|
||||
import-local: 3.1.0
|
||||
jest-config: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@2.8.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2))
|
||||
jest-config: 29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2))
|
||||
jest-util: 29.7.0
|
||||
jest-validate: 29.7.0
|
||||
yargs: 17.7.2
|
||||
@@ -14426,7 +14621,7 @@ snapshots:
|
||||
- supports-color
|
||||
- ts-node
|
||||
|
||||
jest-config@29.7.0(@types/node@20.14.9)(babel-plugin-macros@2.8.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2)):
|
||||
jest-config@29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2)):
|
||||
dependencies:
|
||||
'@babel/core': 7.24.6
|
||||
'@jest/test-sequencer': 29.7.0
|
||||
@@ -14437,7 +14632,7 @@ snapshots:
|
||||
deepmerge: 4.3.1
|
||||
glob: 7.2.3
|
||||
graceful-fs: 4.2.11
|
||||
jest-circus: 29.7.0(babel-plugin-macros@2.8.0)
|
||||
jest-circus: 29.7.0
|
||||
jest-environment-node: 29.7.0
|
||||
jest-get-type: 29.6.3
|
||||
jest-regex-util: 29.6.3
|
||||
@@ -14678,12 +14873,12 @@ snapshots:
|
||||
merge-stream: 2.0.0
|
||||
supports-color: 8.1.1
|
||||
|
||||
jest@29.7.0(@types/node@20.14.9)(babel-plugin-macros@2.8.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2)):
|
||||
jest@29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2)):
|
||||
dependencies:
|
||||
'@jest/core': 29.7.0(babel-plugin-macros@2.8.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2))
|
||||
'@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2))
|
||||
'@jest/types': 29.6.3
|
||||
import-local: 3.1.0
|
||||
jest-cli: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@2.8.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2))
|
||||
jest-cli: 29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2))
|
||||
transitivePeerDependencies:
|
||||
- '@types/node'
|
||||
- babel-plugin-macros
|
||||
@@ -14899,7 +15094,7 @@ snapshots:
|
||||
|
||||
linkify-it@5.0.0:
|
||||
dependencies:
|
||||
uc.micro: 2.0.0
|
||||
uc.micro: 2.1.0
|
||||
|
||||
linkifyjs@4.1.3: {}
|
||||
|
||||
@@ -14994,14 +15189,14 @@ snapshots:
|
||||
dependencies:
|
||||
tmpl: 1.0.5
|
||||
|
||||
markdown-it@14.0.0:
|
||||
markdown-it@14.1.0:
|
||||
dependencies:
|
||||
argparse: 2.0.1
|
||||
entities: 4.5.0
|
||||
linkify-it: 5.0.0
|
||||
mdurl: 2.0.0
|
||||
punycode.js: 2.3.1
|
||||
uc.micro: 2.0.0
|
||||
uc.micro: 2.1.0
|
||||
|
||||
marked@13.0.2: {}
|
||||
|
||||
@@ -15146,7 +15341,7 @@ snapshots:
|
||||
kysely: 0.27.3
|
||||
reflect-metadata: 0.2.2
|
||||
|
||||
next@14.1.4(@babel/core@7.24.5)(babel-plugin-macros@2.8.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
|
||||
next@14.1.4(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
|
||||
dependencies:
|
||||
'@next/env': 14.1.4
|
||||
'@swc/helpers': 0.5.2
|
||||
@@ -15156,7 +15351,7 @@ snapshots:
|
||||
postcss: 8.4.31
|
||||
react: 18.3.1
|
||||
react-dom: 18.3.1(react@18.3.1)
|
||||
styled-jsx: 5.1.1(@babel/core@7.24.5)(babel-plugin-macros@2.8.0)(react@18.3.1)
|
||||
styled-jsx: 5.1.1(@babel/core@7.24.5)(react@18.3.1)
|
||||
optionalDependencies:
|
||||
'@next/swc-darwin-arm64': 14.1.4
|
||||
'@next/swc-darwin-x64': 14.1.4
|
||||
@@ -15228,9 +15423,9 @@ snapshots:
|
||||
|
||||
nwsapi@2.2.10: {}
|
||||
|
||||
nx@19.3.2(@swc/core@1.5.25(@swc/helpers@0.5.11)):
|
||||
nx@19.3.2(@swc/core@1.5.25):
|
||||
dependencies:
|
||||
'@nrwl/tao': 19.3.2(@swc/core@1.5.25(@swc/helpers@0.5.11))
|
||||
'@nrwl/tao': 19.3.2(@swc/core@1.5.25)
|
||||
'@yarnpkg/lockfile': 1.1.0
|
||||
'@yarnpkg/parsers': 3.0.0-rc.46
|
||||
'@zkochan/js-yaml': 0.0.7
|
||||
@@ -15279,6 +15474,58 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- debug
|
||||
|
||||
nx@19.5.6(@swc/core@1.5.25):
|
||||
dependencies:
|
||||
'@napi-rs/wasm-runtime': 0.2.4
|
||||
'@nrwl/tao': 19.5.6(@swc/core@1.5.25)
|
||||
'@yarnpkg/lockfile': 1.1.0
|
||||
'@yarnpkg/parsers': 3.0.0-rc.46
|
||||
'@zkochan/js-yaml': 0.0.7
|
||||
axios: 1.7.2
|
||||
chalk: 4.1.2
|
||||
cli-cursor: 3.1.0
|
||||
cli-spinners: 2.6.1
|
||||
cliui: 8.0.1
|
||||
dotenv: 16.4.5
|
||||
dotenv-expand: 11.0.6
|
||||
enquirer: 2.3.6
|
||||
figures: 3.2.0
|
||||
flat: 5.0.2
|
||||
front-matter: 4.0.2
|
||||
fs-extra: 11.2.0
|
||||
ignore: 5.3.1
|
||||
jest-diff: 29.7.0
|
||||
jsonc-parser: 3.2.0
|
||||
lines-and-columns: 2.0.4
|
||||
minimatch: 9.0.3
|
||||
node-machine-id: 1.1.12
|
||||
npm-run-path: 4.0.1
|
||||
open: 8.4.2
|
||||
ora: 5.3.0
|
||||
semver: 7.6.2
|
||||
string-width: 4.2.3
|
||||
strong-log-transformer: 2.1.0
|
||||
tar-stream: 2.2.0
|
||||
tmp: 0.2.1
|
||||
tsconfig-paths: 4.2.0
|
||||
tslib: 2.6.2
|
||||
yargs: 17.7.2
|
||||
yargs-parser: 21.1.1
|
||||
optionalDependencies:
|
||||
'@nx/nx-darwin-arm64': 19.5.6
|
||||
'@nx/nx-darwin-x64': 19.5.6
|
||||
'@nx/nx-freebsd-x64': 19.5.6
|
||||
'@nx/nx-linux-arm-gnueabihf': 19.5.6
|
||||
'@nx/nx-linux-arm64-gnu': 19.5.6
|
||||
'@nx/nx-linux-arm64-musl': 19.5.6
|
||||
'@nx/nx-linux-x64-gnu': 19.5.6
|
||||
'@nx/nx-linux-x64-musl': 19.5.6
|
||||
'@nx/nx-win32-arm64-msvc': 19.5.6
|
||||
'@nx/nx-win32-x64-msvc': 19.5.6
|
||||
'@swc/core': 1.5.25(@swc/helpers@0.5.11)
|
||||
transitivePeerDependencies:
|
||||
- debug
|
||||
|
||||
object-assign@4.1.1: {}
|
||||
|
||||
object-hash@3.0.0: {}
|
||||
@@ -15690,7 +15937,7 @@ snapshots:
|
||||
|
||||
prosemirror-markdown@1.13.0:
|
||||
dependencies:
|
||||
markdown-it: 14.0.0
|
||||
markdown-it: 14.1.0
|
||||
prosemirror-model: 1.22.1
|
||||
|
||||
prosemirror-menu@1.2.4:
|
||||
@@ -15821,7 +16068,7 @@ snapshots:
|
||||
react: 18.3.1
|
||||
scheduler: 0.23.2
|
||||
|
||||
react-email@2.1.4(@swc/helpers@0.5.11)(babel-plugin-macros@2.8.0)(eslint@9.5.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2)):
|
||||
react-email@2.1.4(@swc/helpers@0.5.11)(eslint@9.5.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2)):
|
||||
dependencies:
|
||||
'@babel/core': 7.24.5
|
||||
'@babel/parser': 7.24.5
|
||||
@@ -15848,7 +16095,7 @@ snapshots:
|
||||
glob: 10.3.4
|
||||
log-symbols: 4.1.0
|
||||
mime-types: 2.1.35
|
||||
next: 14.1.4(@babel/core@7.24.5)(babel-plugin-macros@2.8.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
||||
next: 14.1.4(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
||||
normalize-path: 3.0.0
|
||||
ora: 5.4.1
|
||||
postcss: 8.4.38
|
||||
@@ -16449,13 +16696,12 @@ snapshots:
|
||||
minimist: 1.2.8
|
||||
through: 2.3.8
|
||||
|
||||
styled-jsx@5.1.1(@babel/core@7.24.5)(babel-plugin-macros@2.8.0)(react@18.3.1):
|
||||
styled-jsx@5.1.1(@babel/core@7.24.5)(react@18.3.1):
|
||||
dependencies:
|
||||
client-only: 0.0.1
|
||||
react: 18.3.1
|
||||
optionalDependencies:
|
||||
'@babel/core': 7.24.5
|
||||
babel-plugin-macros: 2.8.0
|
||||
|
||||
sucrase@3.35.0:
|
||||
dependencies:
|
||||
@@ -16567,6 +16813,18 @@ snapshots:
|
||||
mkdirp: 1.0.4
|
||||
yallist: 4.0.0
|
||||
|
||||
terser-webpack-plugin@5.3.10(@swc/core@1.3.101(@swc/helpers@0.5.11))(esbuild@0.19.11)(webpack@5.91.0(@swc/core@1.3.101(@swc/helpers@0.5.11))(esbuild@0.19.11)):
|
||||
dependencies:
|
||||
'@jridgewell/trace-mapping': 0.3.25
|
||||
jest-worker: 27.5.1
|
||||
schema-utils: 3.3.0
|
||||
serialize-javascript: 6.0.2
|
||||
terser: 5.29.2
|
||||
webpack: 5.91.0(@swc/core@1.3.101(@swc/helpers@0.5.11))(esbuild@0.19.11)
|
||||
optionalDependencies:
|
||||
'@swc/core': 1.3.101(@swc/helpers@0.5.11)
|
||||
esbuild: 0.19.11
|
||||
|
||||
terser-webpack-plugin@5.3.10(@swc/core@1.5.25(@swc/helpers@0.5.11))(webpack@5.90.1(@swc/core@1.5.25(@swc/helpers@0.5.11))):
|
||||
dependencies:
|
||||
'@jridgewell/trace-mapping': 0.3.25
|
||||
@@ -16578,17 +16836,6 @@ snapshots:
|
||||
optionalDependencies:
|
||||
'@swc/core': 1.5.25(@swc/helpers@0.5.11)
|
||||
|
||||
terser-webpack-plugin@5.3.10(@swc/core@1.5.25(@swc/helpers@0.5.11))(webpack@5.91.0(@swc/core@1.3.101(@swc/helpers@0.5.11))(esbuild@0.19.11)):
|
||||
dependencies:
|
||||
'@jridgewell/trace-mapping': 0.3.25
|
||||
jest-worker: 27.5.1
|
||||
schema-utils: 3.3.0
|
||||
serialize-javascript: 6.0.2
|
||||
terser: 5.29.2
|
||||
webpack: 5.91.0(@swc/core@1.3.101(@swc/helpers@0.5.11))(esbuild@0.19.11)
|
||||
optionalDependencies:
|
||||
'@swc/core': 1.5.25(@swc/helpers@0.5.11)
|
||||
|
||||
terser@5.29.2:
|
||||
dependencies:
|
||||
'@jridgewell/source-map': 0.3.6
|
||||
@@ -16669,11 +16916,11 @@ snapshots:
|
||||
|
||||
ts-interface-checker@0.1.13: {}
|
||||
|
||||
ts-jest@29.1.5(@babel/core@7.24.3)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.3))(jest@29.7.0(@types/node@20.14.9)(babel-plugin-macros@2.8.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2)))(typescript@5.5.2):
|
||||
ts-jest@29.1.5(@babel/core@7.24.3)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.3))(jest@29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2)))(typescript@5.5.2):
|
||||
dependencies:
|
||||
bs-logger: 0.2.6
|
||||
fast-json-stable-stringify: 2.1.0
|
||||
jest: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@2.8.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2))
|
||||
jest: 29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2))
|
||||
jest-util: 29.7.0
|
||||
json5: 2.2.3
|
||||
lodash.memoize: 4.1.2
|
||||
@@ -16697,7 +16944,7 @@ snapshots:
|
||||
typescript: 5.5.2
|
||||
webpack: 5.91.0(@swc/core@1.3.101(@swc/helpers@0.5.11))(esbuild@0.19.11)
|
||||
|
||||
ts-node@10.9.1(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.9)(typescript@5.5.2):
|
||||
ts-node@10.9.1(@swc/core@1.5.25)(@types/node@20.14.9)(typescript@5.5.2):
|
||||
dependencies:
|
||||
'@cspotcode/source-map-support': 0.8.1
|
||||
'@tsconfig/node10': 1.0.9
|
||||
@@ -16778,7 +17025,7 @@ snapshots:
|
||||
|
||||
typescript@5.5.2: {}
|
||||
|
||||
uc.micro@2.0.0: {}
|
||||
uc.micro@2.1.0: {}
|
||||
|
||||
uid2@1.0.0: {}
|
||||
|
||||
@@ -16977,7 +17224,7 @@ snapshots:
|
||||
neo-async: 2.6.2
|
||||
schema-utils: 3.3.0
|
||||
tapable: 2.2.1
|
||||
terser-webpack-plugin: 5.3.10(@swc/core@1.5.25(@swc/helpers@0.5.11))(webpack@5.91.0(@swc/core@1.3.101(@swc/helpers@0.5.11))(esbuild@0.19.11))
|
||||
terser-webpack-plugin: 5.3.10(@swc/core@1.3.101(@swc/helpers@0.5.11))(esbuild@0.19.11)(webpack@5.91.0(@swc/core@1.3.101(@swc/helpers@0.5.11))(esbuild@0.19.11))
|
||||
watchpack: 2.4.1
|
||||
webpack-sources: 3.2.3
|
||||
transitivePeerDependencies:
|
||||
@@ -17101,4 +17348,8 @@ snapshots:
|
||||
|
||||
yocto-queue@0.1.0: {}
|
||||
|
||||
zeed-dom@0.10.11:
|
||||
dependencies:
|
||||
css-what: 6.1.0
|
||||
|
||||
zod@3.23.8: {}
|
||||
|
||||
Reference in New Issue
Block a user