reinstigate history extension and move it into deprecated packages directory

This commit is contained in:
Dominik Biedebach 2025-03-20 16:22:26 +01:00
parent b0e0b23708
commit ac35ec8d43
87 changed files with 3565 additions and 2235 deletions

View File

@ -32,7 +32,7 @@
'@tiptap/extension-underline': major
'@tiptap/extension-document': major
'@tiptap/extension-heading': major
'@tiptap/extension-undo-redo': major
'@tiptap/extension-history': major
'@tiptap/extension-mention': major
'@tiptap/extension-youtube': major
'@tiptap/extension-italic': major

View File

@ -59,10 +59,10 @@ import { GapCursor } from '@tiptap/extensions'
This extension adds undo and redo functionality to the editor.
Migrate from `@tiptap/extension-undo-redo` to `@tiptap/extensions`:
Migrate from `@tiptap/extension-history` to `@tiptap/extensions`:
```diff
- import History from '@tiptap/extension-undo-redo'
- import History from '@tiptap/extension-history'
+ import { History } from '@tiptap/extensions'
```

View File

@ -22,7 +22,7 @@
'@tiptap/extension-hard-break': patch
'@tiptap/extension-heading': patch
'@tiptap/extension-highlight': patch
'@tiptap/extension-undo-redo': patch
'@tiptap/extension-history': patch
'@tiptap/extension-horizontal-rule': patch
'@tiptap/extension-image': patch
'@tiptap/extension-italic': patch

View File

@ -24,7 +24,7 @@
"@tiptap/extension-hard-break": "2.11.4",
"@tiptap/extension-heading": "2.11.4",
"@tiptap/extension-highlight": "2.11.4",
"@tiptap/extension-undo-redo": "2.11.4",
"@tiptap/extension-history": "2.11.4",
"@tiptap/extension-horizontal-rule": "2.11.4",
"@tiptap/extension-image": "2.11.4",
"@tiptap/extension-italic": "2.11.4",

View File

@ -1,5 +1,5 @@
---
'@tiptap/extension-undo-redo': major
'@tiptap/extension-history': major
---
Rename history extension to undo-redo to clarify it's functionality and separate itself from other history-related extensions.
Rename history extension to history to clarify it's functionality and separate itself from other history-related extensions.

View File

@ -209,3 +209,7 @@ jobs:
- name: Soft release
id: soft-release
run: pnpm exec pkg-pr-new publish './packages/*' --compact
- name: Soft release legacy packages
id: soft-release-deprecated
run: pnpm exec pkg-pr-new publish './packages-deprecated/*' --compact

1
.gitignore vendored
View File

