UNPKG

svelte-check

Version:

Svelte Code Checker Terminal Interface

40 lines (34 loc) 1.2 kB
// @ts-check let version; try { const pkg = require('typescript/package.json'); version = pkg.version; } catch {} checkTypeScriptVersion(version); /** * * @param {string | undefined} version * @returns */ function checkTypeScriptVersion(version) { const requirement = 'svelte-check requires TypeScript >= 5.0 and <= 6.0. '; let message = ''; if (version) { const major = parseInt(version.split('.')[0], 10); if (major < 5) { message += requirement + `You are using unsupported TypeScript ${version}. \n\nNote that `; } else if (major < 7) { return; } } else { message += 'TypeScript is not installed in the workspace. ' + requirement + '\n\nNote that '; } message += 'TypeScript 7 support currently requires both TypeScript 7 and TypeScript 6 installed in your project, ' + 'and requires using the --tsgo or --tsgo-experimental-api flag. ' + 'You can setup both version with an npm alias via the following command.\n' + 'npm install --save-dev typescript@~6 @typescript/native@npm:typescript@7\n'; throw new Error(message); }