|  | 
| 1 | 1 | import { Message } from 'discord.js'; | 
| 2 | 2 | import { twoslasher, TwoSlashReturn } from '@typescript/twoslash'; | 
|  | 3 | +import { ScriptTarget, type CompilerOptions } from 'typescript'; | 
| 3 | 4 | import { makeCodeBlock, findCode } from '../util/codeBlocks'; | 
| 4 | 5 | import { sendWithMessageOwnership } from '../util/send'; | 
| 5 | 6 | import { getTypeScriptModule, TypeScript } from '../util/getTypeScriptModule'; | 
| 6 | 7 | import { splitCustomCommand } from '../util/customCommand'; | 
| 7 | 8 | import { Bot } from '../bot'; | 
| 8 | 9 | 
 | 
|  | 10 | +const defaultCompilerOptions: CompilerOptions = { | 
|  | 11 | +	target: ScriptTarget.ESNext, | 
|  | 12 | +}; | 
|  | 13 | + | 
| 9 | 14 | // Preload typescript@latest | 
| 10 | 15 | getTypeScriptModule('latest'); | 
| 11 | 16 | 
 | 
| @@ -81,6 +86,7 @@ async function twoslash(msg: Message, version: string, content: string) { | 
| 81 | 86 | 	try { | 
| 82 | 87 | 		ret = twoslasher(redactNoErrorTruncation(code), 'ts', { | 
| 83 | 88 | 			tsModule, | 
|  | 89 | +			defaultCompilerOptions, | 
| 84 | 90 | 			defaultOptions: { noErrorValidation: true }, | 
| 85 | 91 | 		}); | 
| 86 | 92 | 	} catch (e) { | 
| @@ -119,6 +125,7 @@ async function twoslashBlock(msg: Message, code: string, tsModule: TypeScript) { | 
| 119 | 125 | 	try { | 
| 120 | 126 | 		ret = twoslasher(redactNoErrorTruncation(code), 'ts', { | 
| 121 | 127 | 			tsModule, | 
|  | 128 | +			defaultCompilerOptions, | 
| 122 | 129 | 			defaultOptions: { | 
| 123 | 130 | 				noErrorValidation: true, | 
| 124 | 131 | 				noStaticSemanticInfo: false, | 
|  | 
0 commit comments