@ -32,6 +32,7 @@ tests/cypress/videos
# packaged files
packages/**/*.tgz
packages-deprecated/**/*.tgz
demos/*.tgz
# demo directories

View File

@ -27,7 +27,7 @@
"extension/hard-break",
"extension/heading",
"extension/highlight",
"extension/undo-redo",
"extension/history",
"extension/horizontal-rule",
"extension/image",
"extension/italic",

View File

@ -99,7 +99,7 @@ import { TextStyle, Color } from "@tiptap/extension-text-style";
```ts
import { PlaceHolder } from "@tiptap/extension-placeholder";
import UndoRedo from "@tiptap/extension-undo-redo";
import UndoRedo from "@tiptap/extension-history";
```
### After

View File

@ -1,2 +1,2 @@
import UndoRedo from "@tiptap/extension-undo-redo";
import UndoRedo from "@tiptap/extension-history";
import { Placeholder } from "@tiptap/extension-placeholder";

View File

@ -8,7 +8,11 @@
"../packages/*/src/**/*.d.ts",
"../packages/*/src/**/*.ts",
"../packages/*/src/**/*.tsx",
"../packages/*/src/**/*.vue"
"../packages/*/src/**/*.vue",
"../packages-deprecated/*/src/**/*.d.ts",
"../packages-deprecated/*/src/**/*.ts",
"../packages-deprecated/*/src/**/*.tsx",
"../packages-deprecated/*/src/**/*.vue"
],
"exclude": [
"../packages/react",

View File

@ -10,44 +10,51 @@ import { defineConfig } from 'vite'
const getPackageDependencies = () => {
const paths: Array<{ find: string; replacement: any }> = []
fg.sync('../packages/*', { onlyDirectories: true })
.map(name => name.replace('../packages/', ''))
.forEach(name => {
if (name === 'pm') {
fg.sync(`../packages/${name}/*`, { onlyDirectories: true }).forEach(subName => {
const subPkgName = subName.replace(`../packages/${name}/`, '')
function collectPackageInformation(path: string) {
fg.sync(`../${path}/*`, { onlyDirectories: true })
.map(name => name.replace(`../${path}/`, ''))
.forEach(name => {
if (name === 'pm') {
fg.sync(`../${path}/${name}/*`, { onlyDirectories: true }).forEach(subName => {
const subPkgName = subName.replace(`../${path}/${name}/`, '')
if (subPkgName === 'dist' || subPkgName === 'node_modules') {
return
}
if (subPkgName === 'dist' || subPkgName === 'node_modules') {
return
}
paths.push({
find: `@tiptap/${name}/${subPkgName}`,
replacement: resolve(`../packages/${name}/${subPkgName}/index.ts`),
paths.push({
find: `@tiptap/${name}/${subPkgName}`,
replacement: resolve(`../${path}/${name}/${subPkgName}/index.ts`),
})
})
})
} else if (
name === 'extension-text-style' ||
name === 'extension-table' ||
name === 'extensions' ||
name === 'extension-list' ||
name === 'react' ||
name === 'vue-2' ||
name === 'vue-3'
) {
fg.sync(`../packages/${name}/src/*`, { onlyDirectories: true }).forEach(subName => {
const subPkgName = subName.replace(`../packages/${name}/src/`, '')
} else if (
name === 'extension-text-style' ||
name === 'extension-table' ||
name === 'extensions' ||
name === 'extension-list' ||
name === 'react' ||
name === 'vue-2' ||
name === 'vue-3'
) {
fg.sync(`../${path}/${name}/src/*`, { onlyDirectories: true }).forEach(subName => {
const subPkgName = subName.replace(`../${path}/${name}/src/`, '')
paths.push({
find: `@tiptap/${name}/${subPkgName}`,
replacement: resolve(`../packages/${name}/src/${subPkgName}/index.ts`),
paths.push({
find: `@tiptap/${name}/${subPkgName}`,
replacement: resolve(`../${path}/${name}/src/${subPkgName}/index.ts`),
})
})
})
paths.push({ find: `@tiptap/${name}`, replacement: resolve(`../packages/${name}/src/index.ts`) })
} else {
paths.push({ find: `@tiptap/${name}`, replacement: resolve(`../packages/${name}/src/index.ts`) })
}
})
paths.push({ find: `@tiptap/${name}`, replacement: resolve(`../${path}/${name}/src/index.ts`) })
} else {
paths.push({ find: `@tiptap/${name}`, replacement: resolve(`../${path}/${name}/src/index.ts`) })
}
})
}
collectPackageInformation('packages')
collectPackageInformation('packages-deprecated')
console.log(paths)
// Handle the JSX runtime alias
paths.unshift({ find: '@tiptap/core/jsx-runtime', replacement: resolve('../packages/core/src/jsx-runtime.ts') })

View File

@ -24,8 +24,8 @@
"serve": "pnpm run build:demos && http-server ./demos/dist -s -p 3000",
"build:ci": "turbo run build",
"publish": "pnpm run build && pnpm publish -r --no-git-checks",
"clean:packages": "rm -rf ./packages/*/dist && rm -rf ./packages/pm/*/dist",
"clean:packs": "rm -rf ./packages/*/*.tgz",
"clean:packages": "rm -rf ./packages/*/dist && rm -rf ./packages/pm/*/dist && rm -rf ./packages-deprecated/*/dist",
"clean:packs": "rm -rf ./packages/*/*.tgz && rm -rf ./packages-deprecated/*/*.tgz",
"reset": "pnpm run clean:packages && pnpm run clean:packs && rm -rf ./**/.cache && rm -rf ./**/node_modules && rm -rf ./package-lock.json && pnpm install",
"prepare": "husky install",
"turbo": "turbo",

View File

View File

@ -39,7 +39,7 @@
"repository": {
"type": "git",
"url": "https://github.com/ueberdosis/tiptap",
"directory": "packages/extension-character-count"
"directory": "packages-deprecated/extension-character-count"
},
"scripts": {
"build": "tsup",

View File

@ -39,7 +39,7 @@
"repository": {
"type": "git",
"url": "https://github.com/ueberdosis/tiptap",
"directory": "packages/extension-dropcursor"
"directory": "packages-deprecated/extension-dropcursor"
},
"scripts": {
"build": "tsup",

View File

@ -39,7 +39,7 @@
"repository": {
"type": "git",
"url": "https://github.com/ueberdosis/tiptap",
"directory": "packages/extension-focus"
"directory": "packages-deprecated/extension-focus"
},
"scripts": {
"build": "tsup",

View File

@ -39,7 +39,7 @@
"repository": {
"type": "git",
"url": "https://github.com/ueberdosis/tiptap",
"directory": "packages/extension-gapcursor"
"directory": "packages-deprecated/extension-gapcursor"
},
"scripts": {
"build": "tsup",

View File

@ -1,8 +1,8 @@
# @tiptap/extension-undo-redo
# @tiptap/extension-history
[![Version](https://img.shields.io/npm/v/@tiptap/extension-undo-redo.svg?label=version)](https://www.npmjs.com/package/@tiptap/extension-undo-redo)
[![Downloads](https://img.shields.io/npm/dm/@tiptap/extension-undo-redo.svg)](https://npmcharts.com/compare/tiptap?minimal=true)
[![License](https://img.shields.io/npm/l/@tiptap/extension-undo-redo.svg)](https://www.npmjs.com/package/@tiptap/extension-undo-redo)
[![Version](https://img.shields.io/npm/v/@tiptap/extension-history.svg?label=version)](https://www.npmjs.com/package/@tiptap/extension-history)
[![Downloads](https://img.shields.io/npm/dm/@tiptap/extension-history.svg)](https://npmcharts.com/compare/tiptap?minimal=true)
[![License](https://img.shields.io/npm/l/@tiptap/extension-history.svg)](https://www.npmjs.com/package/@tiptap/extension-history)
[![Sponsor](https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub)](https://github.com/sponsors/ueberdosis)
## Introduction

View File

@ -1,5 +1,5 @@
{
"name": "@tiptap/extension-undo-redo",
"name": "@tiptap/extension-history",
"description": "history extension for tiptap",
"version": "3.0.0-next.6",
"homepage": "https://tiptap.dev",
@ -39,7 +39,7 @@
"repository": {
"type": "git",
"url": "https://github.com/ueberdosis/tiptap",
"directory": "packages/extension-undo-redo"
"directory": "packages-deprecated/extension-history"
},
"scripts": {
"build": "tsup",

View File

@ -0,0 +1,6 @@
import { UndoRedo } from '@tiptap/extensions'
export type { UndoRedoOptions as HistoryOptions } from '@tiptap/extensions'
export { UndoRedo as History } from '@tiptap/extensions'
export default UndoRedo

View File

@ -39,7 +39,7 @@
"repository": {
"type": "git",
"url": "https://github.com/ueberdosis/tiptap",
"directory": "packages/extension-placeholder"
"directory": "packages-deprecated/extension-placeholder"
},
"scripts": {
"build": "tsup",

View File

@ -98,7 +98,7 @@ export const Collaboration = Extension.create<CollaborationOptions, Collaboratio
onCreate() {
if (this.editor.extensionManager.extensions.find(extension => extension.name === 'undoRedo')) {
console.warn(
'[tiptap warn]: "@tiptap/extension-collaboration" comes with its own history support and is not compatible with "@tiptap/extension-undo-redo".',
'[tiptap warn]: "@tiptap/extension-collaboration" comes with its own history support and is not compatible with "@tiptap/extension-history".',
)
}
},

View File

@ -1,6 +0,0 @@
import { UndoRedo } from '@tiptap/extensions'
export type { UndoRedoOptions } from '@tiptap/extensions'
export { UndoRedo } from '@tiptap/extensions'
export default UndoRedo

View File

@ -42,7 +42,6 @@
"@tiptap/extension-gapcursor": "^3.0.0-next.6",
"@tiptap/extension-hard-break": "^3.0.0-next.6",
"@tiptap/extension-heading": "^3.0.0-next.6",
"@tiptap/extension-undo-redo": "^3.0.0-next.6",
"@tiptap/extension-horizontal-rule": "^3.0.0-next.6",
"@tiptap/extension-italic": "^3.0.0-next.6",
"@tiptap/extension-link": "^3.0.0-next.6",

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,5 @@
packages:
- "packages/*"
- "demos"
- "codemods/*"
- 'packages/*'
- 'packages-deprecated/*'
- 'demos'
- 'codemods/*'

View File

@ -3,7 +3,7 @@
"compilerOptions": {
"rootDir": "../../",
"paths": {
"@tiptap/*": ["packages/*/dist", "packages/*/src"]
"@tiptap/*": ["packages/*/dist", "packages/*/src", "packages-deprecated/*/dist", "packages-deprecated/*/src"]
}
}
}

View File

@ -17,7 +17,7 @@
"allowJs": true,
"checkJs": false,
"paths": {
"@tiptap/*": ["packages/*/src", "packages/*/dist"]
"@tiptap/*": ["packages/*/src", "packages/*/dist", "packages-deprecated/*/src", "packages-deprecated/*/dist"]
},
"lib": ["esnext", "dom", "dom.iterable", "scripthost"]
},