Skip to content

Commit 3953bd5

Browse files
authored
fix: avoid breakage if user has jiti 1.x installed (#1060)
1 parent 3c66926 commit 3953bd5

File tree

2 files changed

+18
-4
lines changed

2 files changed

+18
-4
lines changed

packages/cli/src/services/util.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,10 +107,17 @@ type Jiti = ReturnType<(typeof import('jiti', {
107107

108108
// To avoid a dependency on typescript for users with no TS checks, we need to dynamically import jiti
109109
let jiti: Jiti
110+
let haveJiti = false
110111
async function getJiti (): Promise<Jiti | undefined> {
111-
if (jiti) return jiti
112+
if (haveJiti) return jiti
112113
try {
113-
jiti = (await import('jiti')).createJiti(__filename)
114+
const maybeJiti = await import('jiti')
115+
// Jiti 1x does not have createJiti().
116+
if (typeof maybeJiti.createJiti !== 'function') {
117+
return
118+
}
119+
jiti = maybeJiti.createJiti(__filename)
120+
haveJiti = true
114121
} catch (err: any) {
115122
if (err.code === 'ERR_MODULE_NOT_FOUND' || err.code === 'MODULE_NOT_FOUND') {
116123
return undefined

packages/create-cli/src/utils/fileloader.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,17 @@ type Jiti = ReturnType<(typeof import('jiti', {
5656

5757
// To avoid a dependency on typescript for users with no TS checks, we need to dynamically import jiti
5858
let jiti: Jiti
59+
let haveJiti = false
5960
async function getJiti (): Promise<Jiti | undefined> {
60-
if (jiti) return jiti
61+
if (haveJiti) return jiti
6162
try {
62-
jiti = (await import('jiti')).createJiti(__filename)
63+
const maybeJiti = await import('jiti')
64+
// Jiti 1x does not have createJiti().
65+
if (typeof maybeJiti.createJiti !== 'function') {
66+
return
67+
}
68+
jiti = maybeJiti.createJiti(__filename)
69+
haveJiti = true
6370
} catch (err: any) {
6471
if (err.code === 'ERR_MODULE_NOT_FOUND' || err.code === 'MODULE_NOT_FOUND') {
6572
return undefined

0 commit comments

Comments
 (0)