Skip to content

Commit ebd110e

Browse files
committed
Always define embed.getVisitorKeys
This feels like it should not be necessary so I don’t think this fix is right. Need to dive into the Prettier source to figure out why its getting called.
1 parent 4446eba commit ebd110e

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

src/index.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1116,6 +1116,25 @@ export const printers: Record<string, Printer> = (function () {
11161116
return base.printers['svelte-ast'].embed(path, options)
11171117
}
11181118

1119+
//
1120+
// Prettier v3.7 compat
1121+
// This isn't in the types but its expected at runtime
1122+
//
1123+
1124+
embed.getVisitorKeys = (node: any, nonTraversableKeys?: Set<string>) => {
1125+
// @ts-ignore
1126+
if (base.printers['svelte-ast'].embed && base.printers['svelte-ast'].embed.getVisitorKeys) {
1127+
// @ts-ignore
1128+
return base.printers['svelte-ast'].embed!.getVisitorKeys(node, nonTraversableKeys ?? new Set())
1129+
}
1130+
1131+
if (base.printers['svelte-ast'].getVisitorKeys) {
1132+
return base.printers['svelte-ast'].getVisitorKeys(node, nonTraversableKeys ?? new Set())
1133+
}
1134+
1135+
return []
1136+
}
1137+
11191138
printers['svelte-ast'] = {
11201139
...original,
11211140
print,

0 commit comments

Comments
 (0)