@@ -5,6 +5,7 @@ import type {
55 PayloadRequest ,
66 SanitizedConfig ,
77} from 'payload'
8+ import type tsTypes from 'typescript'
89
910import { existsSync , mkdirSync , readdirSync , readFileSync , rmSync , writeFileSync } from 'fs'
1011import path from 'path'
@@ -16,7 +17,6 @@ import {
1617} from 'payload'
1718import { findConfig } from 'payload/node'
1819import { fieldShouldBeLocalized } from 'payload/shared'
19- import * as ts from 'typescript'
2020
2121import type {
2222 BlocksToJsonBlockToMigrate ,
@@ -640,6 +640,8 @@ class BlocksToJsonMigratorImpl implements BlocksToJsonMigrator {
640640
641641 const configFile = readFileSync ( configPath , 'utf-8' )
642642
643+ const ts = await dynamicImport < typeof tsTypes > ( 'typescript' )
644+
643645 const source = ts . createSourceFile ( configPath , configFile , ts . ScriptTarget . ESNext )
644646
645647 let hadChanges = false
@@ -648,7 +650,7 @@ class BlocksToJsonMigratorImpl implements BlocksToJsonMigrator {
648650 ( ctx ) => ( sourceFile ) => {
649651 const factory = ctx . factory
650652
651- const visit : ts . Visitor = ( node ) => {
653+ const visit : tsTypes . Visitor = ( node ) => {
652654 if (
653655 ts . isPropertyAssignment ( node ) &&
654656 ts . isIdentifier ( node . name ) &&
@@ -691,7 +693,7 @@ class BlocksToJsonMigratorImpl implements BlocksToJsonMigrator {
691693 return ts . visitEachChild ( node , visit , ctx )
692694 }
693695
694- return ts . visitNode ( sourceFile , visit ) as ts . SourceFile
696+ return ts . visitNode ( sourceFile , visit ) as tsTypes . SourceFile
695697 } ,
696698 ] )
697699
0 commit comments