From f434577e6bb2010b321653cb132a57bda18764fa Mon Sep 17 00:00:00 2001 From: Dominik Biedebach <6538827+bdbch@users.noreply.github.com> Date: Thu, 20 Aug 2026 18:00:50 +0200 Subject: [PATCH] chore: migrate over to vite+ for tooling (#8151) * chore: migrate from individual setup to vite-plus * chore: fix ts errors * fix: fix problems found in migration * fix: correctly setup pnpm on ci * chore(deps): migrate demos and root to vite-plus - Replace vite with vite-plus in demos and root packages - Update svelte, vite plugins, and typescript dependencies - Update vite.config.ts for vite-plus compatibility - Remove @vitest/ui from root devDependencies * ci: simplify pipeline and adjust dependencies - Remove restore-build action and artifact handling - Reorder pnpm store configuration in setup-env - Change build job dependencies to install-node-dependencies - Remove cache setting from publish workflow jobs * ci: add package exports check * refactor: extend package export check to deprecated packages * style: fix formatting on check-package-exports.mjs * chore: drop dead overrides block from root package.json * chore: validate all package export targets * chore: drop dead tests_backup filter from staged hook * chore: document vendored vite fork in workspace config * fix(core): add prosemirror-model devDep for duplication specs * chore: exclude all tiptap packages from minimum release age filters * chore: switch build and tests to vite-plus - Update package builds, scripts, and test imports - Refresh CI caching and workspace configuration - Remove obsolete Changesets patches * Update .github/actions/setup-env/action.yml Co-authored-by: MK (fengmk2) * update lock-file * chore(ai-toolkit): add streaming reveal entry point * test(find-and-replace): extend replacement test timeout --------- Co-authored-by: MK (fengmk2) --- .github/actions/restore-build/action.yml | 21 - .github/actions/setup-env/action.yml | 17 +- .github/actions/setup-playwright/action.yml | 4 +- .github/instructions/tiptap.instructions.md | 116 +- .github/workflows/build.yml | 34 +- .github/workflows/publish.yml | 11 +- .husky/pre-commit | 4 - .lintstagedrc.cjs | 13 - .vite-hooks/pre-commit | 1 + AGENTS.md | 16 +- demos/package.json | 21 +- demos/setup/svelte.ts | 3 +- demos/vite.config.ts | 16 +- pack.config.mts | 29 + package.json | 63 +- .../extension-character-count/package.json | 2 +- .../extension-character-count/tsup.config.ts | 11 - .../extension-character-count/vite.config.ts | 9 + .../extension-dropcursor/package.json | 2 +- .../extension-dropcursor/tsup.config.ts | 11 - .../extension-dropcursor/vite.config.ts | 9 + .../extension-focus/package.json | 2 +- .../extension-focus/tsup.config.ts | 11 - .../extension-focus/vite.config.ts | 9 + .../extension-gapcursor/package.json | 2 +- .../extension-gapcursor/tsup.config.ts | 11 - .../extension-gapcursor/vite.config.ts | 9 + .../extension-history/package.json | 2 +- .../extension-history/tsup.config.ts | 11 - .../extension-history/vite.config.ts | 9 + .../extension-list-item/package.json | 2 +- .../extension-list-item/tsup.config.ts | 11 - .../extension-list-item/vite.config.ts | 9 + .../extension-list-keymap/package.json | 2 +- .../extension-list-keymap/tsup.config.ts | 11 - .../extension-list-keymap/vite.config.ts | 9 + .../extension-placeholder/package.json | 2 +- .../extension-placeholder/tsup.config.ts | 11 - .../extension-placeholder/vite.config.ts | 9 + .../extension-table-cell/package.json | 2 +- .../extension-table-cell/tsup.config.ts | 11 - .../extension-table-cell/vite.config.ts | 9 + .../extension-table-header/package.json | 2 +- .../extension-table-header/tsup.config.ts | 11 - .../extension-table-header/vite.config.ts | 9 + .../extension-table-row/package.json | 2 +- .../extension-table-row/tsup.config.ts | 11 - .../extension-table-row/vite.config.ts | 9 + .../extension-task-item/package.json | 2 +- .../extension-task-item/tsup.config.ts | 11 - .../extension-task-item/vite.config.ts | 9 + .../extension-task-list/package.json | 2 +- .../extension-task-list/tsup.config.ts | 11 - .../extension-task-list/vite.config.ts | 9 + .../server-ai-toolkit/package.json | 2 +- .../server-ai-toolkit/tsup.config.ts | 11 - .../server-ai-toolkit/vite.config.ts | 9 + packages/ai-toolkit/package.json | 4 +- .../ai-toolkit/src/server-ai-toolkit.spec.ts | 2 +- packages/ai-toolkit/tsup.config.ts | 11 - packages/ai-toolkit/vite.config.ts | 9 + packages/core/__tests__/attrsEqual.spec.ts | 2 +- packages/core/__tests__/can.spec.ts | 2 +- .../__tests__/clipboardTextSerializer.spec.ts | 2 +- .../__tests__/createNodeFromContent.spec.ts | 2 +- .../__tests__/createWidgetDecoration.spec.ts | 2 +- packages/core/__tests__/cut.spec.ts | 2 +- .../__tests__/decorationApplyScope.spec.ts | 2 +- packages/core/__tests__/decorations.spec.ts | 2 +- packages/core/__tests__/delete.spec.ts | 2 +- .../__tests__/dispatchTransaction.spec.ts | 2 +- .../duplicatedProseMirrorModel.spec.ts | 2 +- packages/core/__tests__/editorProps.spec.ts | 2 +- .../core/__tests__/extendExtensions.spec.ts | 2 +- .../core/__tests__/extendMarkRange.spec.ts | 2 +- .../core/__tests__/extensionOptions.spec.ts | 2 +- .../core/__tests__/extensionStorage.spec.ts | 2 +- packages/core/__tests__/fromString.spec.ts | 2 +- packages/core/__tests__/generateHTML.spec.ts | 2 +- packages/core/__tests__/generateJSON.spec.ts | 2 +- packages/core/__tests__/generateText.spec.ts | 2 +- .../getAttributesFromExtensions.spec.ts | 2 +- packages/core/__tests__/getContent.spec.ts | 2 +- packages/core/__tests__/getMarkRange.spec.ts | 2 +- .../__tests__/getPreviousBlockSibling.spec.ts | 2 +- .../core/__tests__/getStyleProperty.spec.ts | 2 +- .../__tests__/getTextContentFromNodes.spec.ts | 2 +- .../__tests__/highlight-decorations.spec.ts | 2 +- packages/core/__tests__/insertContent.spec.ts | 2 +- .../core/__tests__/insertContentAt.spec.ts | 2 +- .../core/__tests__/insertDefaultBlock.spec.ts | 2 +- packages/core/__tests__/isActive.spec.ts | 2 +- packages/core/__tests__/isNodeEmpty.spec.ts | 2 +- .../core/__tests__/isNodeViewSelected.spec.ts | 2 +- packages/core/__tests__/markPasteRule.spec.ts | 2 +- packages/core/__tests__/marksEqual.spec.ts | 2 +- .../core/__tests__/mergeAttributes.spec.ts | 2 +- packages/core/__tests__/mergeDeep.spec.ts | 2 +- packages/core/__tests__/nodePos.spec.ts | 2 +- .../core/__tests__/nodeViewGetPos.spec.ts | 2 +- .../core/__tests__/onContentError.spec.ts | 2 +- .../core/__tests__/parseAttributes.spec.ts | 2 +- packages/core/__tests__/pluginOrder.spec.ts | 2 +- .../core/__tests__/requiredAttributes.spec.ts | 2 +- .../core/__tests__/resizableNodeView.spec.ts | 2 +- packages/core/__tests__/setContent.spec.ts | 2 +- packages/core/__tests__/tabindex.spec.ts | 2 +- .../__tests__/transformPastedHTML.spec.ts | 2 +- packages/core/__tests__/unmounted.spec.ts | 2 +- packages/core/__tests__/unsetAllMarks.spec.ts | 2 +- .../warnOnDuplicatedProseMirrorModel.spec.ts | 2 +- ...nOnDuplicatedProseMirrorModelSplit.spec.ts | 2 +- packages/core/package.json | 5 +- .../core/src/__tests__/htmlEntities.test.ts | 2 +- .../__tests__/inputRuleInlineAtoms.test.ts | 2 +- packages/core/src/__tests__/isAndroid.test.ts | 2 +- .../__tests__/rewriteUnknownContent.test.ts | 2 +- .../src/__tests__/transformPastedHTML.test.ts | 2 +- .../__tests__/DecorationManager.test.ts | 2 +- .../__tests__/getRebuildRanges.test.ts | 2 +- .../__tests__/getChangedRanges.test.ts | 2 +- .../isProseMirrorAddMarkStep.test.ts | 2 +- .../isProseMirrorAddNodeMarkStep.test.ts | 2 +- .../__tests__/isProseMirrorAttrStep.test.ts | 2 +- .../isProseMirrorCellSelection.test.ts | 2 +- .../isProseMirrorDocAttrStep.test.ts | 2 +- .../__tests__/isProseMirrorFragment.test.ts | 2 +- .../isProseMirrorNodeSelection.test.ts | 2 +- .../isProseMirrorRemoveMarkStep.test.ts | 2 +- .../isProseMirrorRemoveNodeMarkStep.test.ts | 2 +- .../isProseMirrorReplaceAroundStep.test.ts | 2 +- .../isProseMirrorReplaceStep.test.ts | 2 +- .../__tests__/isProseMirrorSlice.test.ts | 2 +- .../__tests__/isProseMirrorStep.test.ts | 2 +- .../__tests__/isProseMirrorStepResult.test.ts | 2 +- packages/core/tsup.config.ts | 24 - packages/core/vite.config.ts | 31 + .../extension-audio/__tests__/audio.spec.ts | 2 +- packages/extension-audio/package.json | 2 +- packages/extension-audio/tsup.config.ts | 11 - packages/extension-audio/vite.config.ts | 9 + .../__tests__/handleBackspace.spec.ts | 2 +- packages/extension-blockquote/package.json | 2 +- packages/extension-blockquote/tsup.config.ts | 11 - packages/extension-blockquote/vite.config.ts | 9 + .../extension-bold/__tests__/bold.spec.ts | 2 +- packages/extension-bold/package.json | 2 +- packages/extension-bold/tsup.config.ts | 11 - packages/extension-bold/vite.config.ts | 9 + .../__tests__/bubble-menu-plugin.spec.ts | 2 +- packages/extension-bubble-menu/package.json | 2 +- packages/extension-bubble-menu/tsup.config.ts | 11 - packages/extension-bubble-menu/vite.config.ts | 9 + packages/extension-bullet-list/package.json | 2 +- packages/extension-bullet-list/tsup.config.ts | 11 - packages/extension-bullet-list/vite.config.ts | 9 + .../__tests__/codeBlockLowlight.spec.ts | 2 +- .../package.json | 2 +- .../tsup.config.ts | 11 - .../vite.config.ts | 9 + .../__tests__/code-block.spec.ts | 2 +- packages/extension-code-block/package.json | 2 +- packages/extension-code-block/tsup.config.ts | 11 - packages/extension-code-block/vite.config.ts | 9 + .../extension-code/__tests__/code.spec.ts | 2 +- packages/extension-code/package.json | 2 +- packages/extension-code/tsup.config.ts | 11 - packages/extension-code/vite.config.ts | 9 + .../__tests__/collaboration-caret.spec.ts | 2 +- .../package.json | 2 +- .../tsup.config.ts | 11 - .../vite.config.ts | 9 + .../__tests__/filterInvalidContent.spec.ts | 2 +- .../__tests__/memoryLeak.spec.ts | 2 +- packages/extension-collaboration/package.json | 2 +- .../extension-collaboration/tsup.config.ts | 11 - .../extension-collaboration/vite.config.ts | 9 + packages/extension-color/package.json | 2 +- packages/extension-color/tsup.config.ts | 11 - packages/extension-color/vite.config.ts | 9 + .../__tests__/details-commands.spec.ts | 2 +- .../__tests__/details.spec.ts | 2 +- packages/extension-details/package.json | 2 +- packages/extension-details/tsup.config.ts | 11 - packages/extension-details/vite.config.ts | 9 + packages/extension-document/package.json | 2 +- packages/extension-document/tsup.config.ts | 11 - packages/extension-document/vite.config.ts | 9 + .../extension-drag-handle-react/package.json | 2 +- .../src/DragHandle.registration.spec.ts | 2 +- .../src/DragHandle.spec.ts | 2 +- .../tsup.config.ts | 11 - .../vite.config.ts | 9 + .../extension-drag-handle-vue-2/package.json | 2 +- .../tsup.config.ts | 11 - .../vite.config.ts | 9 + .../extension-drag-handle-vue-3/package.json | 2 +- .../tsup.config.ts | 11 - .../vite.config.ts | 9 + .../__tests__/cloneElement.spec.ts | 2 +- .../__tests__/defaultRules.spec.ts | 2 +- .../__tests__/drag-handle.spec.ts | 2 +- .../__tests__/dragHandler.spec.ts | 2 +- .../__tests__/edgeDetection.spec.ts | 2 +- .../__tests__/findBestDragTarget.spec.ts | 2 +- .../findNextElementFromCursor.spec.ts | 2 +- .../__tests__/getDraggedBlockDir.spec.ts | 2 +- .../__tests__/nodeRangeDrop.spec.ts | 2 +- .../__tests__/normalizeOptions.spec.ts | 2 +- .../__tests__/scoring.spec.ts | 2 +- packages/extension-drag-handle/package.json | 2 +- packages/extension-drag-handle/tsup.config.ts | 11 - packages/extension-drag-handle/vite.config.ts | 9 + .../extension-emoji/__tests__/emoji.spec.ts | 2 +- .../__tests__/insert-emoji.spec.ts | 2 +- packages/extension-emoji/package.json | 2 +- packages/extension-emoji/tsup.config.ts | 11 - packages/extension-emoji/vite.config.ts | 9 + .../__tests__/fileHandler.spec.ts | 2 +- packages/extension-file-handler/package.json | 2 +- .../extension-file-handler/tsup.config.ts | 11 - .../extension-file-handler/vite.config.ts | 9 + .../__tests__/find-and-replace.spec.ts | 4 +- .../extension-find-and-replace/package.json | 2 +- .../extension-find-and-replace/tsup.config.ts | 11 - .../extension-find-and-replace/vite.config.ts | 9 + .../__tests__/floating-menu-plugin.spec.ts | 2 +- packages/extension-floating-menu/package.json | 2 +- .../extension-floating-menu/tsup.config.ts | 11 - .../extension-floating-menu/vite.config.ts | 9 + packages/extension-font-family/package.json | 2 +- packages/extension-font-family/tsup.config.ts | 11 - packages/extension-font-family/vite.config.ts | 9 + .../__tests__/hard-break.spec.ts | 2 +- packages/extension-hard-break/package.json | 2 +- packages/extension-hard-break/tsup.config.ts | 11 - packages/extension-hard-break/vite.config.ts | 9 + packages/extension-heading/package.json | 2 +- packages/extension-heading/tsup.config.ts | 11 - packages/extension-heading/vite.config.ts | 9 + packages/extension-highlight/package.json | 2 +- packages/extension-highlight/tsup.config.ts | 11 - packages/extension-highlight/vite.config.ts | 9 + .../__tests__/horizontalRule.spec.ts | 2 +- .../extension-horizontal-rule/package.json | 2 +- .../extension-horizontal-rule/tsup.config.ts | 11 - .../extension-horizontal-rule/vite.config.ts | 9 + .../extension-image/__tests__/image.spec.ts | 2 +- packages/extension-image/package.json | 2 +- packages/extension-image/tsup.config.ts | 11 - packages/extension-image/vite.config.ts | 9 + .../__tests__/invisible-characters.spec.ts | 2 +- .../package.json | 2 +- .../tsup.config.ts | 11 - .../vite.config.ts | 9 + packages/extension-italic/package.json | 2 +- packages/extension-italic/tsup.config.ts | 11 - packages/extension-italic/vite.config.ts | 9 + .../extension-link/__tests__/link.spec.ts | 2 +- .../__tests__/markdownLink.spec.ts | 2 +- packages/extension-link/package.json | 2 +- packages/extension-link/tsup.config.ts | 11 - packages/extension-link/vite.config.ts | 9 + .../__tests__/listItemDelete.spec.ts | 2 +- .../__tests__/listItemMarkdown.spec.ts | 2 +- .../__tests__/listKeymapTab.spec.ts | 2 +- .../__tests__/orderedListPhoneNumber.spec.ts | 2 +- .../__tests__/orderedListType.spec.ts | 2 +- .../extension-list/__tests__/taskItem.spec.ts | 2 +- packages/extension-list/package.json | 2 +- packages/extension-list/tsup.config.ts | 22 - packages/extension-list/vite.config.ts | 27 + .../__tests__/blockMath.spec.ts | 2 +- .../__tests__/inlineMath.spec.ts | 2 +- packages/extension-mathematics/package.json | 2 +- packages/extension-mathematics/tsup.config.ts | 11 - packages/extension-mathematics/vite.config.ts | 9 + packages/extension-mention/package.json | 2 +- packages/extension-mention/tsup.config.ts | 11 - packages/extension-mention/vite.config.ts | 9 + .../__tests__/NodeRangeSelection.spec.ts | 2 +- .../__tests__/getSelectionRanges.spec.ts | 2 +- packages/extension-node-range/package.json | 2 +- packages/extension-node-range/tsup.config.ts | 11 - packages/extension-node-range/vite.config.ts | 9 + packages/extension-ordered-list/package.json | 2 +- .../extension-ordered-list/tsup.config.ts | 11 - .../extension-ordered-list/vite.config.ts | 9 + packages/extension-paragraph/package.json | 2 +- packages/extension-paragraph/tsup.config.ts | 11 - packages/extension-paragraph/vite.config.ts | 9 + .../__tests__/ruby-text.spec.ts | 2 +- packages/extension-ruby-text/package.json | 10 +- packages/extension-ruby-text/tsup.config.ts | 11 - packages/extension-ruby-text/vite.config.ts | 9 + packages/extension-strike/package.json | 2 +- packages/extension-strike/tsup.config.ts | 11 - packages/extension-strike/vite.config.ts | 9 + .../__tests__/subscript.spec.ts | 2 +- packages/extension-subscript/package.json | 2 +- packages/extension-subscript/tsup.config.ts | 11 - packages/extension-subscript/vite.config.ts | 9 + .../__tests__/superscript.spec.ts | 2 +- packages/extension-superscript/package.json | 2 +- packages/extension-superscript/tsup.config.ts | 11 - packages/extension-superscript/vite.config.ts | 9 + .../__tests__/generate-toc-ids.spec.ts | 2 +- .../extension-table-of-contents/package.json | 2 +- .../tsup.config.ts | 11 - .../vite.config.ts | 9 + .../__tests__/colgroupUpdate.spec.ts | 2 +- .../__tests__/deleteSelection.spec.ts | 2 +- .../__tests__/tableCell.spec.ts | 2 +- .../__tests__/tableCellEmptyContent.spec.ts | 2 +- .../__tests__/tableClipboard.spec.ts | 2 +- .../__tests__/tableCommands.spec.ts | 2 +- .../__tests__/tableHTMLAttributes.spec.ts | 2 +- .../__tests__/tableHeader.spec.ts | 2 +- .../__tests__/tableMarkdown.spec.ts | 2 +- packages/extension-table/package.json | 2 +- packages/extension-table/tsup.config.ts | 20 - packages/extension-table/vite.config.ts | 25 + packages/extension-text-align/package.json | 2 +- packages/extension-text-align/tsup.config.ts | 11 - packages/extension-text-align/vite.config.ts | 9 + .../background-color-commands.spec.ts | 2 +- .../__tests__/background-color.spec.ts | 2 +- .../__tests__/color-commands.spec.ts | 2 +- .../__tests__/color.spec.ts | 2 +- .../__tests__/font-family-commands.spec.ts | 2 +- .../__tests__/font-family.spec.ts | 2 +- .../__tests__/font-size-commands.spec.ts | 2 +- .../__tests__/font-size.spec.ts | 2 +- .../__tests__/line-height-commands.spec.ts | 2 +- .../__tests__/line-height.spec.ts | 2 +- .../__tests__/text-style-merge.spec.ts | 2 +- packages/extension-text-style/package.json | 2 +- packages/extension-text-style/tsup.config.ts | 22 - packages/extension-text-style/vite.config.ts | 27 + packages/extension-text/package.json | 2 +- packages/extension-text/tsup.config.ts | 11 - packages/extension-text/vite.config.ts | 9 + .../extension-twitch/__tests__/twitch.spec.ts | 2 +- packages/extension-twitch/package.json | 2 +- packages/extension-twitch/tsup.config.ts | 11 - packages/extension-twitch/vite.config.ts | 9 + packages/extension-typography/package.json | 2 +- packages/extension-typography/tsup.config.ts | 11 - packages/extension-typography/vite.config.ts | 9 + packages/extension-underline/package.json | 2 +- packages/extension-underline/tsup.config.ts | 11 - packages/extension-underline/vite.config.ts | 9 + .../__tests__/unique-id-collab.spec.ts | 2 +- .../__tests__/unique-id.spec.ts | 2 +- packages/extension-unique-id/package.json | 2 +- packages/extension-unique-id/tsup.config.ts | 11 - packages/extension-unique-id/vite.config.ts | 9 + .../__tests__/youtube.spec.ts | 2 +- packages/extension-youtube/package.json | 2 +- packages/extension-youtube/tsup.config.ts | 11 - packages/extension-youtube/vite.config.ts | 9 + .../extensions/__tests__/placeholder.spec.ts | 2 +- .../extensions/__tests__/selection.spec.ts | 2 +- .../__tests__/trailing-node.spec.ts | 2 +- packages/extensions/package.json | 2 +- packages/extensions/tsup.config.ts | 23 - packages/extensions/vite.config.ts | 28 + packages/html/__tests__/generateHTML.spec.ts | 2 +- packages/html/__tests__/generateJSON.spec.ts | 2 +- .../html/__tests__/server-with-jsdom.spec.ts | 2 +- packages/html/package.json | 2 +- packages/html/tsup.config.ts | 12 - packages/html/vite.config.ts | 16 + .../__tests__/block-token-blank-line.spec.ts | 2 +- .../markdown/__tests__/conversion.spec.ts | 2 +- .../markdown/__tests__/empty-content.spec.ts | 2 +- .../__tests__/extensions/blockquote.spec.ts | 2 +- .../__tests__/htmlTagDetection.spec.ts | 2 +- .../inline-marks-punctuation.spec.ts | 2 +- packages/markdown/__tests__/manager.spec.ts | 2 +- .../markdown/__tests__/mixed-html.spec.ts | 2 +- .../__tests__/nested-text-style-marks.spec.ts | 2 +- .../ordered-list-lazy-continuation.spec.ts | 2 +- .../__tests__/overlapping-marks.spec.ts | 2 +- packages/markdown/__tests__/paragraph.spec.ts | 2 +- .../__tests__/server-side-parsing.spec.ts | 2 +- .../task-list-nested-siblings.spec.ts | 2 +- .../__tests__/unknown-html-tags.spec.ts | 2 +- packages/markdown/__tests__/utilities.spec.ts | 2 +- packages/markdown/package.json | 2 +- packages/markdown/tsup.config.ts | 12 - packages/markdown/vite.config.ts | 9 + packages/pm/package.json | 2 +- packages/pm/tsup.config.ts | 30 - packages/pm/vite.config.ts | 29 + packages/react/package.json | 2 +- packages/react/src/EditorContent.spec.ts | 2 +- .../react/src/ReactNodeViewRenderer.spec.ts | 2 +- .../react/src/ReactWidgetRenderer.spec.ts | 2 +- .../react/src/captureDOMSelection.spec.ts | 2 +- packages/react/src/menus/BubbleMenu.spec.ts | 2 +- packages/react/src/menus/FloatingMenu.spec.ts | 2 +- packages/react/src/use-client.spec.ts | 2 +- packages/react/src/useEditorState.spec.ts | 2 +- packages/react/tsup.config.ts | 13 - packages/react/vite.config.ts | 18 + packages/starter-kit/package.json | 2 +- packages/starter-kit/tsup.config.ts | 12 - packages/starter-kit/vite.config.ts | 10 + .../__tests__/json-string.spec.ts | 2 +- .../__tests__/md-string.spec.ts | 2 +- .../__tests__/pm-unhandled-types.spec.ts | 2 +- .../__tests__/react-string.spec.ts | 2 +- packages/static-renderer/package.json | 2 +- packages/static-renderer/tsup.config.ts | 21 - packages/static-renderer/vite.config.ts | 26 + packages/suggestion/package.json | 2 +- .../src/__tests__/suggestion.test.ts | 2 +- packages/suggestion/tsup.config.ts | 11 - packages/suggestion/vite.config.ts | 9 + .../vue-2/__tests__/VueWidgetRenderer.spec.ts | 2 +- packages/vue-2/package.json | 2 +- packages/vue-2/tsup.config.ts | 12 - packages/vue-2/vite.config.ts | 17 + .../__tests__/VueMarkViewRenderer.spec.ts | 2 +- .../__tests__/VueNodeViewRenderer.spec.ts | 2 +- packages/vue-3/__tests__/VueRenderer.spec.ts | 2 +- .../vue-3/__tests__/VueWidgetRenderer.spec.ts | 2 +- .../__tests__/undeclaredWidgetProps.spec.ts | 2 +- packages/vue-3/__tests__/useEditor.spec.ts | 2 +- packages/vue-3/package.json | 2 +- packages/vue-3/tsup.config.ts | 12 - packages/vue-3/vite.config.ts | 17 + .../@changesets__assemble-release-plan.patch | 15 - ...esets__assemble-release-plan@6.0.10.patch} | 4 +- pnpm-lock.yaml | 8610 ++++++++--------- pnpm-workspace.yaml | 22 +- scripts/check-package-exports.mjs | 57 + turbo.json | 22 - vitest.config.ts => vite.config.mts | 18 +- 440 files changed, 5186 insertions(+), 6253 deletions(-) delete mode 100644 .github/actions/restore-build/action.yml delete mode 100755 .husky/pre-commit delete mode 100644 .lintstagedrc.cjs create mode 100755 .vite-hooks/pre-commit create mode 100644 pack.config.mts delete mode 100644 packages-deprecated/extension-character-count/tsup.config.ts create mode 100644 packages-deprecated/extension-character-count/vite.config.ts delete mode 100644 packages-deprecated/extension-dropcursor/tsup.config.ts create mode 100644 packages-deprecated/extension-dropcursor/vite.config.ts delete mode 100644 packages-deprecated/extension-focus/tsup.config.ts create mode 100644 packages-deprecated/extension-focus/vite.config.ts delete mode 100644 packages-deprecated/extension-gapcursor/tsup.config.ts create mode 100644 packages-deprecated/extension-gapcursor/vite.config.ts delete mode 100644 packages-deprecated/extension-history/tsup.config.ts create mode 100644 packages-deprecated/extension-history/vite.config.ts delete mode 100644 packages-deprecated/extension-list-item/tsup.config.ts create mode 100644 packages-deprecated/extension-list-item/vite.config.ts delete mode 100644 packages-deprecated/extension-list-keymap/tsup.config.ts create mode 100644 packages-deprecated/extension-list-keymap/vite.config.ts delete mode 100644 packages-deprecated/extension-placeholder/tsup.config.ts create mode 100644 packages-deprecated/extension-placeholder/vite.config.ts delete mode 100644 packages-deprecated/extension-table-cell/tsup.config.ts create mode 100644 packages-deprecated/extension-table-cell/vite.config.ts delete mode 100644 packages-deprecated/extension-table-header/tsup.config.ts create mode 100644 packages-deprecated/extension-table-header/vite.config.ts delete mode 100644 packages-deprecated/extension-table-row/tsup.config.ts create mode 100644 packages-deprecated/extension-table-row/vite.config.ts delete mode 100644 packages-deprecated/extension-task-item/tsup.config.ts create mode 100644 packages-deprecated/extension-task-item/vite.config.ts delete mode 100644 packages-deprecated/extension-task-list/tsup.config.ts create mode 100644 packages-deprecated/extension-task-list/vite.config.ts delete mode 100644 packages-deprecated/server-ai-toolkit/tsup.config.ts create mode 100644 packages-deprecated/server-ai-toolkit/vite.config.ts delete mode 100644 packages/ai-toolkit/tsup.config.ts create mode 100644 packages/ai-toolkit/vite.config.ts delete mode 100644 packages/core/tsup.config.ts create mode 100644 packages/core/vite.config.ts delete mode 100644 packages/extension-audio/tsup.config.ts create mode 100644 packages/extension-audio/vite.config.ts delete mode 100644 packages/extension-blockquote/tsup.config.ts create mode 100644 packages/extension-blockquote/vite.config.ts delete mode 100644 packages/extension-bold/tsup.config.ts create mode 100644 packages/extension-bold/vite.config.ts delete mode 100644 packages/extension-bubble-menu/tsup.config.ts create mode 100644 packages/extension-bubble-menu/vite.config.ts delete mode 100644 packages/extension-bullet-list/tsup.config.ts create mode 100644 packages/extension-bullet-list/vite.config.ts delete mode 100644 packages/extension-code-block-lowlight/tsup.config.ts create mode 100644 packages/extension-code-block-lowlight/vite.config.ts delete mode 100644 packages/extension-code-block/tsup.config.ts create mode 100644 packages/extension-code-block/vite.config.ts delete mode 100644 packages/extension-code/tsup.config.ts create mode 100644 packages/extension-code/vite.config.ts delete mode 100644 packages/extension-collaboration-caret/tsup.config.ts create mode 100644 packages/extension-collaboration-caret/vite.config.ts delete mode 100644 packages/extension-collaboration/tsup.config.ts create mode 100644 packages/extension-collaboration/vite.config.ts delete mode 100644 packages/extension-color/tsup.config.ts create mode 100644 packages/extension-color/vite.config.ts delete mode 100644 packages/extension-details/tsup.config.ts create mode 100644 packages/extension-details/vite.config.ts delete mode 100644 packages/extension-document/tsup.config.ts create mode 100644 packages/extension-document/vite.config.ts delete mode 100644 packages/extension-drag-handle-react/tsup.config.ts create mode 100644 packages/extension-drag-handle-react/vite.config.ts delete mode 100644 packages/extension-drag-handle-vue-2/tsup.config.ts create mode 100644 packages/extension-drag-handle-vue-2/vite.config.ts delete mode 100644 packages/extension-drag-handle-vue-3/tsup.config.ts create mode 100644 packages/extension-drag-handle-vue-3/vite.config.ts delete mode 100644 packages/extension-drag-handle/tsup.config.ts create mode 100644 packages/extension-drag-handle/vite.config.ts delete mode 100644 packages/extension-emoji/tsup.config.ts create mode 100644 packages/extension-emoji/vite.config.ts delete mode 100644 packages/extension-file-handler/tsup.config.ts create mode 100644 packages/extension-file-handler/vite.config.ts delete mode 100644 packages/extension-find-and-replace/tsup.config.ts create mode 100644 packages/extension-find-and-replace/vite.config.ts delete mode 100644 packages/extension-floating-menu/tsup.config.ts create mode 100644 packages/extension-floating-menu/vite.config.ts delete mode 100644 packages/extension-font-family/tsup.config.ts create mode 100644 packages/extension-font-family/vite.config.ts delete mode 100644 packages/extension-hard-break/tsup.config.ts create mode 100644 packages/extension-hard-break/vite.config.ts delete mode 100644 packages/extension-heading/tsup.config.ts create mode 100644 packages/extension-heading/vite.config.ts delete mode 100644 packages/extension-highlight/tsup.config.ts create mode 100644 packages/extension-highlight/vite.config.ts delete mode 100644 packages/extension-horizontal-rule/tsup.config.ts create mode 100644 packages/extension-horizontal-rule/vite.config.ts delete mode 100644 packages/extension-image/tsup.config.ts create mode 100644 packages/extension-image/vite.config.ts delete mode 100644 packages/extension-invisible-characters/tsup.config.ts create mode 100644 packages/extension-invisible-characters/vite.config.ts delete mode 100644 packages/extension-italic/tsup.config.ts create mode 100644 packages/extension-italic/vite.config.ts delete mode 100644 packages/extension-link/tsup.config.ts create mode 100644 packages/extension-link/vite.config.ts delete mode 100644 packages/extension-list/tsup.config.ts create mode 100644 packages/extension-list/vite.config.ts delete mode 100644 packages/extension-mathematics/tsup.config.ts create mode 100644 packages/extension-mathematics/vite.config.ts delete mode 100644 packages/extension-mention/tsup.config.ts create mode 100644 packages/extension-mention/vite.config.ts delete mode 100644 packages/extension-node-range/tsup.config.ts create mode 100644 packages/extension-node-range/vite.config.ts delete mode 100644 packages/extension-ordered-list/tsup.config.ts create mode 100644 packages/extension-ordered-list/vite.config.ts delete mode 100644 packages/extension-paragraph/tsup.config.ts create mode 100644 packages/extension-paragraph/vite.config.ts delete mode 100644 packages/extension-ruby-text/tsup.config.ts create mode 100644 packages/extension-ruby-text/vite.config.ts delete mode 100644 packages/extension-strike/tsup.config.ts create mode 100644 packages/extension-strike/vite.config.ts delete mode 100644 packages/extension-subscript/tsup.config.ts create mode 100644 packages/extension-subscript/vite.config.ts delete mode 100644 packages/extension-superscript/tsup.config.ts create mode 100644 packages/extension-superscript/vite.config.ts delete mode 100644 packages/extension-table-of-contents/tsup.config.ts create mode 100644 packages/extension-table-of-contents/vite.config.ts delete mode 100644 packages/extension-table/tsup.config.ts create mode 100644 packages/extension-table/vite.config.ts delete mode 100644 packages/extension-text-align/tsup.config.ts create mode 100644 packages/extension-text-align/vite.config.ts delete mode 100644 packages/extension-text-style/tsup.config.ts create mode 100644 packages/extension-text-style/vite.config.ts delete mode 100644 packages/extension-text/tsup.config.ts create mode 100644 packages/extension-text/vite.config.ts delete mode 100644 packages/extension-twitch/tsup.config.ts create mode 100644 packages/extension-twitch/vite.config.ts delete mode 100644 packages/extension-typography/tsup.config.ts create mode 100644 packages/extension-typography/vite.config.ts delete mode 100644 packages/extension-underline/tsup.config.ts create mode 100644 packages/extension-underline/vite.config.ts delete mode 100644 packages/extension-unique-id/tsup.config.ts create mode 100644 packages/extension-unique-id/vite.config.ts delete mode 100644 packages/extension-youtube/tsup.config.ts create mode 100644 packages/extension-youtube/vite.config.ts delete mode 100644 packages/extensions/tsup.config.ts create mode 100644 packages/extensions/vite.config.ts delete mode 100644 packages/html/tsup.config.ts create mode 100644 packages/html/vite.config.ts delete mode 100644 packages/markdown/tsup.config.ts create mode 100644 packages/markdown/vite.config.ts delete mode 100644 packages/pm/tsup.config.ts create mode 100644 packages/pm/vite.config.ts delete mode 100644 packages/react/tsup.config.ts create mode 100644 packages/react/vite.config.ts delete mode 100644 packages/starter-kit/tsup.config.ts create mode 100644 packages/starter-kit/vite.config.ts delete mode 100644 packages/static-renderer/tsup.config.ts create mode 100644 packages/static-renderer/vite.config.ts delete mode 100644 packages/suggestion/tsup.config.ts create mode 100644 packages/suggestion/vite.config.ts delete mode 100644 packages/vue-2/tsup.config.ts create mode 100644 packages/vue-2/vite.config.ts delete mode 100644 packages/vue-3/tsup.config.ts create mode 100644 packages/vue-3/vite.config.ts delete mode 100644 patches/@changesets__assemble-release-plan.patch rename patches/{@changesets__assemble-release-plan@6.0.9.patch => @changesets__assemble-release-plan@6.0.10.patch} (82%) create mode 100644 scripts/check-package-exports.mjs delete mode 100644 turbo.json rename vitest.config.ts => vite.config.mts (85%) diff --git a/.github/actions/restore-build/action.yml b/.github/actions/restore-build/action.yml deleted file mode 100644 index d5fa070d41..0000000000 --- a/.github/actions/restore-build/action.yml +++ /dev/null @@ -1,21 +0,0 @@ -name: Restore build artifacts -description: Download and extract build output artifact - -inputs: - artifact-name: - description: Name of the artifact containing build output - default: build-output - required: false - -runs: - using: composite - steps: - - name: Download build artifacts - uses: actions/download-artifact@v8 - with: - name: ${{ inputs.artifact-name }} - path: /tmp/build-output - - - name: Restore build output - shell: bash - run: tar -xzf /tmp/build-output/build-output.tar.gz diff --git a/.github/actions/setup-env/action.yml b/.github/actions/setup-env/action.yml index 90163b1bc0..0987a9924a 100644 --- a/.github/actions/setup-env/action.yml +++ b/.github/actions/setup-env/action.yml @@ -1,5 +1,5 @@ -name: Setup Node.js and pnpm -description: Install pnpm, setup Node.js, and optionally configure pnpm store +name: Setup Vite+ and pnpm environment +description: Install Vite+ (vp) and pnpm, setup Node.js, and optionally configure the pnpm store inputs: node-version: @@ -13,7 +13,7 @@ inputs: default: '' required: false cache: - description: Whether to use setup-node's pnpm caching (pass literal string `'true'` to enable) + description: Whether to use setup-vp's dependency caching (pass literal string `'true'` to enable) default: 'false' required: false @@ -24,12 +24,13 @@ runs: with: version: ${{ inputs.pnpm-version }} - - uses: actions/setup-node@v4 - with: - node-version: ${{ inputs.node-version }} - cache: ${{ inputs.cache == 'true' && 'pnpm' || '' }} - - name: Configure pnpm store if: inputs.store-dir != '' shell: bash run: pnpm config set store-dir ${{ github.workspace }}/${{ inputs.store-dir }} + + - uses: voidzero-dev/setup-vp@v1.17.0 + with: + node-version: ${{ inputs.node-version }} + cache: ${{ inputs.cache == 'true' && 'true' || 'false' }} + run-install: false diff --git a/.github/actions/setup-playwright/action.yml b/.github/actions/setup-playwright/action.yml index 0fda880a35..8927c60b92 100644 --- a/.github/actions/setup-playwright/action.yml +++ b/.github/actions/setup-playwright/action.yml @@ -19,9 +19,9 @@ runs: - name: Install Playwright browsers if: steps.playwright-cache.outputs.cache-hit != 'true' shell: bash - run: pnpm exec playwright install --with-deps chromium + run: vp exec playwright install --with-deps chromium - name: Install Playwright system deps if: steps.playwright-cache.outputs.cache-hit == 'true' shell: bash - run: pnpm exec playwright install-deps chromium + run: vp exec playwright install-deps chromium diff --git a/.github/instructions/tiptap.instructions.md b/.github/instructions/tiptap.instructions.md index 02b8e305ff..acf535d77f 100644 --- a/.github/instructions/tiptap.instructions.md +++ b/.github/instructions/tiptap.instructions.md @@ -46,29 +46,31 @@ Notes: ## NPM scripts -Scripts defined at the repo root: - -- `pnpm dev` - start the demos on port 3000 -- `pnpm build` - build all packages via Turborepo -- `pnpm check` - run format check + lint -- `pnpm check:fix` - run format:fix + lint:fix -- `pnpm format` - run oxfmt formatter check -- `pnpm format:fix` - run oxfmt formatter -- `pnpm lint` - run oxlint checks -- `pnpm lint:fix` - run oxlint with auto-fix -- `pnpm lint:staged` - run lint-staged on staged files -- `pnpm test:e2e` - run Playwright e2e tests headlessly in Chromium -- `pnpm test:e2e:firefox` - same, in Firefox -- `pnpm test:e2e:all` - same, in both browsers -- `pnpm test:e2e:open` - run Playwright in UI mode (Chromium tests) -- `pnpm test:e2e:open:firefox` - UI mode, Firefox tests -- `pnpm test:e2e:open:all` - UI mode, both browsers selectable -- `pnpm test:e2e:report` - open the HTML report from the last run -- `pnpm test:unit` - run Vitest unit tests in `packages/**/__tests__/` -- `pnpm test` - build then run all tests -- `pnpm serve` - build and serve the demos on port 3000 -- `pnpm publish` - build and publish with Changesets -- `pnpm reset` - remove caches, build artifacts, and reinstall deps +Scripts defined at the repo root. Run them with `vp run