Files
upstream-mirror 083a46e93b
Some checks failed
Verify / Install node dependencies (push) Failing after 2s
Verify / Build packages (push) Has been skipped
Verify / Check linting & formatting (push) Has been skipped
Verify / Run unit tests (push) Has been skipped
Verify / Run e2e tests (shard 1/4) (push) Has been skipped
Verify / Run e2e tests (shard 2/4) (push) Has been skipped
Verify / Run e2e tests (shard 3/4) (push) Has been skipped
Verify / Run e2e tests (shard 4/4) (push) Has been skipped
Publish / Resolve publish config (push) Failing after 2s
Publish / Send notification to Slack (push) Has been skipped
Publish / Send failure notification to Slack (push) Failing after 8s
Verify / Merge e2e reports (push) Has been skipped
Publish / Build (push) Has been skipped
Publish / Bump Versions OR Release to Registry (push) Has been skipped
snapshot of https://github.com/ueberdosis/tiptap.git (main, 2026-09-15; blobs > 131072B omitted)
2026-09-15 21:11:02 +05:00

34 lines
1000 B
TypeScript

import type { Codemod, Edit } from 'codemod:ast-grep'
import type JSON from 'codemod:ast-grep/langs/json'
import type JS from 'codemod:ast-grep/langs/javascript'
import type TS from 'codemod:ast-grep/langs/typescript'
import type TSX from 'codemod:ast-grep/langs/tsx'
const packageSpecifiers = new Map([
["'@tiptap/vue-3'", "'@tiptap/vue'"],
['"@tiptap/vue-3"', '"@tiptap/vue"'],
["'@tiptap/extension-drag-handle-vue-3'", "'@tiptap/extension-drag-handle-vue'"],
['"@tiptap/extension-drag-handle-vue-3"', '"@tiptap/extension-drag-handle-vue"'],
])
type Language = JS | TS | TSX | JSON
const codemod: Codemod<Language> = async root => {
const edits: Edit[] = []
root
.root()
.findAll({ rule: { kind: 'string' } })
.forEach(node => {
const replacement = packageSpecifiers.get(node.text())
if (replacement) {
edits.push(node.replace(replacement))
}
})
return edits.length > 0 ? root.root().commitEdits(edits) : null
}
export default codemod