From a962f6973ae04f0f6db680433b6fabb97f8a4cbe Mon Sep 17 00:00:00 2001 From: Untone Date: Fri, 16 Feb 2024 17:56:56 +0300 Subject: [PATCH] hub --- package.json | 76 ++++++++++++++++---------------- patches/solid-tiptap+0.7.0.patch | 62 ++++++++++++++++++++++++++ 2 files changed, 100 insertions(+), 38 deletions(-) create mode 100644 patches/solid-tiptap+0.7.0.patch diff --git a/package.json b/package.json index 5bac05c6..f833c56e 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "fix": "npm run check:code:fix && stylelint **/*.{scss,css} --fix", "format": "npx @biomejs/biome format src/. --write", "hygen": "HYGEN_TMPLS=gen hygen", - "postinstall": "npm run codegen", + "postinstall": "npm run codegen && npx patch-package solid-tiptap", "check:code": "npx @biomejs/biome check src --log-kind=compact --verbose", "check:code:fix": "npx @biomejs/biome check src --log-kind=compact --verbose --apply-unsafe", "lint": "npm run lint:code && stylelint **/*.{scss,css}", @@ -55,37 +55,37 @@ "@solid-primitives/upload": "0.0.110", "@solidjs/meta": "0.29.1", "@thisbeyond/solid-select": "0.14.0", - "@tiptap/core": "2.2.2", - "@tiptap/extension-blockquote": "2.2.2", - "@tiptap/extension-bold": "2.2.2", - "@tiptap/extension-bubble-menu": "2.2.2", - "@tiptap/extension-bullet-list": "2.2.2", - "@tiptap/extension-character-count": "2.2.2", - "@tiptap/extension-collaboration": "2.2.2", - "@tiptap/extension-collaboration-cursor": "2.2.2", - "@tiptap/extension-document": "2.2.2", - "@tiptap/extension-dropcursor": "2.2.2", - "@tiptap/extension-floating-menu": "2.2.2", - "@tiptap/extension-focus": "2.2.2", - "@tiptap/extension-gapcursor": "2.2.2", - "@tiptap/extension-hard-break": "2.2.2", - "@tiptap/extension-heading": "2.2.2", - "@tiptap/extension-highlight": "2.2.2", - "@tiptap/extension-history": "2.2.2", - "@tiptap/extension-horizontal-rule": "2.2.2", - "@tiptap/extension-image": "2.2.2", - "@tiptap/extension-italic": "2.2.2", - "@tiptap/extension-link": "2.2.2", - "@tiptap/extension-list-item": "2.2.2", - "@tiptap/extension-ordered-list": "2.2.2", - "@tiptap/extension-paragraph": "2.2.2", - "@tiptap/extension-placeholder": "2.2.2", - "@tiptap/extension-strike": "2.2.2", - "@tiptap/extension-text": "2.2.2", - "@tiptap/extension-underline": "2.2.2", - "@tiptap/extension-youtube": "2.2.2", + "@tiptap/core": "2.2.3", + "@tiptap/extension-blockquote": "2.2.3", + "@tiptap/extension-bold": "2.2.3", + "@tiptap/extension-bubble-menu": "2.2.3", + "@tiptap/extension-bullet-list": "2.2.3", + "@tiptap/extension-character-count": "2.2.3", + "@tiptap/extension-collaboration": "2.2.3", + "@tiptap/extension-collaboration-cursor": "2.2.3", + "@tiptap/extension-document": "2.2.3", + "@tiptap/extension-dropcursor": "2.2.3", + "@tiptap/extension-floating-menu": "2.2.3", + "@tiptap/extension-focus": "2.2.3", + "@tiptap/extension-gapcursor": "2.2.3", + "@tiptap/extension-hard-break": "2.2.3", + "@tiptap/extension-heading": "2.2.3", + "@tiptap/extension-highlight": "2.2.3", + "@tiptap/extension-history": "2.2.3", + "@tiptap/extension-horizontal-rule": "2.2.3", + "@tiptap/extension-image": "2.2.3", + "@tiptap/extension-italic": "2.2.3", + "@tiptap/extension-link": "2.2.3", + "@tiptap/extension-list-item": "2.2.3", + "@tiptap/extension-ordered-list": "2.2.3", + "@tiptap/extension-paragraph": "2.2.3", + "@tiptap/extension-placeholder": "2.2.3", + "@tiptap/extension-strike": "2.2.3", + "@tiptap/extension-text": "2.2.3", + "@tiptap/extension-underline": "2.2.3", + "@tiptap/extension-youtube": "2.2.3", "@types/js-cookie": "3.0.6", - "@types/node": "^20.9.0", + "@types/node": "^20.11.0", "@urql/core": "4.2.3", "@urql/devtools": "^2.0.3", "babel-preset-solid": "1.8.4", @@ -97,7 +97,6 @@ "ga-gtag": "1.2.0", "graphql": "16.8.1", "graphql-tag": "2.12.6", - "husky": "8.0.3", "hygen": "6.2.11", "i18next": "22.4.15", "i18next-http-backend": "2.2.0", @@ -109,12 +108,13 @@ "loglevel": "1.8.1", "loglevel-plugin-prefix": "0.8.4", "nanostores": "0.9.5", - "prosemirror-history": "1.3.0", - "prosemirror-trailing-node": "2.0.3", - "prosemirror-view": "1.30.2", + "patch-package": "^8.0.0", + "prosemirror-history": "1.3.2", + "prosemirror-trailing-node": "2.0.7", + "prosemirror-view": "1.32.7", "rollup": "4.11.0", "sass": "1.69.5", - "solid-js": "1.8.14", + "solid-js": "1.8.15", "solid-popper": "0.3.0", "solid-tiptap": "0.7.0", "solid-transition-group": "0.2.3", @@ -133,10 +133,10 @@ "vite-plugin-sass-dts": "^1.3.17", "vite-plugin-solid": "2.10.1", "y-prosemirror": "1.2.2", - "yjs": "13.6.8" + "yjs": "13.6.12" }, "overrides": { "y-prosemirror": "1.2.2", - "yjs": "13.6.8" + "yjs": "13.6.12" } } diff --git a/patches/solid-tiptap+0.7.0.patch b/patches/solid-tiptap+0.7.0.patch new file mode 100644 index 00000000..c8e8954e --- /dev/null +++ b/patches/solid-tiptap+0.7.0.patch @@ -0,0 +1,62 @@ +diff --git a/node_modules/solid-tiptap/src/Editor.tsx b/node_modules/solid-tiptap/src/Editor.tsx +index 9d1e51a..2cc36b3 100644 +--- a/node_modules/solid-tiptap/src/Editor.tsx ++++ b/node_modules/solid-tiptap/src/Editor.tsx +@@ -1,6 +1,6 @@ + import type { EditorOptions } from '@tiptap/core'; + import { Editor } from '@tiptap/core'; +-import { createEffect, createSignal, onCleanup } from 'solid-js'; ++import { createEffect, createSignal, onCleanup, on } from 'solid-js'; + + export type EditorRef = Editor | ((editor: Editor) => void); + +@@ -42,17 +42,19 @@ export default function useEditor( + ): () => Editor | undefined { + const [signal, setSignal] = createSignal(); + +- createEffect(() => { +- const instance = new Editor({ +- ...props(), +- }); +- +- onCleanup(() => { +- instance.destroy(); +- }); +- +- setSignal(instance); +- }); ++ createEffect( ++ on( ++ props, ++ (properties) => { ++ if (properties) { ++ const instance = new Editor({ ...properties }) ++ onCleanup(instance.destroy) ++ setSignal(instance) ++ } ++ }, ++ { defer: true } ++ ) ++ ) + + return signal; + } +@@ -65,14 +67,16 @@ export function useEditorHTML( + + export function useEditorJSON< + V extends Editor | undefined, +- R extends Record, ++ // biome-ignore lint/suspicious/noExplicitAny: TODO: ++R extends Record, + >(editor: () => V): () => R | undefined { + return createEditorTransaction(editor, instance => instance?.getJSON() as R); + } + + export function useEditorIsActive< + V extends Editor | undefined, +- R extends Record, ++ // biome-ignore lint/suspicious/noExplicitAny: TODO: ++R extends Record, + >( + editor: () => V, + ...args: [name: () => string, options?: R] | [options: R]