Compare commits

...
Author SHA1 Message Date
Aaryan Khandelwal 546198f3b6 refactor: remove extensions enum from editor package 2026-01-16 19:22:12 +05:30
SangeethaandGitHub fa1b4a102a [WEB-5890] migration: added getting_started_checklist, tips, explored_feature fields on the workspace member table (#8489)
* migration: added getting_started_checklist and tips field

* fix: remove defaults and added explored_features field

* fix: added user table migration
2026-01-15 14:25:31 +05:30
sriramveeraghanta 8399f64bee chore(deps): react router upgraded 2026-01-09 14:43:36 +05:30
Bavisetti NarayanandGitHub 5f3f9d2623 chore: updated migration file name (#8515) 2026-01-09 14:36:45 +05:30
67 changed files with 181 additions and 197 deletions
-1
View File
@@ -45,7 +45,6 @@
"react-dom": "catalog:",
"react-hook-form": "7.51.5",
"react-router": "catalog:",
"react-router-dom": "catalog:",
"serve": "14.2.5",
"swr": "catalog:",
"uuid": "catalog:"
@@ -0,0 +1,38 @@
# Generated by Django 4.2.27 on 2026-01-13 10:38
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('db', '0115_auto_20260105_1406'),
]
operations = [
migrations.AddField(
model_name='profile',
name='notification_view_mode',
field=models.CharField(choices=[('full', 'Full'), ('compact', 'Compact')], default='full', max_length=255),
),
migrations.AddField(
model_name='user',
name='is_password_reset_required',
field=models.BooleanField(default=False),
),
migrations.AddField(
model_name='workspacemember',
name='explored_features',
field=models.JSONField(default=dict),
),
migrations.AddField(
model_name='workspacemember',
name='getting_started_checklist',
field=models.JSONField(default=dict),
),
migrations.AddField(
model_name='workspacemember',
name='tips',
field=models.JSONField(default=dict),
),
]
+8 -2
View File
@@ -84,7 +84,7 @@ class User(AbstractBaseUser, PermissionsMixin):
is_staff = models.BooleanField(default=False)
is_email_verified = models.BooleanField(default=False)
is_password_autoset = models.BooleanField(default=False)
is_password_reset_required = models.BooleanField(default=False)
# random token generated
token = models.CharField(max_length=64, blank=True)
@@ -192,6 +192,10 @@ class Profile(TimeAuditModel):
FRIDAY = 5
SATURDAY = 6
class NotificationViewMode(models.TextChoices):
FULL = "full", "Full"
COMPACT = "compact", "Compact"
START_OF_THE_WEEK_CHOICES = (
(SUNDAY, "Sunday"),
(MONDAY, "Monday"),
@@ -221,7 +225,9 @@ class Profile(TimeAuditModel):
billing_address = models.JSONField(null=True)
has_billing_address = models.BooleanField(default=False)
company_name = models.CharField(max_length=255, blank=True)
notification_view_mode = models.CharField(
max_length=255, choices=NotificationViewMode.choices, default=NotificationViewMode.FULL
)
is_smooth_cursor_enabled = models.BooleanField(default=False)
# mobile
is_mobile_onboarded = models.BooleanField(default=False)
+3
View File
@@ -214,6 +214,9 @@ class WorkspaceMember(BaseModel):
default_props = models.JSONField(default=get_default_props)
issue_props = models.JSONField(default=get_issue_props)
is_active = models.BooleanField(default=True)
getting_started_checklist = models.JSONField(default=dict)
tips = models.JSONField(default=dict)
explored_features = models.JSONField(default=dict)
class Meta:
unique_together = ["workspace", "member", "deleted_at"]
-1
View File
@@ -50,7 +50,6 @@
"react-hook-form": "7.51.5",
"react-popper": "^2.3.0",
"react-router": "catalog:",
"react-router-dom": "catalog:",
"swr": "catalog:",
"uuid": "catalog:"
},
-1
View File
@@ -67,7 +67,6 @@
"react-pdf-html": "^2.1.2",
"react-popper": "^2.3.0",
"react-router": "catalog:",
"react-router-dom": "catalog:",
"recharts": "^2.12.7",
"serve": "14.2.5",
"smooth-scroll-into-view-if-needed": "^2.0.2",
+2 -1
View File
@@ -69,7 +69,8 @@
"prosemirror-view": "1.40.0",
"@types/express": "4.17.23",
"typescript": "catalog:",
"vite": "catalog:"
"vite": "catalog:",
"qs": "6.14.1"
},
"onlyBuiltDependencies": [
"@sentry/cli",
+28 -9
View File
@@ -62,7 +62,9 @@ Retrieves variable declarators from the current collection.
- **Parameters**: `callback` (Function)
- **Example**:
```javascript
const variableDeclarators = j.find(j.Identifier).getVariableDeclarators((path) => path.value.name);
const variableDeclarators = j
.find(j.Identifier)
.getVariableDeclarators((path) => path.value.name);
```
#### `findVariableDeclarators`
@@ -82,7 +84,9 @@ Filters nodes based on a predicate function.
- **Parameters**: `predicate` (Function)
- **Example**:
```javascript
const constDeclarations = j.find(j.VariableDeclaration).filter((path) => path.node.kind === "const");
const constDeclarations = j
.find(j.VariableDeclaration)
.filter((path) => path.node.kind === "const");
```
#### `forEach`
@@ -104,7 +108,9 @@ Checks if at least one element in the collection passes the test.
- **Parameters**: `callback` (Function)
- **Example**:
```javascript
const hasVariableA = root.find(j.VariableDeclarator).some((path) => path.node.id.name === "a");
const hasVariableA = root
.find(j.VariableDeclarator)
.some((path) => path.node.id.name === "a");
```
#### `every`
@@ -114,7 +120,9 @@ Checks if all elements in the collection pass the test.
- **Parameters**: `callback` (Function)
- **Example**:
```javascript
const allAreConst = root.find(j.VariableDeclaration).every((path) => path.node.kind === "const");
const allAreConst = root
.find(j.VariableDeclaration)
.every((path) => path.node.kind === "const");
```
#### `map`
@@ -124,7 +132,9 @@ Maps each node in the collection to a new value.
- **Parameters**: `callback` (Function)
- **Example**:
```javascript
const variableNames = j.find(j.VariableDeclaration).map((path) => path.node.declarations.map((decl) => decl.id.name));
const variableNames = j
.find(j.VariableDeclaration)
.map((path) => path.node.declarations.map((decl) => decl.id.name));
```
#### `size`
@@ -207,7 +217,10 @@ Checks if the node in the collection is of a specific type.
- **Parameters**: `type` (String)
- **Example**:
```javascript
const isVariableDeclarator = root.find(j.VariableDeclarator).at(0).isOfType("VariableDeclarator");
const isVariableDeclarator = root
.find(j.VariableDeclarator)
.at(0)
.isOfType("VariableDeclarator");
```
### Node Transformation APIs
@@ -219,7 +232,9 @@ Replaces the current node(s) with a new node.
- **Parameters**: `newNode` (Node or Function)
- **Example**:
```javascript
j.find(j.Identifier).replaceWith((path) => j.identifier(path.node.name.toUpperCase()));
j.find(j.Identifier).replaceWith((path) =>
j.identifier(path.node.name.toUpperCase())
);
```
#### `insertBefore`
@@ -229,7 +244,9 @@ Inserts a node before the current node.
- **Parameters**: `newNode` (Node)
- **Example**:
```javascript
j.find(j.FunctionDeclaration).insertBefore(j.expressionStatement(j.stringLiteral("Inserted before")));
j.find(j.FunctionDeclaration).insertBefore(
j.expressionStatement(j.stringLiteral("Inserted before"))
);
```
#### `insertAfter`
@@ -239,7 +256,9 @@ Inserts a node after the current node.
- **Parameters**: `newNode` (Node)
- **Example**:
```javascript
j.find(j.FunctionDeclaration).insertAfter(j.expressionStatement(j.stringLiteral("Inserted after")));
j.find(j.FunctionDeclaration).insertAfter(
j.expressionStatement(j.stringLiteral("Inserted after"))
);
```
#### `remove`
+2 -2
View File
@@ -1,6 +1,6 @@
// plane imports
import type { ADDITIONAL_EXTENSIONS } from "@plane/utils";
// helpers
import type { TAssetMetaDataRecord } from "@/helpers/assets";
// local imports
import type { ADDITIONAL_EXTENSIONS } from "./extensions";
export const ADDITIONAL_ASSETS_META_DATA_RECORD: Partial<Record<ADDITIONAL_EXTENSIONS, TAssetMetaDataRecord>> = {};
@@ -1,3 +1 @@
export enum ADDITIONAL_EXTENSIONS {}
export const ADDITIONAL_BLOCK_NODE_TYPES = [];
@@ -6,7 +6,7 @@ import { useCallback, useEffect, useRef } from "react";
import { cn } from "@plane/utils";
// constants
import { DEFAULT_DISPLAY_CONFIG } from "@/constants/config";
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
// components
import type { TCollabValue } from "@/contexts";
import { LinkContainer } from "@/plane-editor/components/link-container";
@@ -3,7 +3,7 @@ import { TableMap } from "@tiptap/pm/tables";
import type { Editor } from "@tiptap/react";
import { MoveHorizontal } from "lucide-react";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
// types
import type { BlockMenuOption } from "./block-menu";
@@ -15,7 +15,7 @@ import { CopyIcon, TrashIcon } from "@plane/propel/icons";
import type { ISvgIcons } from "@plane/propel/icons";
import { cn } from "@plane/utils";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
// types
import type { IEditorProps } from "@/types";
// components
@@ -6,7 +6,7 @@ import { LinkIcon, TrashIcon, CheckIcon } from "@plane/propel/icons";
// plane imports
import { cn } from "@plane/utils";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
// helpers
import { isValidHttpUrl } from "@/helpers/common";
import { setLinkEditor, unsetLinkEditor } from "@/helpers/editor-commands";
@@ -22,7 +22,7 @@ import {
} from "@/components/menus";
// constants
import { COLORS_LIST } from "@/constants/common";
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
// extensions
import { isCellSelection } from "@/extensions/table/table/utilities/helpers";
// types
@@ -25,7 +25,7 @@ import {
import type { LucideIcon } from "lucide-react";
import { LinkIcon } from "@plane/propel/icons";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
// helpers
import {
insertHorizontalRule,
@@ -1,49 +1,5 @@
export enum CORE_EXTENSIONS {
BLOCKQUOTE = "blockquote",
BOLD = "bold",
BULLET_LIST = "bulletList",
CALLOUT = "calloutComponent",
CHARACTER_COUNT = "characterCount",
CODE_BLOCK = "codeBlock",
CODE_INLINE = "code",
CUSTOM_COLOR = "customColor",
CUSTOM_IMAGE = "imageComponent",
CUSTOM_LINK = "link",
DOCUMENT = "doc",
DROP_CURSOR = "dropCursor",
ENTER_KEY = "enterKey",
GAP_CURSOR = "gapCursor",
HARD_BREAK = "hardBreak",
HEADING = "heading",
HEADINGS_LIST = "headingsList",
HISTORY = "history",
HORIZONTAL_RULE = "horizontalRule",
IMAGE = "image",
ITALIC = "italic",
LIST_ITEM = "listItem",
MARKDOWN_CLIPBOARD = "markdownClipboard",
MENTION = "mention",
ORDERED_LIST = "orderedList",
PARAGRAPH = "paragraph",
PLACEHOLDER = "placeholder",
SIDE_MENU = "editorSideMenu",
SLASH_COMMANDS = "slash-command",
STRIKETHROUGH = "strike",
TABLE = "table",
TABLE_CELL = "tableCell",
TABLE_HEADER = "tableHeader",
TABLE_ROW = "tableRow",
TASK_ITEM = "taskItem",
TASK_LIST = "taskList",
TEXT_ALIGN = "textAlign",
TEXT_STYLE = "textStyle",
TYPOGRAPHY = "typography",
UNDERLINE = "underline",
UTILITY = "utility",
WORK_ITEM_EMBED = "issue-embed-component",
EMOJI = "emoji",
UNIQUE_ID = "uniqueID",
}
// plane imports
import { CORE_EXTENSIONS } from "@plane/utils";
export const BLOCK_NODE_TYPES = [
// Basic block nodes
@@ -2,7 +2,7 @@ import { Node, mergeAttributes } from "@tiptap/core";
import type { MarkdownSerializerState } from "@tiptap/pm/markdown";
import type { Node as ProseMirrorNode } from "@tiptap/pm/model";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
// types
import { ECalloutAttributeNames } from "./types";
import type { CustomCalloutExtensionType, TCalloutBlockAttributes } from "./types";
@@ -1,7 +1,7 @@
import { findParentNodeClosestToPos, ReactNodeViewRenderer } from "@tiptap/react";
import type { Predicate } from "@tiptap/react";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
// helpers
import { insertEmptyParagraphAtNodeBoundaries } from "@/helpers/insert-empty-paragraph-at-node-boundary";
// local imports
@@ -1,6 +1,6 @@
import { Mark, markInputRule, markPasteRule, mergeAttributes } from "@tiptap/core";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
type InlineCodeOptions = {
HTMLAttributes: Record<string, unknown>;
@@ -1,7 +1,7 @@
import { mergeAttributes, Node, textblockTypeInputRule } from "@tiptap/core";
import { Plugin, PluginKey } from "@tiptap/pm/state";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
export type CodeBlockOptions = {
/**
@@ -1,7 +1,7 @@
import { Mark, mergeAttributes } from "@tiptap/core";
// constants
import { COLORS_LIST } from "@/constants/common";
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
declare module "@tiptap/core" {
interface Commands<ReturnType> {
@@ -5,7 +5,7 @@ import { useCallback, useEffect, useMemo, useRef } from "react";
import { cn } from "@plane/utils";
// constants
import { ACCEPTED_IMAGE_MIME_TYPES } from "@/constants/config";
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
// helpers
import type { EFileError } from "@/helpers/file";
// hooks
@@ -1,7 +1,7 @@
import { mergeAttributes } from "@tiptap/core";
import { Image as BaseImageExtension } from "@tiptap/extension-image";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
// local imports
import { ECustomImageAttributeNames } from "./types";
import type {
@@ -3,7 +3,7 @@ import { Mark, markPasteRule, mergeAttributes } from "@tiptap/core";
import type { Plugin } from "@tiptap/pm/state";
import { find, registerCustomProtocol, reset } from "linkifyjs";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
// helpers
import { isValidHttpUrl } from "@/helpers/common";
// local imports
@@ -3,7 +3,7 @@ import { getNodeType, getNodeAtPosition, isAtEndOfNode, isAtStartOfNode, isNodeA
import type { Node, NodeType } from "@tiptap/pm/model";
import type { EditorState } from "@tiptap/pm/state";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
const findListItemPos = (typeOrName: string | NodeType, state: EditorState) => {
const { $from } = state.selection;
@@ -1,6 +1,6 @@
import { Extension } from "@tiptap/core";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
// extensions
import { handleBackspace, handleDelete } from "@/extensions/custom-list-keymap/list-helpers";
@@ -2,7 +2,7 @@ import type { EmojiOptions, EmojiStorage } from "@tiptap/extension-emoji";
import { ReactRenderer } from "@tiptap/react";
import type { Editor } from "@tiptap/react";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
// helpers
import { updateFloatingUIFloaterPosition } from "@/helpers/floating-ui";
import type { CommandListInstance } from "@/helpers/tippy";
@@ -1,6 +1,6 @@
import { Extension } from "@tiptap/core";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
export const EnterKeyExtension = (onEnterKeyPress?: () => void) =>
Extension.create({
@@ -1,7 +1,7 @@
import { Extension } from "@tiptap/core";
import { Plugin, PluginKey } from "@tiptap/pm/state";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
// types
import type { IMarking } from "@/types";
@@ -1,7 +1,7 @@
import { isNodeSelection, mergeAttributes, Node, nodeInputRule } from "@tiptap/core";
import { NodeSelection, TextSelection } from "@tiptap/pm/state";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
type HorizontalRuleOptions = {
HTMLAttributes: Record<string, unknown>;
@@ -1,6 +1,6 @@
import { ReactNodeViewRenderer } from "@tiptap/react";
// constants
import type { CORE_EXTENSIONS } from "@/constants/extension";
// plane imports
import type { CORE_EXTENSIONS } from "@plane/utils";
// helpers
import { insertEmptyParagraphAtNodeBoundaries } from "@/helpers/insert-empty-paragraph-at-node-boundary";
// types
@@ -4,7 +4,7 @@ import type { Transaction } from "@tiptap/pm/state";
import { Plugin, PluginKey } from "@tiptap/pm/state";
import { canJoin } from "@tiptap/pm/transform";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
declare module "@tiptap/core" {
interface Commands<ReturnType> {
@@ -2,7 +2,7 @@ import { ReactRenderer } from "@tiptap/react";
import type { Editor } from "@tiptap/react";
import type { SuggestionOptions } from "@tiptap/suggestion";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
// helpers
import { updateFloatingUIFloaterPosition } from "@/helpers/floating-ui";
import type { CommandListInstance } from "@/helpers/tippy";
@@ -1,6 +1,6 @@
import { Placeholder } from "@tiptap/extension-placeholder";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
// types
import type { IEditorProps } from "@/types";
+1 -1
View File
@@ -1,6 +1,6 @@
import Blockquote from "@tiptap/extension-blockquote";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
export const CustomQuoteExtension = Blockquote.extend({
addKeyboardShortcuts() {
@@ -2,7 +2,7 @@ import { Extension } from "@tiptap/core";
import { Plugin, PluginKey } from "@tiptap/pm/state";
import type { EditorView } from "@tiptap/pm/view";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
// plugins
import { AIHandlePlugin } from "@/plugins/ai-handle";
import { DragHandlePlugin, nodeDOMAtCoords } from "@/plugins/drag-handle";
@@ -4,7 +4,7 @@ import { ReactRenderer } from "@tiptap/react";
import Suggestion from "@tiptap/suggestion";
import type { SuggestionOptions } from "@tiptap/suggestion";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
// helpers
import { updateFloatingUIFloaterPosition } from "@/helpers/floating-ui";
import type { CommandListInstance } from "@/helpers/tippy";
@@ -6,7 +6,7 @@ import { ChevronRightIcon } from "@plane/propel/icons";
import { cn } from "@plane/utils";
// constants
import { COLORS_LIST } from "@/constants/common";
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
// TODO: implement text color selector
@@ -16,7 +16,7 @@ import { useCallback, useEffect, useRef, useState } from "react";
// plane imports
import { cn } from "@plane/utils";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
// extensions
import {
findTable,
@@ -16,7 +16,7 @@ import { useCallback, useEffect, useRef, useState } from "react";
// plane imports
import { cn } from "@plane/utils";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
// extensions
import {
findTable,
@@ -1,6 +1,6 @@
import type { Editor } from "@tiptap/core";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
import { CORE_EDITOR_META } from "@/constants/meta";
/**
@@ -1,7 +1,7 @@
import { mergeAttributes, Node } from "@tiptap/core";
import { TableMap } from "@tiptap/pm/tables";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
// helpers
import { findParentNodeOfType } from "@/helpers/common";
// local imports
@@ -1,6 +1,6 @@
import { mergeAttributes, Node } from "@tiptap/core";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
// local imports
import { DEFAULT_COLUMN_WIDTH } from "./table";
@@ -1,6 +1,6 @@
import { mergeAttributes, Node } from "@tiptap/core";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
type TableRowOptions = {
HTMLAttributes: Record<string, unknown>;
@@ -20,7 +20,7 @@ import {
toggleHeaderCell,
} from "@tiptap/pm/tables";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
// local imports
import { TableColumnDragHandlePlugin } from "../plugins/drag-handles/column/plugin";
import { TableRowDragHandlePlugin } from "../plugins/drag-handles/row/plugin";
@@ -4,7 +4,7 @@ import type { Node as ProseMirrorNode } from "@tiptap/pm/model";
import type { CellSelection } from "@tiptap/pm/tables";
import { TableMap } from "@tiptap/pm/tables";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
// extensions
import { isCellEmpty, isCellSelection } from "@/extensions/table/table/utilities/helpers";
@@ -5,7 +5,7 @@ import type { EditorState, Selection, Transaction } from "@tiptap/pm/state";
import { CellSelection, TableMap } from "@tiptap/pm/tables";
import type { Rect } from "@tiptap/pm/tables";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
/**
* @description Check if the selection is a cell selection
@@ -1,6 +1,6 @@
import type { KeyboardShortcutCommand } from "@tiptap/core";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
// helpers
import { findParentNodeOfType } from "@/helpers/common";
@@ -1,6 +1,6 @@
import type { KeyboardShortcutCommand } from "@tiptap/core";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
// helpers
import { findParentNodeOfType } from "@/helpers/common";
@@ -2,7 +2,7 @@ import { Extension } from "@tiptap/core";
import type { NodeType, Node as ProseMirrorNode } from "@tiptap/pm/model";
import { Plugin, PluginKey } from "@tiptap/pm/state";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
function nodeEqualsType({ types, node }: { types: NodeType[]; node: ProseMirrorNode | null }) {
// TODO: check this logic, might be wrong
@@ -1,7 +1,7 @@
import type { InputRule } from "@tiptap/core";
import { Extension } from "@tiptap/core";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
import type { TypographyOptions } from "./inputRules";
import {
emDash,
@@ -3,12 +3,13 @@ import { Extension } from "@tiptap/core";
import type { Node as ProseMirrorNode } from "@tiptap/pm/model";
import type { Transaction } from "@tiptap/pm/state";
import { v4 as uuidv4 } from "uuid";
// plane imports
import { CORE_EXTENSIONS } from "@plane/utils";
// constants
import { CORE_EXTENSIONS, BLOCK_NODE_TYPES } from "@/constants/extension";
import { BLOCK_NODE_TYPES } from "@/constants/extension";
import { ADDITIONAL_BLOCK_NODE_TYPES } from "@/plane-editor/constants/extensions";
import { createUniqueIDPlugin } from "./plugin";
import { createIdsForView } from "./utils";
// plane imports
const COMBINED_BLOCK_NODE_TYPES = [...BLOCK_NODE_TYPES, ...ADDITIONAL_BLOCK_NODE_TYPES];
export type UniqueIDGenerationContext = {
@@ -1,7 +1,7 @@
import { Extension } from "@tiptap/core";
import codemark from "prosemirror-codemark";
// helpers
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
import { restorePublicImages } from "@/helpers/image-helpers";
// plugins
import type { TAdditionalActiveDropbarExtensions } from "@/plane-editor/types/utils";
@@ -1,6 +1,6 @@
import { mergeAttributes, Node } from "@tiptap/core";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
export const WorkItemEmbedExtensionConfig = Node.create({
name: CORE_EXTENSIONS.WORK_ITEM_EMBED,
+1 -1
View File
@@ -3,7 +3,7 @@ import type { EditorState, Selection } from "@tiptap/pm/state";
// plane imports
import { cn } from "@plane/utils";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
type EditorClassNameArgs = {
noBorder?: boolean;
@@ -1,6 +1,6 @@
import type { Editor, Range } from "@tiptap/core";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
// extensions
import { replaceCodeWithText } from "@/extensions/code/utils/replace-code-block-with-text";
import type { InsertImageComponentProps } from "@/extensions/custom-image/types";
@@ -7,7 +7,7 @@ import { convertHTMLToMarkdown } from "@plane/utils";
// components
import { getEditorMenuItems } from "@/components/menus";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
import { CORE_EDITOR_META } from "@/constants/meta";
// types
import type { EditorRefApi, IEditorProps, TEditorCommands } from "@/types";
@@ -1,6 +1,6 @@
import type { Editor } from "@tiptap/core";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
// types
import type { TFileHandler } from "@/types";
@@ -1,7 +1,7 @@
import type { KeyboardShortcutCommand } from "@tiptap/core";
import type { Node as ProseMirrorNode } from "@tiptap/pm/model";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
type Direction = "up" | "down";
@@ -3,7 +3,7 @@ import { Fragment, Slice } from "@tiptap/pm/model";
import { NodeSelection } from "@tiptap/pm/state";
import type { EditorView } from "@tiptap/pm/view";
// constants
import { CORE_EXTENSIONS } from "@/constants/extension";
import { CORE_EXTENSIONS } from "@plane/utils";
// extensions
import type { SideMenuHandleOptions, SideMenuPluginProps } from "@/extensions";
+2 -2
View File
@@ -1,5 +1,5 @@
// constants
import type { CORE_EXTENSIONS } from "@/constants/extension";
// plane imports
import type { CORE_EXTENSIONS } from "@plane/utils";
// plane editor imports
import type { TAdditionalEditorAsset } from "@/plane-editor/types/asset";
-3
View File
@@ -13,9 +13,6 @@ export * from "@/constants/common";
export * from "@/helpers/common";
export * from "@/helpers/yjs-utils";
export { CORE_EXTENSIONS } from "@/constants/extension";
export { ADDITIONAL_EXTENSIONS } from "@/plane-editor/constants/extensions";
// types
export * from "@/types";
+1
View File
@@ -95,6 +95,7 @@ export enum CORE_EXTENSIONS {
UTILITY = "utility",
WORK_ITEM_EMBED = "issue-embed-component",
EMOJI = "emoji",
UNIQUE_ID = "uniqueID",
}
export enum ADDITIONAL_EXTENSIONS {}
+41 -73
View File
@@ -82,11 +82,8 @@ catalogs:
specifier: 18.3.1
version: 18.3.1
react-router:
specifier: 7.9.5
version: 7.9.5
react-router-dom:
specifier: 7.9.5
version: 7.9.5
specifier: 7.12.0
version: 7.12.0
swr:
specifier: 2.2.4
version: 2.2.4
@@ -115,6 +112,7 @@ overrides:
'@types/express': 4.17.23
typescript: 5.8.3
vite: 7.1.11
qs: 6.14.1
importers:
@@ -227,10 +225,10 @@ importers:
version: link:../../packages/utils
'@react-router/node':
specifier: 'catalog:'
version: 7.9.5(react-router@7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3)
version: 7.9.5(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3)
'@sentry/react-router':
specifier: 'catalog:'
version: 10.27.0(@react-router/node@7.9.5(react-router@7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3))(react-router@7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
version: 10.27.0(@react-router/node@7.9.5(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3))(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
'@tanstack/react-virtual':
specifier: ^3.13.12
version: 3.13.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@@ -269,10 +267,7 @@ importers:
version: 7.51.5(react@18.3.1)
react-router:
specifier: 'catalog:'
version: 7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react-router-dom:
specifier: 'catalog:'
version: 7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
version: 7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
serve:
specifier: 14.2.5
version: 14.2.5
@@ -294,7 +289,7 @@ importers:
version: link:../../packages/typescript-config
'@react-router/dev':
specifier: 'catalog:'
version: 7.9.5(@react-router/serve@7.9.5(react-router@7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3))(@types/node@22.12.0)(babel-plugin-macros@3.1.0)(jiti@2.6.1)(lightningcss@1.30.2)(react-router@7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.43.1)(typescript@5.8.3)(vite@7.1.11(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))(yaml@2.8.1)
version: 7.9.5(@react-router/serve@7.9.5(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3))(@types/node@22.12.0)(babel-plugin-macros@3.1.0)(jiti@2.6.1)(lightningcss@1.30.2)(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.43.1)(typescript@5.8.3)(vite@7.1.11(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))(yaml@2.8.1)
'@types/lodash-es':
specifier: 'catalog:'
version: 4.17.12
@@ -475,13 +470,13 @@ importers:
version: 2.11.8
'@react-router/node':
specifier: 'catalog:'
version: 7.9.5(react-router@7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3)
version: 7.9.5(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3)
'@react-router/serve':
specifier: 'catalog:'
version: 7.9.5(react-router@7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3)
version: 7.9.5(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3)
'@sentry/react-router':
specifier: 'catalog:'
version: 10.27.0(@react-router/node@7.9.5(react-router@7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3))(react-router@7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
version: 10.27.0(@react-router/node@7.9.5(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3))(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
axios:
specifier: 'catalog:'
version: 1.12.0
@@ -529,10 +524,7 @@ importers:
version: 2.3.0(@popperjs/core@2.11.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react-router:
specifier: 'catalog:'
version: 7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react-router-dom:
specifier: 'catalog:'
version: 7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
version: 7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
swr:
specifier: 'catalog:'
version: 2.2.4(react@18.3.1)
@@ -551,7 +543,7 @@ importers:
version: link:../../packages/typescript-config
'@react-router/dev':
specifier: 'catalog:'
version: 7.9.5(@react-router/serve@7.9.5(react-router@7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3))(@types/node@22.12.0)(babel-plugin-macros@3.1.0)(jiti@2.6.1)(lightningcss@1.30.2)(react-router@7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.43.1)(typescript@5.8.3)(vite@7.1.11(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))(yaml@2.8.1)
version: 7.9.5(@react-router/serve@7.9.5(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3))(@types/node@22.12.0)(babel-plugin-macros@3.1.0)(jiti@2.6.1)(lightningcss@1.30.2)(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.43.1)(typescript@5.8.3)(vite@7.1.11(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))(yaml@2.8.1)
'@tailwindcss/typography':
specifier: 0.5.19
version: 0.5.19
@@ -644,10 +636,10 @@ importers:
version: 3.4.5(react@18.3.1)
'@react-router/node':
specifier: 'catalog:'
version: 7.9.5(react-router@7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3)
version: 7.9.5(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3)
'@sentry/react-router':
specifier: 'catalog:'
version: 10.27.0(@react-router/node@7.9.5(react-router@7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3))(react-router@7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
version: 10.27.0(@react-router/node@7.9.5(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3))(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
'@tanstack/react-table':
specifier: ^8.21.3
version: 8.21.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@@ -728,10 +720,7 @@ importers:
version: 2.3.0(@popperjs/core@2.11.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react-router:
specifier: 'catalog:'
version: 7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react-router-dom:
specifier: 'catalog:'
version: 7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
version: 7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
recharts:
specifier: ^2.12.7
version: 2.15.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@@ -762,7 +751,7 @@ importers:
version: link:../../packages/typescript-config
'@react-router/dev':
specifier: 'catalog:'
version: 7.9.5(@react-router/serve@7.9.5(react-router@7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3))(@types/node@22.12.0)(babel-plugin-macros@3.1.0)(jiti@2.6.1)(lightningcss@1.30.2)(react-router@7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.43.1)(typescript@5.8.3)(vite@7.1.11(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))(yaml@2.8.1)
version: 7.9.5(@react-router/serve@7.9.5(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3))(@types/node@22.12.0)(babel-plugin-macros@3.1.0)(jiti@2.6.1)(lightningcss@1.30.2)(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.43.1)(typescript@5.8.3)(vite@7.1.11(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))(yaml@2.8.1)
'@tailwindcss/typography':
specifier: 0.5.19
version: 0.5.19
@@ -7871,12 +7860,8 @@ packages:
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
qs@6.13.0:
resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==}
engines: {node: '>=0.6'}
qs@6.14.0:
resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==}
qs@6.14.1:
resolution: {integrity: sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==}
engines: {node: '>=0.6'}
quansync@0.2.11:
@@ -8020,15 +8005,8 @@ packages:
'@types/react':
optional: true
react-router-dom@7.9.5:
resolution: {integrity: sha512-mkEmq/K8tKN63Ae2M7Xgz3c9l9YNbY+NHH6NNeUmLA3kDkhKXRsNb/ZpxaEunvGo2/3YXdk5EJU3Hxp3ocaBPw==}
engines: {node: '>=20.0.0'}
peerDependencies:
react: '>=18'
react-dom: '>=18'
react-router@7.9.5:
resolution: {integrity: sha512-JmxqrnBZ6E9hWmf02jzNn9Jm3UqyeimyiwzD69NjxGySG6lIz/1LVPsoTCwN7NBX2XjCEa1LIX5EMz1j2b6u6A==}
react-router@7.12.0:
resolution: {integrity: sha512-kTPDYPFzDVGIIGNLS5VJykK0HfHLY5MF3b+xj0/tTyNYL1gF1qs7u67Z9jEhQk2sQ98SUaHxlG31g1JtF7IfVw==}
engines: {node: '>=20.0.0'}
peerDependencies:
react: '>=18'
@@ -11005,7 +10983,7 @@ snapshots:
'@react-pdf/primitives': 4.1.1
'@react-pdf/stylesheet': 6.1.0
'@react-router/dev@7.9.5(@react-router/serve@7.9.5(react-router@7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3))(@types/node@22.12.0)(babel-plugin-macros@3.1.0)(jiti@2.6.1)(lightningcss@1.30.2)(react-router@7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.43.1)(typescript@5.8.3)(vite@7.1.11(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))(yaml@2.8.1)':
'@react-router/dev@7.9.5(@react-router/serve@7.9.5(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3))(@types/node@22.12.0)(babel-plugin-macros@3.1.0)(jiti@2.6.1)(lightningcss@1.30.2)(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.43.1)(typescript@5.8.3)(vite@7.1.11(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))(yaml@2.8.1)':
dependencies:
'@babel/core': 7.28.4
'@babel/generator': 7.28.5
@@ -11015,7 +10993,7 @@ snapshots:
'@babel/traverse': 7.28.4
'@babel/types': 7.28.5
'@npmcli/package-json': 4.0.1
'@react-router/node': 7.9.5(react-router@7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3)
'@react-router/node': 7.9.5(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3)
'@remix-run/node-fetch-server': 0.9.0
arg: 5.0.2
babel-dead-code-elimination: 1.0.10
@@ -11031,14 +11009,14 @@ snapshots:
picocolors: 1.1.1
prettier: 3.7.4
react-refresh: 0.14.2
react-router: 7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react-router: 7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
semver: 7.7.3
tinyglobby: 0.2.15
valibot: 1.2.0(typescript@5.8.3)
vite: 7.1.11(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)
vite-node: 3.2.4(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)
optionalDependencies:
'@react-router/serve': 7.9.5(react-router@7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3)
'@react-router/serve': 7.9.5(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3)
typescript: 5.8.3
transitivePeerDependencies:
- '@types/node'
@@ -11056,31 +11034,31 @@ snapshots:
- tsx
- yaml
'@react-router/express@7.9.5(express@4.22.0)(react-router@7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3)':
'@react-router/express@7.9.5(express@4.22.0)(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3)':
dependencies:
'@react-router/node': 7.9.5(react-router@7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3)
'@react-router/node': 7.9.5(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3)
express: 4.22.0
react-router: 7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react-router: 7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
optionalDependencies:
typescript: 5.8.3
'@react-router/node@7.9.5(react-router@7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3)':
'@react-router/node@7.9.5(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3)':
dependencies:
'@mjackson/node-fetch-server': 0.2.0
react-router: 7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react-router: 7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
optionalDependencies:
typescript: 5.8.3
'@react-router/serve@7.9.5(react-router@7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3)':
'@react-router/serve@7.9.5(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3)':
dependencies:
'@mjackson/node-fetch-server': 0.2.0
'@react-router/express': 7.9.5(express@4.22.0)(react-router@7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3)
'@react-router/node': 7.9.5(react-router@7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3)
'@react-router/express': 7.9.5(express@4.22.0)(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3)
'@react-router/node': 7.9.5(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3)
compression: 1.8.1
express: 4.22.0
get-port: 5.1.1
morgan: 1.10.1
react-router: 7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react-router: 7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
source-map-support: 0.5.21
transitivePeerDependencies:
- supports-color
@@ -11378,13 +11356,13 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@sentry/react-router@10.27.0(@react-router/node@7.9.5(react-router@7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3))(react-router@7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)':
'@sentry/react-router@10.27.0(@react-router/node@7.9.5(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3))(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0)
'@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0)
'@opentelemetry/semantic-conventions': 1.37.0
'@react-router/node': 7.9.5(react-router@7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3)
'@react-router/node': 7.9.5(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3)
'@sentry/browser': 10.27.0
'@sentry/cli': 2.58.2
'@sentry/core': 10.27.0
@@ -11393,7 +11371,7 @@ snapshots:
'@sentry/vite-plugin': 4.6.0
glob: 11.1.0
react: 18.3.1
react-router: 7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react-router: 7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
transitivePeerDependencies:
- encoding
- supports-color
@@ -13180,7 +13158,7 @@ snapshots:
http-errors: 2.0.0
iconv-lite: 0.4.24
on-finished: 2.4.1
qs: 6.13.0
qs: 6.14.1
raw-body: 2.5.2
type-is: 1.6.18
unpipe: 1.0.0
@@ -14357,7 +14335,7 @@ snapshots:
parseurl: 1.3.3
path-to-regexp: 0.1.12
proxy-addr: 2.0.7
qs: 6.14.0
qs: 6.14.1
range-parser: 1.2.1
safe-buffer: 5.2.1
send: 0.19.0
@@ -16746,11 +16724,7 @@ snapshots:
punycode@2.3.1: {}
qs@6.13.0:
dependencies:
side-channel: 1.1.0
qs@6.14.0:
qs@6.14.1:
dependencies:
side-channel: 1.1.0
@@ -16945,13 +16919,7 @@ snapshots:
optionalDependencies:
'@types/react': 18.3.11
react-router-dom@7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
react-router: 7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react-router@7.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
cookie: 1.0.2
react: 18.3.1
@@ -18136,7 +18104,7 @@ snapshots:
url@0.11.4:
dependencies:
punycode: 1.4.1
qs: 6.14.0
qs: 6.14.1
use-callback-ref@1.3.3(@types/react@18.3.11)(react@18.3.1):
dependencies:
+1 -2
View File
@@ -30,8 +30,7 @@ catalog:
mobx-utils: 6.0.8
mobx: 6.12.0
react-dom: 18.3.1
react-router-dom: 7.9.5
react-router: 7.9.5
react-router: 7.12.0
react: 18.3.1
swr: 2.2.4
tsdown: 0.16.0