mirror of
https://github.com/penxio/penx.git
synced 2026-04-19 03:03:06 -04:00
refactor: refactor types
This commit is contained in:
@@ -34,7 +34,7 @@ const config = {
|
||||
'@penx/service',
|
||||
'@penx/serializer',
|
||||
'@penx/store',
|
||||
'@penx/types',
|
||||
'@penx/model-types',
|
||||
'@penx/cmdk',
|
||||
'@penx/indexeddb',
|
||||
'@penx/event',
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
"@penx/icons": "workspace:*",
|
||||
"@penx/local-db": "workspace:*",
|
||||
"@penx/shared": "workspace:*",
|
||||
"@penx/types": "workspace:*",
|
||||
"@penx/model-types": "workspace:*",
|
||||
"@penx/store": "workspace:*",
|
||||
"@udecode/plate-common": "^24.4.0",
|
||||
"jotai": "^2.4.2",
|
||||
|
||||
@@ -5,7 +5,7 @@ import { ListsEditor } from 'slate-lists'
|
||||
import { TElement, useEditorStatic } from '@penx/editor-common'
|
||||
import { selectEditor } from '@penx/editor-transforms'
|
||||
import { useExtensionStore } from '@penx/hooks'
|
||||
import { INode, NodeType } from '@penx/types'
|
||||
import { INode, NodeType } from '@penx/model-types'
|
||||
import { isBlockSelector } from '../isBlockSelector'
|
||||
import { useKeyDownList } from '../useKeyDownList'
|
||||
import { BlockSelectorItem } from './BlockSelectorItem'
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
"@penx/paragraph": "workspace:*",
|
||||
"@penx/tag": "workspace:*",
|
||||
"@penx/shared": "workspace:*",
|
||||
"@penx/types": "workspace:*",
|
||||
"@penx/model-types": "workspace:*",
|
||||
"@tanstack/react-query": "^4.35.7",
|
||||
"framer-motion": "^10.12.16",
|
||||
"immer": "^10.0.2",
|
||||
|
||||
@@ -14,7 +14,7 @@ import {
|
||||
INode,
|
||||
IRowNode,
|
||||
IViewNode,
|
||||
} from '@penx/types'
|
||||
} from '@penx/model-types'
|
||||
|
||||
export interface IDatabaseContext {
|
||||
database: INode
|
||||
|
||||
@@ -7,7 +7,13 @@ import {
|
||||
useState,
|
||||
} from 'react'
|
||||
import { db } from '@penx/local-db'
|
||||
import { ICellNode, IColumnNode, INode, IRowNode, IViewNode } from '@penx/types'
|
||||
import {
|
||||
ICellNode,
|
||||
IColumnNode,
|
||||
INode,
|
||||
IRowNode,
|
||||
IViewNode,
|
||||
} from '@penx/model-types'
|
||||
|
||||
export interface ILiveQueryContext {
|
||||
database: INode
|
||||
|
||||
@@ -7,7 +7,7 @@ import {
|
||||
PopoverTrigger,
|
||||
usePopoverContext,
|
||||
} from 'uikit'
|
||||
import { FieldType } from '@penx/types'
|
||||
import { FieldType } from '@penx/model-types'
|
||||
import { useDatabaseContext } from '../DatabaseContext'
|
||||
|
||||
const WrapIcon = styled('div', ['gray500'])
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { ICellNode } from '@penx/types'
|
||||
import { ICellNode } from '@penx/model-types'
|
||||
|
||||
export interface CellProps {
|
||||
index: number
|
||||
|
||||
@@ -3,7 +3,7 @@ import isEqual from 'react-fast-compare'
|
||||
import { css } from '@fower/react'
|
||||
import { motion } from 'framer-motion'
|
||||
import { db } from '@penx/local-db'
|
||||
import { FieldType, ICellNode, IColumnNode } from '@penx/types'
|
||||
import { FieldType, ICellNode, IColumnNode } from '@penx/model-types'
|
||||
import { columnWidthMotion } from '../../../columnWidthMotion'
|
||||
import { CreatedAtCell } from './CreatedAt'
|
||||
import { TextCell } from './Text'
|
||||
|
||||
@@ -2,7 +2,7 @@ import { useState } from 'react'
|
||||
import { Box, styled } from '@fower/react'
|
||||
import { motion, useMotionValue, useTransform } from 'framer-motion'
|
||||
import { MenuItem, Popover, PopoverContent, PopoverTrigger } from 'uikit'
|
||||
import { IColumnNode } from '@penx/types'
|
||||
import { IColumnNode } from '@penx/model-types'
|
||||
import { columnWidthMotion } from '../../../columnWidthMotion'
|
||||
import { FieldIcon } from '../FieldIcon'
|
||||
import { ResizeHandle } from './ResizeHandle'
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Box, css, styled } from '@fower/react'
|
||||
import { motion, MotionValue } from 'framer-motion'
|
||||
import { db } from '@penx/local-db'
|
||||
import { IColumnNode } from '@penx/types'
|
||||
import { IColumnNode } from '@penx/model-types'
|
||||
|
||||
interface Props {
|
||||
x: MotionValue<number>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Box } from '@fower/react'
|
||||
import { Hash, Home, Lock } from 'lucide-react'
|
||||
import { FieldType } from '@penx/types'
|
||||
import { FieldType } from '@penx/model-types'
|
||||
import { IconSingleLineText } from './IconSingleLineText'
|
||||
import { IconSingleSelect } from './IconSingleSelect'
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Box } from '@fower/react'
|
||||
import { ContextMenu, MenuItem, useContextMenu } from '@penx/context-menu'
|
||||
import { ICellNode, IColumnNode, IRowNode } from '@penx/types'
|
||||
import { ICellNode, IColumnNode, IRowNode } from '@penx/model-types'
|
||||
import { FIRST_COL_WIDTH } from '../../constants'
|
||||
import { IconDrag } from '../icons/IconDrag'
|
||||
import { TableCell } from './Cell'
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
"@fower/react": "^2.0.0",
|
||||
"@penx/constants": "workspace:*",
|
||||
"@penx/encryption": "workspace:*",
|
||||
"@penx/types": "workspace:*",
|
||||
"@penx/model-types": "workspace:*",
|
||||
"@penx/editor-queries": "workspace:*",
|
||||
"@penx/editor-shared": "workspace:*",
|
||||
"@penx/editor-transforms": "workspace:*",
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
"@penx/remark-slate": "workspace:*",
|
||||
"@penx/serializer": "workspace:*",
|
||||
"@penx/store": "workspace:*",
|
||||
"@penx/types": "workspace:*",
|
||||
"@penx/model-types": "workspace:*",
|
||||
"date-fns": "^2.30.0",
|
||||
"lucide-react": "^0.289.0",
|
||||
"mitt": "^3.0.0",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { PenxEditor, TElement } from '@penx/editor-common'
|
||||
import { getCurrentPath, getNodeByPath } from '@penx/editor-queries'
|
||||
import { NodeType } from '@penx/types'
|
||||
import { NodeType } from '@penx/model-types'
|
||||
|
||||
function isNotEditable(editor: PenxEditor) {
|
||||
const path = getCurrentPath(editor)!
|
||||
|
||||
@@ -2,7 +2,7 @@ import { memo, useMemo } from 'react'
|
||||
import isEqual from 'react-fast-compare'
|
||||
import { Box } from '@fower/react'
|
||||
import { extractTags, useEditorStatic } from '@penx/editor-common'
|
||||
import { NodeType } from '@penx/types'
|
||||
import { NodeType } from '@penx/model-types'
|
||||
import { useBulletVisible } from '../hooks/useBulletVisible'
|
||||
import { ListContentElement } from '../types'
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import { Editor, Node, Transforms } from 'slate'
|
||||
import { ReactEditor } from 'slate-react'
|
||||
import { useEditorStatic } from '@penx/editor-common'
|
||||
import { ElementProps } from '@penx/extension-typings'
|
||||
import { NodeType } from '@penx/types'
|
||||
import { NodeType } from '@penx/model-types'
|
||||
import { insertEmptyList } from '../transforms/insertEmptyList'
|
||||
import { TitleElement } from '../types'
|
||||
import { DailyNoteNav } from './DailyNoteNav'
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
"@penx/editor-transforms": "workspace:*",
|
||||
"@penx/extension-typings": "*",
|
||||
"@penx/hooks": "workspace:*",
|
||||
"@penx/types": "workspace:*",
|
||||
"@penx/model-types": "workspace:*",
|
||||
"@penx/icons": "workspace:*",
|
||||
"@penx/local-db": "workspace:*",
|
||||
"@penx/shared": "workspace:*",
|
||||
|
||||
@@ -5,8 +5,8 @@ import { useEditorStatic } from '@penx/editor-common'
|
||||
import { findNodePath } from '@penx/editor-queries'
|
||||
import { useNodes } from '@penx/hooks'
|
||||
import { db } from '@penx/local-db'
|
||||
import { INode } from '@penx/model-types'
|
||||
import { store } from '@penx/store'
|
||||
import { INode } from '@penx/types'
|
||||
import { ELEMENT_TAG } from '../constants'
|
||||
import { TagElement } from '../types'
|
||||
import { useKeyDownList } from '../useKeyDownList'
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
"@penx/editor-types": "workspace:*",
|
||||
"@penx/editor-common": "workspace:*",
|
||||
"@penx/serializer": "workspace:*",
|
||||
"@penx/types": "workspace:*",
|
||||
"@penx/model-types": "workspace:*",
|
||||
"@penx/local-db": "workspace:*",
|
||||
"@penx/shared": "workspace:*",
|
||||
"@prisma/client": "^5.2.0",
|
||||
|
||||
@@ -3,10 +3,20 @@ import { z } from 'zod'
|
||||
import { decryptString, encryptString } from '@penx/encryption'
|
||||
import { getNewNode } from '@penx/local-db'
|
||||
import { User } from '@penx/model'
|
||||
import { INode, TreeItem } from '@penx/types'
|
||||
import { INode } from '@penx/model-types'
|
||||
import { getTokenByInstallationId } from '../service/getTokenByInstallationId'
|
||||
import { createTRPCRouter, publicProcedure } from '../trpc'
|
||||
|
||||
export type TreeItem = {
|
||||
path: string
|
||||
// mode: '100644' | '100755' | '040000' | '160000' | '120000'
|
||||
mode: '100644'
|
||||
// type: 'blob' | 'tree' | 'commit'
|
||||
type: 'blob'
|
||||
content?: string
|
||||
sha?: string | null
|
||||
}
|
||||
|
||||
export const inboxRouter = createTRPCRouter({
|
||||
addText: publicProcedure
|
||||
.input(
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
"@penx/shared": "workspace:*",
|
||||
"@penx/store": "workspace:*",
|
||||
"@penx/trpc-client": "workspace:*",
|
||||
"@penx/types": "workspace:*",
|
||||
"@penx/model-types": "workspace:*",
|
||||
"@prisma/nextjs-monorepo-workaround-plugin": "^5.1.1",
|
||||
"@radix-ui/react-dialog": "^1.0.4",
|
||||
"@radix-ui/react-hover-card": "^1.0.6",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Box } from '@fower/react'
|
||||
import { Button, Input, ModalClose } from 'uikit'
|
||||
import { useCreateSpaceForm } from '@penx/hooks'
|
||||
import { ISpace } from '@penx/types'
|
||||
import { ISpace } from '@penx/model-types'
|
||||
|
||||
interface Props {
|
||||
showCancel?: boolean
|
||||
|
||||
@@ -2,8 +2,8 @@ import { useEffect } from 'react'
|
||||
import { useQuery } from '@tanstack/react-query'
|
||||
import { atom, useAtom } from 'jotai'
|
||||
import { db } from '@penx/local-db'
|
||||
import { IExtension } from '@penx/model-types'
|
||||
import { store } from '@penx/store'
|
||||
import { IExtension } from '@penx/types'
|
||||
|
||||
export const installedExtensionsAtom = atom<IExtension[]>([])
|
||||
|
||||
|
||||
@@ -3,8 +3,7 @@ import { useAtom } from 'jotai'
|
||||
import { CalendarDays, Cloud, Folder, Hash, Inbox, Trash2 } from 'lucide-react'
|
||||
import { useAccount } from 'wagmi'
|
||||
import { useNodes } from '@penx/hooks'
|
||||
import { extensionStoreAtom, store } from '@penx/store'
|
||||
import { ExtensionStore } from '@penx/types'
|
||||
import { ExtensionStore, extensionStoreAtom, store } from '@penx/store'
|
||||
import { FavoriteBox } from './FavoriteBox/FavoriteBox'
|
||||
import { SidebarItem } from './SidebarItem'
|
||||
import { SpacePopover } from './SpacePopover'
|
||||
|
||||
@@ -9,8 +9,8 @@ import {
|
||||
} from 'uikit'
|
||||
import { ModalNames } from '@penx/constants'
|
||||
import { useSpaces } from '@penx/hooks'
|
||||
import { ISpace } from '@penx/model-types'
|
||||
import { store } from '@penx/store'
|
||||
import { ISpace } from '@penx/types'
|
||||
|
||||
function SpaceItem({
|
||||
item,
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import { Box } from '@fower/react'
|
||||
import { useAtom } from 'jotai'
|
||||
import { extensionStoreAtom } from '@penx/store'
|
||||
import { ExtensionStore } from '@penx/types'
|
||||
import { ExtensionStore, extensionStoreAtom } from '@penx/store'
|
||||
import { SyncPopover } from './SyncPopover'
|
||||
|
||||
function getStatusBarComponents(extensionStore: ExtensionStore): any[] {
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
"@penx/editor-transforms": "workspace:*",
|
||||
"@penx/editor-types": "workspace:*",
|
||||
"@penx/extension-typings": "*",
|
||||
"@penx/types": "workspace:*",
|
||||
"@penx/model-types": "workspace:*",
|
||||
"@penx/heading": "workspace:*",
|
||||
"@penx/blockquote": "workspace:*",
|
||||
"@penx/list": "workspace:*",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { createContext, PropsWithChildren, useContext } from 'react'
|
||||
import { ISpace } from '@penx/types'
|
||||
import { ISpace } from '@penx/model-types'
|
||||
|
||||
type Context = {
|
||||
doc?: any
|
||||
|
||||
@@ -13,6 +13,7 @@ import {
|
||||
} from '@penx/editor-queries'
|
||||
import { useExtensionStore } from '@penx/hooks'
|
||||
import { ELEMENT_LIC, isTitle } from '@penx/list'
|
||||
import { NodeType } from '@penx/model-types'
|
||||
import {
|
||||
ELEMENT_P,
|
||||
getEmptyParagraph,
|
||||
@@ -20,7 +21,6 @@ import {
|
||||
ParagraphElement,
|
||||
} from '@penx/paragraph'
|
||||
import { isTable } from '@penx/table'
|
||||
import { NodeType } from '@penx/types'
|
||||
|
||||
type WithFns = (editor: Editor) => Editor
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
"@penx/shared": "workspace:*",
|
||||
"@penx/store": "workspace:*",
|
||||
"@penx/trpc-client": "workspace:*",
|
||||
"@penx/types": "workspace:*",
|
||||
"@penx/model-types": "workspace:*",
|
||||
"@tanstack/react-query": "^4.35.7",
|
||||
"jotai": "^2.4.2",
|
||||
"ky": "^1.0.1",
|
||||
|
||||
@@ -2,8 +2,8 @@ import { SubmitHandler, useForm } from 'react-hook-form'
|
||||
import { zodResolver } from '@hookform/resolvers/zod'
|
||||
import { z } from 'zod'
|
||||
import { useModalContext } from 'uikit'
|
||||
import { ISpace } from '@penx/model-types'
|
||||
import { store } from '@penx/store'
|
||||
import { ISpace } from '@penx/types'
|
||||
|
||||
export type CreateSpaceValues = {
|
||||
description: string
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { db } from '@penx/local-db'
|
||||
import { INode, NodeType } from '@penx/model-types'
|
||||
import { sleep } from '@penx/shared'
|
||||
import { INode, NodeType } from '@penx/types'
|
||||
|
||||
const INTERVAL = 10 * 1000
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
"@penx/constants": "workspace:*",
|
||||
"@penx/indexeddb": "workspace:*",
|
||||
"@penx/model": "workspace:*",
|
||||
"@penx/types": "workspace:*",
|
||||
"@penx/model-types": "workspace:*",
|
||||
"mitt": "^3.0.0",
|
||||
"nanoid": "^4.0.2"
|
||||
},
|
||||
|
||||
@@ -14,7 +14,7 @@ import {
|
||||
IViewNode,
|
||||
NodeType,
|
||||
ViewType,
|
||||
} from '@penx/types'
|
||||
} from '@penx/model-types'
|
||||
import { getNewNode } from './getNewNode'
|
||||
import { getNewSpace } from './getNewSpace'
|
||||
import { getTagColor } from './getTagColor'
|
||||
@@ -351,13 +351,6 @@ class DB {
|
||||
return newNode
|
||||
}
|
||||
|
||||
// TODO: need improve
|
||||
getDatabaseRootNode = async (spaceId: string) => {
|
||||
const nodes = await db.node.selectByIndexAll('type', NodeType.DATABASE_ROOT)
|
||||
const databaseRootNode = nodes.find((node) => node.spaceId === spaceId)
|
||||
return databaseRootNode!
|
||||
}
|
||||
|
||||
createDatabase = async (name: string, shouldInitCell = false) => {
|
||||
// const { id = '' } = data
|
||||
const space = await this.getActiveSpace()
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import mitt from 'mitt'
|
||||
import { INode } from '@penx/types'
|
||||
import { INode } from '@penx/model-types'
|
||||
|
||||
export type DBEvents = {
|
||||
REF_NODE_UPDATED: INode
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { nanoid } from 'nanoid'
|
||||
import { ELEMENT_P } from '@penx/constants'
|
||||
import { INode, NodeType } from '@penx/types'
|
||||
import { INode, NodeType } from '@penx/model-types'
|
||||
|
||||
type Input = {
|
||||
spaceId: string
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { nanoid } from 'nanoid'
|
||||
import { SettingsType } from '@penx/constants'
|
||||
import { ISpace } from '@penx/types'
|
||||
import { ISpace } from '@penx/model-types'
|
||||
|
||||
export function getNewSpace(data: Partial<ISpace>): ISpace {
|
||||
return {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "@penx/types",
|
||||
"name": "@penx/model-types",
|
||||
"version": "0.0.0",
|
||||
"main": "./src/index.ts",
|
||||
"types": "./src/index.ts",
|
||||
1
packages/model-types/src/index.ts
Normal file
1
packages/model-types/src/index.ts
Normal file
@@ -0,0 +1 @@
|
||||
export * from './interfaces'
|
||||
@@ -21,7 +21,7 @@
|
||||
"dependencies": {
|
||||
"@penx/autoformat": "workspace:*",
|
||||
"@penx/constants": "workspace:*",
|
||||
"@penx/types": "workspace:*",
|
||||
"@penx/model-types": "workspace:*",
|
||||
"@prisma/client": "^5.2.0",
|
||||
"crypto-js": "^4.1.1",
|
||||
"date-fns": "^2.30.0",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { IFile } from '@penx/types'
|
||||
import { IFile } from '@penx/model-types'
|
||||
|
||||
function formatFileSize(bytes: number): string {
|
||||
if (bytes < 1024) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { format } from 'date-fns'
|
||||
import { INode, NodeType } from '@penx/types'
|
||||
import { INode, NodeType } from '@penx/model-types'
|
||||
|
||||
type Element = {
|
||||
id: string
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { ISpace } from '@penx/types'
|
||||
import { ISpace } from '@penx/model-types'
|
||||
|
||||
export class Settings {
|
||||
syncExtensionId = 'github-sync'
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import CryptoJS from 'crypto-js'
|
||||
import { ISpace } from '@penx/types'
|
||||
import { ISpace } from '@penx/model-types'
|
||||
|
||||
export interface SnapshotDiffResult {
|
||||
isEqual: boolean
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { ISpace } from '@penx/types'
|
||||
import { ISpace } from '@penx/model-types'
|
||||
import { Settings } from './Settings'
|
||||
import { Snapshot } from './Snapshot'
|
||||
import { GithubInfo } from './User'
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
"typescript": "^5.1.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"@penx/types": "workspace:*",
|
||||
"@penx/model-types": "workspace:*",
|
||||
"@penx/constants": "workspace:*",
|
||||
"escape-html": "^1.0.3"
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
"dependencies": {
|
||||
"@penx/local-db": "workspace:*",
|
||||
"@penx/trpc-client": "workspace:*",
|
||||
"@penx/types": "workspace:*",
|
||||
"@penx/model-types": "workspace:*",
|
||||
"@penx/constants": "workspace:*",
|
||||
"@penx/model": "workspace:*"
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
"@penx/serializer": "workspace:^",
|
||||
"@penx/store": "workspace:*",
|
||||
"@penx/trpc-client": "workspace:*",
|
||||
"@penx/types": "workspace:*",
|
||||
"@penx/model-types": "workspace:*",
|
||||
"date-fns": "^2.30.0",
|
||||
"diff-match-patch": "^1.0.5",
|
||||
"immer": "^10.0.2",
|
||||
|
||||
@@ -2,7 +2,7 @@ import { Editor } from 'slate'
|
||||
import type { AutoformatRule } from '@penx/autoformat'
|
||||
import { PenxEditor } from '@penx/editor-common'
|
||||
import { BlockElement, OnBlur, OnKeyDown } from '@penx/extension-typings'
|
||||
import { ExtensionStore as ExtensionStoreJSON } from '@penx/types'
|
||||
import { ExtensionStore as ExtensionStoreJSON } from '@penx/store'
|
||||
|
||||
export class ExtensionStore {
|
||||
rules: AutoformatRule[] = []
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { db } from '@penx/local-db'
|
||||
import { INode, NodeType } from '@penx/types'
|
||||
import { INode, NodeType } from '@penx/model-types'
|
||||
|
||||
export class NodeCleaner {
|
||||
async cleanDeletedNodes() {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import _ from 'lodash'
|
||||
import { ArraySorter } from '@penx/indexeddb'
|
||||
import { Node, WithFlattenedProps } from '@penx/model'
|
||||
import { INode, NodeType } from '@penx/types'
|
||||
import { INode, NodeType } from '@penx/model-types'
|
||||
|
||||
export type FindOptions<T = INode> = {
|
||||
where?: Partial<T>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { ELEMENT_LI, ELEMENT_LIC, ELEMENT_UL } from '@penx/list'
|
||||
import { Node } from '@penx/model'
|
||||
import { IDatabaseNode } from '@penx/types'
|
||||
import { IDatabaseNode } from '@penx/model-types'
|
||||
|
||||
export function getDatabaseNodeEditorValue(node: Node) {
|
||||
return [
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { ELEMENT_TITLE } from '@penx/constants'
|
||||
import { ELEMENT_LI, ELEMENT_LIC, ELEMENT_UL } from '@penx/list'
|
||||
import { Node } from '@penx/model'
|
||||
import { IDatabaseNode, INode } from '@penx/types'
|
||||
import { IDatabaseNode, INode } from '@penx/model-types'
|
||||
|
||||
export function getDatabaseRootEditorValue(
|
||||
node: Node,
|
||||
|
||||
@@ -15,8 +15,8 @@ import {
|
||||
} from '@penx/list'
|
||||
import { db, emitter } from '@penx/local-db'
|
||||
import { Node } from '@penx/model'
|
||||
import { INode, NodeType } from '@penx/model-types'
|
||||
import { store } from '@penx/store'
|
||||
import { INode, NodeType } from '@penx/types'
|
||||
import { NodeCleaner } from '../NodeCleaner'
|
||||
import { getDatabaseNodeEditorValue } from './getDatabaseNodeEditorValue'
|
||||
import { getDatabaseRootEditorValue } from './getDatabaseRootEditorValue'
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import _ from 'lodash'
|
||||
import { db } from '@penx/local-db'
|
||||
import { Space } from '@penx/model'
|
||||
import { INode, NodeType } from '@penx/types'
|
||||
import { INode, NodeType } from '@penx/model-types'
|
||||
import { NodeListService } from './NodeListService'
|
||||
|
||||
export class SpaceService {
|
||||
|
||||
@@ -5,12 +5,22 @@ import { createEditor, Editor } from 'slate'
|
||||
import { decryptString, encryptString } from '@penx/encryption'
|
||||
import { db } from '@penx/local-db'
|
||||
import { Node, SnapshotDiffResult, Space, User } from '@penx/model'
|
||||
import { IFile, INode, ISpace, NodeType } from '@penx/model-types'
|
||||
import { spacesAtom, store } from '@penx/store'
|
||||
import { trpc } from '@penx/trpc-client'
|
||||
import { IFile, INode, ISpace, NodeType, TreeItem } from '@penx/types'
|
||||
import { NodeService } from './NodeService'
|
||||
import { SpaceService } from './SpaceService'
|
||||
|
||||
export type TreeItem = {
|
||||
path: string
|
||||
// mode: '100644' | '100755' | '040000' | '160000' | '120000'
|
||||
mode: '100644'
|
||||
// type: 'blob' | 'tree' | 'commit'
|
||||
type: 'blob'
|
||||
content?: string
|
||||
sha?: string | null
|
||||
}
|
||||
|
||||
type FileNode = {
|
||||
fileId: string
|
||||
mime: string
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@penx/local-db": "workspace:*",
|
||||
"@penx/types": "workspace:*",
|
||||
"@penx/model-types": "workspace:*",
|
||||
"@penx/constants": "workspace:*",
|
||||
"@penx/model": "workspace:*",
|
||||
"@penx/extension-typings": "*",
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
export * from './store'
|
||||
export * from './types'
|
||||
export * from './JotaiNexus'
|
||||
|
||||
@@ -5,15 +5,8 @@ import { SyncStatus } from '@penx/constants'
|
||||
import { emitter } from '@penx/event'
|
||||
import { db } from '@penx/local-db'
|
||||
import { Node, User } from '@penx/model'
|
||||
import {
|
||||
Command,
|
||||
ExtensionStore,
|
||||
INode,
|
||||
ISpace,
|
||||
NodeType,
|
||||
RouteName,
|
||||
RouterStore,
|
||||
} from '@penx/types'
|
||||
import { INode, ISpace, NodeType } from '@penx/model-types'
|
||||
import { Command, ExtensionStore, RouteName, RouterStore } from './types'
|
||||
|
||||
// export const nodeAtom = atomWithStorage('node', null as any as INode)
|
||||
export const nodeAtom = atom(null as any as INode)
|
||||
|
||||
@@ -4,10 +4,17 @@ import {
|
||||
SettingsSchema,
|
||||
} from '@penx/extension-typings'
|
||||
|
||||
export * from './interfaces'
|
||||
|
||||
type pluginId = string
|
||||
|
||||
export type ExtensionStore = Record<
|
||||
pluginId,
|
||||
{
|
||||
components: Array<RegisterComponentOptions>
|
||||
block: RegisterBlockOptions
|
||||
settingsSchema: SettingsSchema
|
||||
}
|
||||
>
|
||||
|
||||
export type RouteName = 'TRASH' | 'SYNC' | 'NODE'
|
||||
|
||||
export type RouterStore = {
|
||||
@@ -26,22 +33,3 @@ export type Command = {
|
||||
pluginId?: string
|
||||
handler: () => void
|
||||
}
|
||||
|
||||
export type ExtensionStore = Record<
|
||||
pluginId,
|
||||
{
|
||||
components: Array<RegisterComponentOptions>
|
||||
block: RegisterBlockOptions
|
||||
settingsSchema: SettingsSchema
|
||||
}
|
||||
>
|
||||
|
||||
export type TreeItem = {
|
||||
path: string
|
||||
// mode: '100644' | '100755' | '040000' | '160000' | '120000'
|
||||
mode: '100644'
|
||||
// type: 'blob' | 'tree' | 'commit'
|
||||
type: 'blob'
|
||||
content?: string
|
||||
sha?: string | null
|
||||
}
|
||||
138
pnpm-lock.yaml
generated
138
pnpm-lock.yaml
generated
@@ -977,15 +977,15 @@ importers:
|
||||
'@penx/local-db':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/local-db
|
||||
'@penx/model-types':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/model-types
|
||||
'@penx/shared':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/shared
|
||||
'@penx/store':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/store
|
||||
'@penx/types':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/types
|
||||
'@udecode/plate-common':
|
||||
specifier: ^24.4.0
|
||||
version: 24.4.0(@babel/core@7.22.17)(@types/react@18.2.22)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-hyperscript@0.77.0)(slate-react@0.98.4)(slate@0.94.1)
|
||||
@@ -1323,6 +1323,9 @@ importers:
|
||||
'@penx/local-db':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/local-db
|
||||
'@penx/model-types':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/model-types
|
||||
'@penx/paragraph':
|
||||
specifier: workspace:*
|
||||
version: link:../paragraph
|
||||
@@ -1335,9 +1338,6 @@ importers:
|
||||
'@penx/tag':
|
||||
specifier: workspace:*
|
||||
version: link:../tag
|
||||
'@penx/types':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/types
|
||||
'@tanstack/react-query':
|
||||
specifier: ^4.35.7
|
||||
version: 4.35.7(react-dom@18.2.0)(react@18.2.0)
|
||||
@@ -1593,15 +1593,15 @@ importers:
|
||||
'@penx/local-db':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/local-db
|
||||
'@penx/model-types':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/model-types
|
||||
'@penx/shared':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/shared
|
||||
'@penx/store':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/store
|
||||
'@penx/types':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/types
|
||||
lucide-react:
|
||||
specifier: ^0.284.0
|
||||
version: 0.284.0(react@18.2.0)
|
||||
@@ -1796,6 +1796,9 @@ importers:
|
||||
'@penx/local-db':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/local-db
|
||||
'@penx/model-types':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/model-types
|
||||
'@penx/remark-slate':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/remark-slate
|
||||
@@ -1805,9 +1808,6 @@ importers:
|
||||
'@penx/store':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/store
|
||||
'@penx/types':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/types
|
||||
date-fns:
|
||||
specifier: ^2.30.0
|
||||
version: 2.30.0
|
||||
@@ -2136,15 +2136,15 @@ importers:
|
||||
'@penx/local-db':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/local-db
|
||||
'@penx/model-types':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/model-types
|
||||
'@penx/shared':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/shared
|
||||
'@penx/store':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/store
|
||||
'@penx/types':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/types
|
||||
'@udecode/plate-common':
|
||||
specifier: ^24.4.0
|
||||
version: 24.4.0(@babel/core@7.22.17)(@types/react@18.2.22)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-hyperscript@0.77.0)(slate-react@0.98.4)(slate@0.94.1)
|
||||
@@ -2279,15 +2279,15 @@ importers:
|
||||
'@penx/model':
|
||||
specifier: workspace:*
|
||||
version: link:../model
|
||||
'@penx/model-types':
|
||||
specifier: workspace:*
|
||||
version: link:../model-types
|
||||
'@penx/serializer':
|
||||
specifier: workspace:*
|
||||
version: link:../serializer
|
||||
'@penx/shared':
|
||||
specifier: workspace:*
|
||||
version: link:../shared
|
||||
'@penx/types':
|
||||
specifier: workspace:*
|
||||
version: link:../types
|
||||
'@prisma/client':
|
||||
specifier: ^5.2.0
|
||||
version: 5.2.0(prisma@5.2.0)
|
||||
@@ -2454,6 +2454,9 @@ importers:
|
||||
'@penx/model':
|
||||
specifier: workspace:*
|
||||
version: link:../model
|
||||
'@penx/model-types':
|
||||
specifier: workspace:*
|
||||
version: link:../model-types
|
||||
'@penx/paragraph':
|
||||
specifier: workspace:*
|
||||
version: link:../../extensions/paragraph
|
||||
@@ -2475,9 +2478,6 @@ importers:
|
||||
'@penx/trpc-client':
|
||||
specifier: workspace:*
|
||||
version: link:../trpc-client
|
||||
'@penx/types':
|
||||
specifier: workspace:*
|
||||
version: link:../types
|
||||
'@prisma/nextjs-monorepo-workaround-plugin':
|
||||
specifier: ^5.1.1
|
||||
version: 5.1.1
|
||||
@@ -2994,6 +2994,9 @@ importers:
|
||||
'@penx/model':
|
||||
specifier: workspace:*
|
||||
version: link:../model
|
||||
'@penx/model-types':
|
||||
specifier: workspace:*
|
||||
version: link:../model-types
|
||||
'@penx/paragraph':
|
||||
specifier: workspace:*
|
||||
version: link:../../extensions/paragraph
|
||||
@@ -3009,9 +3012,6 @@ importers:
|
||||
'@penx/table':
|
||||
specifier: workspace:*
|
||||
version: link:../../extensions/table
|
||||
'@penx/types':
|
||||
specifier: workspace:*
|
||||
version: link:../types
|
||||
'@udecode/plate-common':
|
||||
specifier: ^24.3.6
|
||||
version: 24.4.0(@babel/core@7.22.17)(@types/react@18.2.22)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-hyperscript@0.77.0)(slate-react@0.98.4)(slate@0.94.1)
|
||||
@@ -3652,6 +3652,9 @@ importers:
|
||||
'@penx/model':
|
||||
specifier: workspace:*
|
||||
version: link:../model
|
||||
'@penx/model-types':
|
||||
specifier: workspace:*
|
||||
version: link:../model-types
|
||||
'@penx/service':
|
||||
specifier: workspace:*
|
||||
version: link:../service
|
||||
@@ -3664,9 +3667,6 @@ importers:
|
||||
'@penx/trpc-client':
|
||||
specifier: workspace:*
|
||||
version: link:../trpc-client
|
||||
'@penx/types':
|
||||
specifier: workspace:*
|
||||
version: link:../types
|
||||
'@tanstack/react-query':
|
||||
specifier: ^4.35.7
|
||||
version: 4.35.7(react-dom@18.2.0)(react@18.2.0)
|
||||
@@ -3902,9 +3902,9 @@ importers:
|
||||
'@penx/model':
|
||||
specifier: workspace:*
|
||||
version: link:../model
|
||||
'@penx/types':
|
||||
'@penx/model-types':
|
||||
specifier: workspace:*
|
||||
version: link:../types
|
||||
version: link:../model-types
|
||||
mitt:
|
||||
specifier: ^3.0.0
|
||||
version: 3.0.0
|
||||
@@ -3930,9 +3930,9 @@ importers:
|
||||
'@penx/constants':
|
||||
specifier: workspace:*
|
||||
version: link:../constants
|
||||
'@penx/types':
|
||||
'@penx/model-types':
|
||||
specifier: workspace:*
|
||||
version: link:../types
|
||||
version: link:../model-types
|
||||
'@prisma/client':
|
||||
specifier: ^5.2.0
|
||||
version: 5.2.0(prisma@5.2.0)
|
||||
@@ -3986,14 +3986,42 @@ importers:
|
||||
specifier: ^5.1.3
|
||||
version: 5.2.2
|
||||
|
||||
packages/model-types:
|
||||
dependencies:
|
||||
'@penx/constants':
|
||||
specifier: workspace:*
|
||||
version: link:../constants
|
||||
devDependencies:
|
||||
'@types/react':
|
||||
specifier: ^18.2.22
|
||||
version: 18.2.22
|
||||
'@types/react-dom':
|
||||
specifier: ^18.2.7
|
||||
version: 18.2.7
|
||||
eslint:
|
||||
specifier: ^8.42.0
|
||||
version: 8.49.0
|
||||
eslint-config-custom:
|
||||
specifier: workspace:*
|
||||
version: link:../eslint-config-custom
|
||||
react:
|
||||
specifier: ^18.2.0
|
||||
version: 18.2.0
|
||||
tsconfig:
|
||||
specifier: workspace:*
|
||||
version: link:../tsconfig
|
||||
typescript:
|
||||
specifier: ^5.1.3
|
||||
version: 5.2.2
|
||||
|
||||
packages/remark-slate:
|
||||
dependencies:
|
||||
'@penx/constants':
|
||||
specifier: workspace:*
|
||||
version: link:../constants
|
||||
'@penx/types':
|
||||
'@penx/model-types':
|
||||
specifier: workspace:*
|
||||
version: link:../types
|
||||
version: link:../model-types
|
||||
escape-html:
|
||||
specifier: ^1.0.3
|
||||
version: 1.0.3
|
||||
@@ -4034,12 +4062,12 @@ importers:
|
||||
'@penx/model':
|
||||
specifier: workspace:*
|
||||
version: link:../model
|
||||
'@penx/model-types':
|
||||
specifier: workspace:*
|
||||
version: link:../model-types
|
||||
'@penx/trpc-client':
|
||||
specifier: workspace:*
|
||||
version: link:../trpc-client
|
||||
'@penx/types':
|
||||
specifier: workspace:*
|
||||
version: link:../types
|
||||
devDependencies:
|
||||
'@types/react':
|
||||
specifier: ^18.2.22
|
||||
@@ -4129,6 +4157,9 @@ importers:
|
||||
'@penx/model':
|
||||
specifier: workspace:*
|
||||
version: link:../model
|
||||
'@penx/model-types':
|
||||
specifier: workspace:*
|
||||
version: link:../model-types
|
||||
'@penx/serializer':
|
||||
specifier: workspace:^
|
||||
version: link:../serializer
|
||||
@@ -4138,9 +4169,6 @@ importers:
|
||||
'@penx/trpc-client':
|
||||
specifier: workspace:*
|
||||
version: link:../trpc-client
|
||||
'@penx/types':
|
||||
specifier: workspace:*
|
||||
version: link:../types
|
||||
date-fns:
|
||||
specifier: ^2.30.0
|
||||
version: 2.30.0
|
||||
@@ -4324,9 +4352,9 @@ importers:
|
||||
'@penx/model':
|
||||
specifier: workspace:*
|
||||
version: link:../model
|
||||
'@penx/types':
|
||||
'@penx/model-types':
|
||||
specifier: workspace:*
|
||||
version: link:../types
|
||||
version: link:../model-types
|
||||
date-fns:
|
||||
specifier: ^2.30.0
|
||||
version: 2.30.0
|
||||
@@ -4407,34 +4435,6 @@ importers:
|
||||
|
||||
packages/tsconfig: {}
|
||||
|
||||
packages/types:
|
||||
dependencies:
|
||||
'@penx/constants':
|
||||
specifier: workspace:*
|
||||
version: link:../constants
|
||||
devDependencies:
|
||||
'@types/react':
|
||||
specifier: ^18.2.22
|
||||
version: 18.2.22
|
||||
'@types/react-dom':
|
||||
specifier: ^18.2.7
|
||||
version: 18.2.7
|
||||
eslint:
|
||||
specifier: ^8.42.0
|
||||
version: 8.49.0
|
||||
eslint-config-custom:
|
||||
specifier: workspace:*
|
||||
version: link:../eslint-config-custom
|
||||
react:
|
||||
specifier: ^18.2.0
|
||||
version: 18.2.0
|
||||
tsconfig:
|
||||
specifier: workspace:*
|
||||
version: link:../tsconfig
|
||||
typescript:
|
||||
specifier: ^5.1.3
|
||||
version: 5.2.2
|
||||
|
||||
packages/uikit:
|
||||
dependencies:
|
||||
'@bone-ui/close-button':
|
||||
|
||||
Reference in New Issue
Block a user