diff --git a/docs/users/Dependency_Versions.mdx b/docs/users/Dependency_Versions.mdx index 46542709154f..ff1cad710d73 100644 --- a/docs/users/Dependency_Versions.mdx +++ b/docs/users/Dependency_Versions.mdx @@ -3,6 +3,8 @@ id: dependency-versions title: Dependency Versions --- +import packageJson from '../../package.json'; + ## ESLint > The version range of ESLint currently supported is `^6.0.0 || ^7.0.0 || ^8.0.0`. @@ -16,7 +18,12 @@ Support for specific Current status releases are considered periodically. ## TypeScript -> The version range of TypeScript currently supported is `>=3.3.1 <5.2.0`. +
+

+ The version range of TypeScript currently supported is{' '} + {packageJson.devDependencies.typescript}. +

+
Note that we mirror [DefinitelyTyped's version support window](https://github.com/DefinitelyTyped/DefinitelyTyped/#support-window) - meaning we only support versions of TypeScript less than 2 years old. diff --git a/packages/website/package.json b/packages/website/package.json index e31706008682..c7045f967eea 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -38,6 +38,7 @@ "react-dom": "^18.2.0", "react-split-pane": "^0.1.92", "remark-docusaurus-tabs": "^0.2.0", + "semver": "^7.5.4", "ts-node": "*", "typescript": "*" }, diff --git a/packages/website/src/components/editor/useSandboxServices.ts b/packages/website/src/components/editor/useSandboxServices.ts index 86cb92bdc199..997cc1cc6058 100644 --- a/packages/website/src/components/editor/useSandboxServices.ts +++ b/packages/website/src/components/editor/useSandboxServices.ts @@ -1,7 +1,9 @@ import { useColorMode } from '@docusaurus/theme-common'; import type * as Monaco from 'monaco-editor'; import { useEffect, useState } from 'react'; +import semverSatisfies from 'semver/functions/satisfies'; +import rootPackageJson from '../../../../../package.json'; import type { createTypeScriptSandbox } from '../../vendor/sandbox'; import { createCompilerOptions } from '../lib/createCompilerOptions'; import { createFileSystem } from '../linter/bridge'; @@ -93,7 +95,9 @@ export const useSandboxServices = ( Array.from( new Set([...sandboxInstance.supportedVersions, window.ts.version]), ) - .filter(item => parseFloat(item) >= 4.3) + .filter(item => + semverSatisfies(item, rootPackageJson.devDependencies.typescript), + ) .sort((a, b) => b.localeCompare(a)), );