diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
index 97bc8ce10..97f2d63ea 100644
--- a/.devcontainer/devcontainer.json
+++ b/.devcontainer/devcontainer.json
@@ -2,9 +2,17 @@
"name": "TypeScript Website codespace",
"dockerFile": "Dockerfile",
+ "features": {
+ "ghcr.io/devcontainers/features/github-cli": "latest",
+ },
+
// Set *default* container specific settings.json values on container create.
- "settings": {
- "terminal.integrated.shell.linux": "/bin/bash"
+ "customizations": {
+ "vscode": {
+ "settings": {
+ "terminal.integrated.shell.linux": "/bin/bash"
+ }
+ }
},
"forwardPorts": [8000],
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 000000000..1860f11d5
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,22 @@
+# To get started with Dependabot version updates, you'll need to specify which
+# package ecosystems to update and where the package manifests are located.
+# Please see the documentation for more information:
+# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
+# https://containers.dev/guide/dependabot
+
+version: 2
+updates:
+ - package-ecosystem: 'github-actions'
+ directory: '/'
+ schedule:
+ interval: 'weekly'
+ groups:
+ github-actions:
+ patterns:
+ - '*'
+
+ - package-ecosystem: 'devcontainers'
+ directory: '/'
+ schedule:
+ interval: weekly
+
diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml
index 222882b20..502a81fb0 100644
--- a/.github/workflows/CI.yml
+++ b/.github/workflows/CI.yml
@@ -24,10 +24,10 @@ jobs:
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
+ - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
- node-version: "18.x"
- - uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
+ node-version: "20.x"
+ - uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4.3.0
- run: pnpm install
@@ -41,7 +41,7 @@ jobs:
# Verify it compiles
- run: pnpm build-site
- - uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
+ - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
if: github.event_name == 'pull_request' && matrix.os == 'ubuntu-latest'
with:
name: site
@@ -50,12 +50,6 @@ jobs:
# Run all the package's tests
- run: pnpm test
- # danger for PR builds
- - if: github.event_name == 'pull_request' && github.event.pull_request.base.repo.id == github.event.pull_request.head.repo.id && matrix.os == 'ubuntu-latest'
- run: "pnpm danger ci"
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-
- run: |
git add .
if ! git diff --staged --exit-code --quiet; then
@@ -71,7 +65,7 @@ jobs:
- name: Upload diff artifact
if: ${{ failure() && steps.check-diff.conclusion == 'failure' }}
- uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
+ uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: missing.patch
path: missing.patch
@@ -83,10 +77,10 @@ jobs:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
- - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
+ - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version: 'lts/*'
- - uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
+ - uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4.3.0
- run: pnpm install
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index c95eeefe3..ee0863fee 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -44,7 +44,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@9e907b5e64f6b83e7804b09294d44122997950d6 # v4.32.3
+ uses: github/codeql-action/init@0d579ffd059c29b07949a3cce3983f0780820c98 # v4.32.6
with:
config-file: ./.github/codeql/codeql-configuration.yml
# Override language selection by uncommenting this and choosing your languages
@@ -54,7 +54,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below).
- name: Autobuild
- uses: github/codeql-action/autobuild@9e907b5e64f6b83e7804b09294d44122997950d6 # v4.32.3
+ uses: github/codeql-action/autobuild@0d579ffd059c29b07949a3cce3983f0780820c98 # v4.32.6
# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
@@ -68,4 +68,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@9e907b5e64f6b83e7804b09294d44122997950d6 # v4.32.3
+ uses: github/codeql-action/analyze@0d579ffd059c29b07949a3cce3983f0780820c98 # v4.32.6
diff --git a/.github/workflows/deploy-preview.yml b/.github/workflows/deploy-preview.yml
index a8bb746f5..b98edba1e 100644
--- a/.github/workflows/deploy-preview.yml
+++ b/.github/workflows/deploy-preview.yml
@@ -132,7 +132,7 @@ jobs:
- name: Download site build from PR
if: ${{ steps.get-info.outputs.result != 'null' }}
- uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
+ uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: site
path: site
diff --git a/.github/workflows/deploy-prod-static.yml b/.github/workflows/deploy-prod-static.yml
index 72aaa2ec7..d7c7deb4c 100644
--- a/.github/workflows/deploy-prod-static.yml
+++ b/.github/workflows/deploy-prod-static.yml
@@ -31,11 +31,11 @@ jobs:
with:
# Fetch the full history, to build attribution.json
fetch-depth: 0
- - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
+ - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
- node-version: "18.x"
+ node-version: "20.x"
- - uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
+ - uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4.3.0
# Builds the modules, and boostraps the other modules
- name: Build website
diff --git a/.github/workflows/publish-packages.yml b/.github/workflows/publish-packages.yml
index 8b3c56c06..5266476c2 100644
--- a/.github/workflows/publish-packages.yml
+++ b/.github/workflows/publish-packages.yml
@@ -22,11 +22,11 @@ jobs:
fetch-depth: 0
filter: blob:none
token: ${{ secrets.TS_BOT_TOKEN }}
- - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
+ - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
- node-version: "18.x"
+ node-version: "20.x"
registry-url: "https://registry.npmjs.org/"
- - uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
+ - uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4.3.0
- name: Prepare website v2
run: |
diff --git a/.npmrc b/.npmrc
deleted file mode 100644
index 62f08cddb..000000000
--- a/.npmrc
+++ /dev/null
@@ -1,2 +0,0 @@
-shell-emulator=true
-publish-branch=v2
diff --git a/README.md b/README.md
index 4752dfef1..d124e7b6d 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,11 @@
目前为了保持稳定,我们仍然采取原有的本地化方式进行构建,即在本仓库触发 Vercel 的构建。而在 [ts-zh-docs/TypeScript-zh-Website](https://github.com/ts-zh-docs/TypeScript-zh-Website) 进行更新。一切有关翻译的讨论都将移至那个仓库,本仓库只负责构建工作。**中文文档的线上地址请访问[这里](https://www.tslang.com.cn)**。
+<<<<<<< HEAD
本地开发环境构建步骤:
+=======
+This repo uses pnpm workspaces with node 20+, and [watchman](https://facebook.github.io/watchman/docs/install.html). (Windows users can install [watchman via chocolatey](https://chocolatey.org/packages/watchman))
+>>>>>>> a42ede94eaa4022105635e5e5b2326100776c1e1
1. 使用 Node 18.x 版本。
2. 使用 `pnpm` 命令安装依赖。
diff --git a/dangerfile.ts b/dangerfile.ts
deleted file mode 100644
index 33701c036..000000000
--- a/dangerfile.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-// You can test it by running
-// pnpm danger pr https://github.com/microsoft/TypeScript-Website/pull/115
-
-// Blocked on PR deploys, see CI.yml
-// import lighthouse from "danger-plugin-lighthouse"
-
-// Spell check all the things
-const { default: spellcheck } = require("danger-plugin-spellcheck")
-spellcheck({ settings: "microsoft/TypeScript-Website@spellcheck.json" })
diff --git a/package.json b/package.json
index 394907f6f..17334380a 100644
--- a/package.json
+++ b/package.json
@@ -2,30 +2,32 @@
"private": true,
"name": "root",
"engines": {
+<<<<<<< HEAD
"node": "20",
"pnpm": ">=9"
+=======
+ "node": ">= 20.19"
+>>>>>>> a42ede94eaa4022105635e5e5b2326100776c1e1
},
"devDependencies": {
- "@changesets/changelog-github": "^0.5.0",
- "@changesets/cli": "^2.27.5",
+ "@changesets/changelog-github": "^0.5.2",
+ "@changesets/cli": "^2.29.8",
"@oss-docs/sync": "^1.1.4",
- "@types/express": "^4.17.6",
- "@types/node": "^18.19.121",
- "@types/react": "^18.3.2",
+ "@types/express": "^5.0.6",
+ "@types/node": "^25.3.3",
+ "@types/prettier": "^2.7.3",
+ "@types/react": "^18.3.28",
"chalk": "^4.1.2",
- "concurrently": "^8.2.2",
- "cross-env": "^7.0.2",
- "danger": "^13.0.5",
- "danger-plugin-lighthouse": "^0.5.2",
- "danger-plugin-spellcheck": "^2.1.0",
- "fb-watchman": "^2.0.1",
- "glob": "^7.2.3",
+ "concurrently": "^9.2.1",
+ "cross-env": "^10.1.0",
+ "fb-watchman": "^2.0.2",
+ "glob": "^13.0.6",
"gray-matter": "4.0.3",
- "reflect-metadata": "^0.1.13",
- "remark": "^11.0.2",
- "remark-html": "^10.0.0",
- "remark-shiki-twoslash": "^3.1.3",
- "serve-handler": "^6.1.2"
+ "prettier": "^2.8.8",
+ "reflect-metadata": "^0.2.2",
+ "remark": "^13.0.0",
+ "remark-html": "^13.0.2",
+ "remark-shiki-twoslash": "^3.1.3"
},
"pnpm": {
"overrides": {
@@ -33,21 +35,35 @@
"remark-shiki-twoslash>@typescript/vfs": "link:./packages/typescript-vfs",
"shiki-twoslash>@typescript/twoslash": "link:./packages/ts-twoslasher",
"shiki-twoslash>@typescript/vfs": "link:./packages/typescript-vfs",
- "@types/react": "^18.2.77",
+ "@types/react": "^18.3.28",
"@types/estree": "0.0.46",
"@types/eslint": "7.29.0",
"assert": "2.0.0",
"rollup-plugin-typescript2": "0.36.0",
- "typescript": "6.0.0-dev.20260213",
+ "typescript": "6.0.2",
"tslib": "^2.6.2",
- "prettier": "^2.0.2",
- "sharp": "0.28.1"
+ "sharp": "0.34.5",
+ "webpack": "^5.105.3"
},
"patchedDependencies": {
- "react-server-dom-webpack@0.0.0-experimental-c8b778b7f-20220825": "patches/react-server-dom-webpack@0.0.0-experimental-c8b778b7f-20220825.patch",
- "react-intl@3.12.1": "patches/react-intl@3.12.1.patch",
"gatsby-remark-shiki-twoslash@3.0.38": "patches/gatsby-remark-shiki-twoslash@3.0.38.patch"
- }
+ },
+ "ignoredBuiltDependencies": [
+ "@parcel/watcher",
+ "core-js",
+ "core-js-pure",
+ "es5-ext",
+ "lmdb",
+ "msgpackr-extract",
+ "spawn-sync",
+ "unrs-resolver"
+ ],
+ "onlyBuiltDependencies": [
+ "esbuild",
+ "gatsby",
+ "gatsby-cli",
+ "sharp"
+ ]
},
"jest": {
"transformIgnorePatterns": [
@@ -76,5 +92,5 @@
],
"onlyPublishWithReleaseLabel": true
},
- "packageManager": "pnpm@9.1.2+sha256.19c17528f9ca20bd442e4ca42f00f1b9808a9cb419383cd04ba32ef19322aba7"
+ "packageManager": "pnpm@10.30.3+sha512.c961d1e0a2d8e354ecaa5166b822516668b7f44cb5bd95122d590dd81922f606f5473b6d23ec4a5be05e7fcd18e8488d47d978bbe981872f1145d06e9a740017"
}
diff --git a/packages/ata/package.json b/packages/ata/package.json
index 6e0951e1e..14bb952cc 100644
--- a/packages/ata/package.json
+++ b/packages/ata/package.json
@@ -12,7 +12,7 @@
"type": "module",
"types": "src/userFacingTypes.d.ts",
"scripts": {
- "build": "esbuild src/index.ts --bundle --outfile=dist/index.js --format=esm --platform=node --target=es2015 && cpy src/userFacingTypes.d.ts dist/ --rename=index.d.ts && cpy src/ ../sandbox/src/vendor/ata",
+ "build": "esbuild src/index.ts --bundle --outfile=dist/index.js --format=esm --platform=node --target=es2015 && cpy src/userFacingTypes.d.ts dist/ --rename=index.d.ts && cpy src/ ../sandbox/src/vendor/ata --flat",
"test": "jest",
"bootstrap": "pnpm build"
},
@@ -20,11 +20,11 @@
"access": "public"
},
"devDependencies": {
- "@types/jest": "^29.5.12",
- "cpy-cli": "^3.1.1",
- "esbuild": "^0.17.8",
+ "@types/jest": "^30.0.0",
+ "cpy-cli": "^7.0.0",
+ "esbuild": "^0.27.3",
"esbuild-jest": "^0.5.0",
- "jest": "^29.5.0"
+ "jest": "^30.2.0"
},
"peerDependencies": {
"typescript": ">=4.4.4"
diff --git a/packages/community-meta/package.json b/packages/community-meta/package.json
index 468204ad0..c43ed0e6d 100644
--- a/packages/community-meta/package.json
+++ b/packages/community-meta/package.json
@@ -4,12 +4,10 @@
"license": "MIT",
"version": "1.0.0",
"dependencies": {
- "moment": "2.24.0",
- "moment-timezone": "0.5.28"
+ "moment": "2.30.1",
+ "moment-timezone": "0.6.0"
},
"scripts": {
"build": "node scripts/generateRichMeetupData.js"
- },
- "devDependencies": {
}
}
diff --git a/packages/create-typescript-playground-plugin/CHANGELOG.md b/packages/create-typescript-playground-plugin/CHANGELOG.md
index e784f0ecf..2e177d38a 100644
--- a/packages/create-typescript-playground-plugin/CHANGELOG.md
+++ b/packages/create-typescript-playground-plugin/CHANGELOG.md
@@ -1,5 +1,11 @@
# create-typescript-playground-plugin
+## 1.3.3
+
+### Patch Changes
+
+- [#3509](https://github.com/microsoft/TypeScript-Website/pull/3509) [`0daa298`](https://github.com/microsoft/TypeScript-Website/commit/0daa298f2f4526f8c66baff00b8df0290e37a4d4) Thanks [@jakebailey](https://github.com/jakebailey)! - Bump dependencies
+
## 1.3.2
### Patch Changes
diff --git a/packages/create-typescript-playground-plugin/package.json b/packages/create-typescript-playground-plugin/package.json
index f9b07161a..d7a14177f 100644
--- a/packages/create-typescript-playground-plugin/package.json
+++ b/packages/create-typescript-playground-plugin/package.json
@@ -1,6 +1,6 @@
{
"name": "create-typescript-playground-plugin",
- "version": "1.3.2",
+ "version": "1.3.3",
"bin": "index.js",
"author": "TypeScript team",
"license": "MIT",
@@ -15,8 +15,8 @@
},
"scripts": {},
"dependencies": {
- "cross-spawn": "^7.0.5",
- "gunzip-maybe": "^1.4.1",
- "tar-fs": "^2.1.0"
+ "cross-spawn": "^7.0.6",
+ "gunzip-maybe": "^1.4.2",
+ "tar-fs": "^3.1.1"
}
}
diff --git a/packages/documentation/copy/en/project-config/Compiler Options.md b/packages/documentation/copy/en/project-config/Compiler Options.md
index 72eaa57dc..9fe309c03 100644
--- a/packages/documentation/copy/en/project-config/Compiler Options.md
+++ b/packages/documentation/copy/en/project-config/Compiler Options.md
@@ -63,57 +63,66 @@ tsc app.ts util.ts --target esnext --outfile index.js
Gives local information for help on the CLI.
-
- --init |
+
+ --ignoreConfig |
boolean
|
|
+ Ignore the tsconfig found and build with commandline options and files.
+ |
+
+
+ --init |
+ boolean
+ |
+
+|
Initializes a TypeScript project and creates a tsconfig.json file.
|
-
+
--listFilesOnly |
boolean
|
-|
+ |
|
Print names of files that are part of the compilation and then stop processing.
|
-
+
--locale |
string
|
-|
+ |
|
Set the language of the messaging from TypeScript. This does not affect emit.
|
-
+
--project |
string
|
-|
+ |
|
Compile the project given the path to its configuration file, or to a folder with a 'tsconfig.json'.
|
-
+
--showConfig |
boolean
|
-|
+ |
|
Print the final configuration instead of building.
|
-
+
--version |
boolean
|
-|
+ |
|
Print the compiler's version.
|
@@ -285,7 +294,7 @@ tsc app.ts util.ts --target esnext --outfile index.js
--allowJs |
boolean
|
- false
+ | false, unless checkJs is set
|
|
@@ -318,8 +327,7 @@ tsc app.ts util.ts --target esnext --outfile index.js
| --allowUnreachableCode |
boolean
|
-
- |
+ |
|
Disable error reporting for unreachable code.
@@ -329,8 +337,7 @@ tsc app.ts util.ts --target esnext --outfile index.js
| --allowUnusedLabels |
boolean
|
-
- |
+ |
|
Disable error reporting for unused labels.
@@ -362,8 +369,7 @@ tsc app.ts util.ts --target esnext --outfile index.js
| --baseUrl |
string
|
-
- |
+ |
|
Specify the base directory to resolve bare specifier module names.
@@ -406,8 +412,7 @@ tsc app.ts util.ts --target esnext --outfile index.js
| --customConditions |
list
|
-
- |
+ |
|
Conditions to set in addition to the resolver-specific defaults when resolving imports.
@@ -428,8 +433,7 @@ tsc app.ts util.ts --target esnext --outfile index.js
| --declarationDir |
string
|
-
- |
+ |
|
Specify the output directory for generated declaration files.
@@ -637,8 +641,7 @@ tsc app.ts util.ts --target esnext --outfile index.js
| --generateTrace |
string
|
-
- |
+ |
|
Generates an event trace and a list of types.
@@ -725,8 +728,7 @@ tsc app.ts util.ts --target esnext --outfile index.js
| --jsx |
preserve, react, react-native, react-jsx, or react-jsxdev
|
-
- |
+ |
|
Specify what JSX code is generated.
@@ -780,8 +782,7 @@ tsc app.ts util.ts --target esnext --outfile index.js
| --lib |
list
|
-
- |
+ |
|
Specify a set of bundled library declaration files that describe the target runtime environment.
@@ -791,7 +792,7 @@ tsc app.ts util.ts --target esnext --outfile index.js
| --libReplacement |
boolean
|
- true
+ | false
|
|
@@ -824,8 +825,7 @@ tsc app.ts util.ts --target esnext --outfile index.js
| --mapRoot |
string
|
-
- |
+ |
|
Specify the location where debugger should locate map files instead of generated locations.
@@ -879,8 +879,7 @@ tsc app.ts util.ts --target esnext --outfile index.js
| --moduleSuffixes |
list
|
-
- |
+ |
|
List of file name suffixes to search when resolving a module.
@@ -1077,7 +1076,7 @@ tsc app.ts util.ts --target esnext --outfile index.js
| --noUncheckedSideEffectImports |
boolean
|
- false
+ | true
|
|
@@ -1110,8 +1109,7 @@ tsc app.ts util.ts --target esnext --outfile index.js
| --out |
string
|
-
- |
+ |
|
Deprecated setting. Use outFile instead.
@@ -1121,8 +1119,7 @@ tsc app.ts util.ts --target esnext --outfile index.js
| --outDir |
string
|
-
- |
+ |
|
Specify an output folder for all emitted files.
@@ -1132,8 +1129,7 @@ tsc app.ts util.ts --target esnext --outfile index.js
| --outFile |
string
|
-
- |
+ |
|
Specify a file that bundles all outputs into one JavaScript file. If declaration is true, also designates a file that bundles all .d.ts output.
@@ -1143,8 +1139,7 @@ tsc app.ts util.ts --target esnext --outfile index.js
| --paths |
object
|
-
- |
+ |
|
Specify a set of entries that re-map imports to additional lookup locations.
@@ -1154,8 +1149,7 @@ tsc app.ts util.ts --target esnext --outfile index.js
| --plugins |
list
|
-
- |
+ |
|
Specify a list of language service plugins to include.
@@ -1341,208 +1335,215 @@ tsc app.ts util.ts --target esnext --outfile index.js
| --sourceRoot |
string
|
-
- |
+ |
|
Specify the root path for debuggers to find the reference source code.
|
-
- --stopBuildOnErrors |
+
+ --stableTypeOrdering |
boolean
|
-
+ | false
|
|
+ Ensure types are ordered stably and deterministically across compilations.
+ |
+
+
+ --stopBuildOnErrors |
+ boolean
+ |
+ |
+
+|
Skip building downstream projects on error in upstream project.
|
-
+
--strict |
boolean
|
- false
+ | true
|
-|
+ |
|
Enable all strict type-checking options.
|
-
+
--strictBindCallApply |
boolean
|
true if strict; false otherwise.
|
-|
+ |
|
Check that the arguments for bind, call, and apply methods match the original function.
|
-
+
--strictBuiltinIteratorReturn |
boolean
|
true if strict; false otherwise.
|
-|
+ |
|
Built-in iterators are instantiated with a TReturn type of undefined instead of any.
|
-
+
--strictFunctionTypes |
boolean
|
true if strict; false otherwise.
|
-|
+ |
|
When assigning functions, check to ensure parameters and the return values are subtype-compatible.
|
-
+
--strictNullChecks |
boolean
|
true if strict; false otherwise.
|
-|
+ |
|
When type checking, take into account null and undefined.
|
-
+
--strictPropertyInitialization |
boolean
|
true if strict; false otherwise.
|
-|
+ |
|
Check for class properties that are declared but not set in the constructor.
|
-
+
--stripInternal |
boolean
|
false
|
-|
+ |
|
Disable emitting declarations that have @internal in their JSDoc comments.
|
-
+
--suppressExcessPropertyErrors |
boolean
|
false
|
-|
+ |
|
Disable reporting of excess property errors during the creation of object literals.
|
-
+
--suppressImplicitAnyIndexErrors |
boolean
|
false
|
-|
+ |
|
Suppress noImplicitAny errors when indexing objects that lack index signatures.
|
-
+
--target |
- es3, es5, es6/es2015, es2016, es2017, es2018, es2019, es2020, es2021, es2022, es2023, es2024, or esnext
+ | es3, es5, es6/es2015, es2016, es2017, es2018, es2019, es2020, es2021, es2022, es2023, es2024, es2025, or esnext
|
es2023 if module is node20; esnext if module is nodenext; ES5 otherwise.
|
-|
+ |
|
Set the JavaScript language version for emitted JavaScript and include compatible library declarations.
|
-
+
--traceResolution |
boolean
|
false
|
-|
+ |
|
Log paths used during the moduleResolution process.
|
-
+
--tsBuildInfoFile |
string
|
.tsbuildinfo
|
-|
+ |
|
The file to store .tsbuildinfo incremental build information in.
|
-
+
--typeRoots |
list
|
-
- |
+ |
-|
+ |
|
Specify multiple folders that act like ./node_modules/@types.
|
-
+
--types |
list
|
-
- |
+ |
-|
+ |
|
Specify type package names to be included without being referenced in a source file.
|
-
+
--useDefineForClassFields |
boolean
|
true if target is ES2022 or higher, including ESNext; false otherwise.
|
-|
+ |
|
Emit ECMAScript-standard-compliant class fields.
|
-
+
--useUnknownInCatchVariables |
boolean
|
true if strict; false otherwise.
|
-|
+ |
|
Default catch clause variables as unknown instead of any.
|
-
+
--verbatimModuleSyntax |
boolean
|
false
|
-|
+ |
|
Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting.
|
diff --git a/packages/glossary/package.json b/packages/glossary/package.json
index 665e12bb0..c3ce1aeec 100644
--- a/packages/glossary/package.json
+++ b/packages/glossary/package.json
@@ -14,6 +14,6 @@
"semi": true
},
"devDependencies": {
- "ts-node": "*"
+ "ts-node": "^10.9.2"
}
}
diff --git a/packages/glossary/tsconfig.json b/packages/glossary/tsconfig.json
index e2cd60109..60b27f4cf 100644
--- a/packages/glossary/tsconfig.json
+++ b/packages/glossary/tsconfig.json
@@ -2,6 +2,7 @@
"compilerOptions": {
"resolveJsonModule": true,
"allowJs": true,
- "types": ["*"]
+ "noEmit": true,
+ "types": ["node"]
}
}
diff --git a/packages/playground-examples/package.json b/packages/playground-examples/package.json
index df6ea1739..4de14f3d3 100644
--- a/packages/playground-examples/package.json
+++ b/packages/playground-examples/package.json
@@ -9,7 +9,7 @@
},
"devDependencies": {
"@types/fs-extra": "^11.0.4",
- "fs-extra": "^11.2.0",
+ "fs-extra": "^11.3.3",
"json5": "^2.2.3"
}
}
diff --git a/packages/playground-worker/package.json b/packages/playground-worker/package.json
index c5bdb62ab..d91678200 100644
--- a/packages/playground-worker/package.json
+++ b/packages/playground-worker/package.json
@@ -7,7 +7,7 @@
"build": "esbuild index.ts --outdir=../typescriptlang-org/static/js/playground-worker --format=esm --target=es2020 --bundle"
},
"dependencies": {
- "esbuild": "^0.17.8"
+ "esbuild": "^0.27.3"
},
"devDependencies": {
"typescript": "*"
diff --git a/packages/playground/package.json b/packages/playground/package.json
index e3a862f30..1387e40e5 100644
--- a/packages/playground/package.json
+++ b/packages/playground/package.json
@@ -17,14 +17,14 @@
"dependencies": {
"@typescript/playground-worker": "workspace:*",
"@typescript/sandbox": "workspace:*",
- "esbuild": "^0.17.8"
+ "esbuild": "^0.27.3"
},
"devDependencies": {
- "@types/jest": "^29.5.12",
- "@types/react": "^18.3.2",
- "jest": "^29.5.0",
+ "@types/jest": "^30.0.0",
+ "@types/react": "^18.3.28",
+ "jest": "^30.2.0",
"monaco-editor": "^0.32.1",
- "monaco-typescript": "^3.7.0",
+ "monaco-typescript": "^4.10.0",
"typescript": "*"
}
}
diff --git a/packages/playground/src/createConfigDropdown.ts b/packages/playground/src/createConfigDropdown.ts
index 11be14f64..f67f8e38a 100644
--- a/packages/playground/src/createConfigDropdown.ts
+++ b/packages/playground/src/createConfigDropdown.ts
@@ -106,7 +106,11 @@ export const createConfigDropdown = (sandbox: Sandbox, monaco: Monaco) => {
.forEach(categoryID => {
const categoryDiv = document.createElement("div")
const header = document.createElement("h4")
+ const headerId = "category-header-" + categoryID
+ header.id = headerId
const ol = document.createElement("ol")
+ ol.setAttribute("role", "group")
+ ol.setAttribute("aria-labelledby", headerId)
Object.keys(categoryMap[categoryID]).forEach(optID => {
const optSummary = categoryMap[categoryID][optID]
diff --git a/packages/sandbox/CHANGELOG.md b/packages/sandbox/CHANGELOG.md
index 1060f3e49..06ca2a55b 100644
--- a/packages/sandbox/CHANGELOG.md
+++ b/packages/sandbox/CHANGELOG.md
@@ -1,5 +1,24 @@
# @typescript/sandbox
+## 0.1.14
+
+### Patch Changes
+
+- [#3523](https://github.com/microsoft/TypeScript-Website/pull/3523) [`9953d5b`](https://github.com/microsoft/TypeScript-Website/commit/9953d5bf9168335e3ddad7b1752b3213f3f9a636) Thanks [@Josh-Cena](https://github.com/Josh-Cena)! - getInitialCode should not use URL hash without full prefix
+
+## 0.1.13
+
+### Patch Changes
+
+- [#3505](https://github.com/microsoft/TypeScript-Website/pull/3505) [`2072484`](https://github.com/microsoft/TypeScript-Website/commit/20724842b6eaf09f5c5d0ee40272c5569fe5c37d) Thanks [@DanielRosenwasser](https://github.com/DanielRosenwasser)! - Fix Ctrl+arrow keys in Firefox.
+
+## 0.1.12
+
+### Patch Changes
+
+- Updated dependencies [[`0daa298`](https://github.com/microsoft/TypeScript-Website/commit/0daa298f2f4526f8c66baff00b8df0290e37a4d4)]:
+ - @typescript/vfs@1.6.4
+
## 0.1.11
### Patch Changes
diff --git a/packages/sandbox/package.json b/packages/sandbox/package.json
index ee79a2a5e..1a0d64130 100644
--- a/packages/sandbox/package.json
+++ b/packages/sandbox/package.json
@@ -1,6 +1,6 @@
{
"name": "@typescript/sandbox",
- "version": "0.1.11",
+ "version": "0.1.14",
"license": "MIT",
"author": "TypeScript team",
"homepage": "https://github.com/microsoft/TypeScript-Website",
@@ -48,13 +48,13 @@
"lz-string": "^1.5.0"
},
"devDependencies": {
- "@rollup/plugin-commonjs": "^25.0.7",
- "@types/jest": "^29.5.12",
+ "@rollup/plugin-commonjs": "^29.0.0",
+ "@types/jest": "^30.0.0",
"dts-cli": "^2.0.5",
- "jest": "^29.5.0",
+ "jest": "^30.2.0",
"monaco-editor": "^0.32.1",
- "monaco-typescript": "^3.7.0",
- "ts-jest": "^29.0.5",
+ "monaco-typescript": "^4.10.0",
+ "ts-jest": "^29.4.6",
"typescript": "*"
}
}
diff --git a/packages/sandbox/src/getInitialCode.ts b/packages/sandbox/src/getInitialCode.ts
index 3e712c091..9190fdea2 100644
--- a/packages/sandbox/src/getInitialCode.ts
+++ b/packages/sandbox/src/getInitialCode.ts
@@ -7,13 +7,13 @@ import lzstring from "./vendor/lzstring.min"
*/
export const getInitialCode = (fallback: string, location: Location) => {
// Old school support
- if (location.hash.startsWith("#src")) {
+ if (location.hash.startsWith("#src=")) {
const code = location.hash.replace("#src=", "").trim()
return decodeURIComponent(code)
}
// New school support
- if (location.hash.startsWith("#code")) {
+ if (location.hash.startsWith("#code/")) {
const code = location.hash.replace("#code/", "").trim()
let userCode = lzstring.decompressFromEncodedURIComponent(code)
// Fallback incase there is an extra level of decoding:
diff --git a/packages/sandbox/src/index.ts b/packages/sandbox/src/index.ts
index b60c9ad51..0ac59d19c 100644
--- a/packages/sandbox/src/index.ts
+++ b/packages/sandbox/src/index.ts
@@ -77,7 +77,7 @@ const sharedEditorOptions: import("monaco-editor").editor.IEditorOptions = {
},
acceptSuggestionOnCommitCharacter: !isAndroid,
acceptSuggestionOnEnter: !isAndroid ? "on" : "off",
- accessibilitySupport: !isAndroid ? "on" : "off",
+ accessibilitySupport: !isAndroid ? "auto" : "off",
inlayHints: {
enabled: true,
},
diff --git a/packages/ts-twoslasher/CHANGELOG.md b/packages/ts-twoslasher/CHANGELOG.md
index 0aaa98f2a..8da7e06c3 100644
--- a/packages/ts-twoslasher/CHANGELOG.md
+++ b/packages/ts-twoslasher/CHANGELOG.md
@@ -1,5 +1,14 @@
# @typescript/twoslash
+## 3.2.12
+
+### Patch Changes
+
+- [#3509](https://github.com/microsoft/TypeScript-Website/pull/3509) [`0daa298`](https://github.com/microsoft/TypeScript-Website/commit/0daa298f2f4526f8c66baff00b8df0290e37a4d4) Thanks [@jakebailey](https://github.com/jakebailey)! - Bump dependencies
+
+- Updated dependencies [[`0daa298`](https://github.com/microsoft/TypeScript-Website/commit/0daa298f2f4526f8c66baff00b8df0290e37a4d4)]:
+ - @typescript/vfs@1.6.4
+
## 3.2.11
### Patch Changes
diff --git a/packages/ts-twoslasher/package.json b/packages/ts-twoslasher/package.json
index c9098c5a2..6bebc395b 100755
--- a/packages/ts-twoslasher/package.json
+++ b/packages/ts-twoslasher/package.json
@@ -1,6 +1,6 @@
{
"name": "@typescript/twoslash",
- "version": "3.2.11",
+ "version": "3.2.12",
"license": "MIT",
"author": "TypeScript team",
"homepage": "https://github.com/microsoft/TypeScript-Website",
@@ -28,16 +28,14 @@
"lint": "dts lint"
},
"devDependencies": {
- "@types/jest": "^29.5.12",
- "@types/prettier": "^2.7.3",
+ "@types/jest": "^30.0.0",
"dts-cli": "^2.0.5",
- "jest": "^29.5.0",
- "jest-file-snapshot": "^0.3.8",
- "markdown-magic": "^1.0.0",
- "preact": "^10.5.13",
- "prettier": "^2.3.2",
- "ts-jest": "^29.0.5",
- "tslib": "^2.6.2",
+ "jest": "^30.2.0",
+ "jest-file-snapshot": "^0.7.0",
+ "markdown-magic": "^4.8.0",
+ "preact": "^10.28.3",
+ "ts-jest": "^29.4.6",
+ "tslib": "^2.8.1",
"typescript": "*"
},
"jest": {
@@ -53,7 +51,7 @@
},
"dependencies": {
"@typescript/vfs": "workspace:*",
- "debug": "^4.1.1",
+ "debug": "^4.4.3",
"lz-string": "^1.5.0"
},
"peerDependencies": {
diff --git a/packages/tsconfig-reference/data/_types.ts b/packages/tsconfig-reference/data/_types.ts
index 1b10e7de3..270b6b8f0 100644
--- a/packages/tsconfig-reference/data/_types.ts
+++ b/packages/tsconfig-reference/data/_types.ts
@@ -30,6 +30,7 @@ export type CompilerOptionName =
| "project"
| "showConfig"
| "listFilesOnly"
+ | "ignoreConfig"
| "target"
| "module"
| "lib"
@@ -57,6 +58,7 @@ export type CompilerOptionName =
| "strictBindCallApply"
| "strictPropertyInitialization"
| "strictBuiltinIteratorReturn"
+ | "stableTypeOrdering"
| "noImplicitThis"
| "useUnknownInCatchVariables"
| "alwaysStrict"
diff --git a/packages/tsconfig-reference/package.json b/packages/tsconfig-reference/package.json
index e16ae25ff..cc54552f6 100644
--- a/packages/tsconfig-reference/package.json
+++ b/packages/tsconfig-reference/package.json
@@ -4,14 +4,14 @@
"license": "MIT",
"private": true,
"scripts": {
- "generate:json:tsconfig": "tsc --build && node --experimental-json-modules scripts/tsconfig/generateJSON",
- "generate:json:cli": "tsc --build && node --experimental-json-modules scripts/cli/generateJSON",
- "generate:json:schema": "tsc --build && node --experimental-json-modules scripts/schema/generateJSON",
- "generate:json:msbuild": "tsc --build && node --experimental-json-modules scripts/msbuild/generateJSON",
+ "generate:json:tsconfig": "tsc --build && node scripts/tsconfig/generateJSON",
+ "generate:json:cli": "tsc --build && node scripts/cli/generateJSON",
+ "generate:json:schema": "tsc --build && node scripts/schema/generateJSON",
+ "generate:json:msbuild": "tsc --build && node scripts/msbuild/generateJSON",
"generate:json": "pnpm generate:json:tsconfig && pnpm generate:json:cli && pnpm generate:json:schema && pnpm generate:json:msbuild",
- "generate:md:tsconfig": "tsc --build && node --experimental-json-modules scripts/tsconfig/generateMarkdown",
- "generate:md:cli": "tsc --build && node --experimental-json-modules scripts/cli/generateMarkdown",
- "generate:md:msbuild": "tsc --build && node --experimental-json-modules scripts/msbuild/generateMarkdown",
+ "generate:md:tsconfig": "tsc --build && node scripts/tsconfig/generateMarkdown",
+ "generate:md:cli": "tsc --build && node scripts/cli/generateMarkdown",
+ "generate:md:msbuild": "tsc --build && node scripts/msbuild/generateMarkdown",
"generate:md": "pnpm generate:md:tsconfig && pnpm generate:md:cli && pnpm generate:md:tsconfig",
"download": "node scripts/schema/downloadSchemaBase.js",
"bootstrap": "pnpm generate:json",
@@ -25,9 +25,9 @@
},
"devDependencies": {
"@types/json-schema": "^7.0.15",
- "ts-node": "*",
+ "ts-node": "^10.9.2",
"typescript": "*",
- "typescript-for-docs": "npm:typescript@5.9.3",
+ "typescript-for-docs": "npm:typescript@6.0.2",
"xml-js": "^1.6.11"
},
"type": "module"
diff --git a/packages/tsconfig-reference/scripts/schema/generateJSON.ts b/packages/tsconfig-reference/scripts/schema/generateJSON.ts
index 70aefb454..b66ce4f2f 100644
--- a/packages/tsconfig-reference/scripts/schema/generateJSON.ts
+++ b/packages/tsconfig-reference/scripts/schema/generateJSON.ts
@@ -63,6 +63,7 @@ const okToSkip = [
"out",
"references",
"typeAcquisition",
+ "stableTypeOrdering",
];
filteredOptions.forEach((option) => {
diff --git a/packages/tsconfig-reference/scripts/schema/result/schema.json b/packages/tsconfig-reference/scripts/schema/result/schema.json
index b8b907491..b61aa9157 100644
--- a/packages/tsconfig-reference/scripts/schema/result/schema.json
+++ b/packages/tsconfig-reference/scripts/schema/result/schema.json
@@ -589,6 +589,7 @@
"es2022",
"es2023",
"es2024",
+ "es2025",
"ESNext"
]
},
@@ -780,6 +781,7 @@
"es2022",
"es2023",
"es2024",
+ "es2025",
"ESNext",
"DOM",
"DOM.Iterable",
@@ -845,29 +847,38 @@
"es2024.regexp",
"es2024.sharedmemory",
"es2024.string",
- "ESNext.Array",
- "esnext.collection",
- "ESNext.Symbol",
+ "es2025.collection",
+ "es2025.float16",
+ "es2025.intl",
+ "es2025.iterator",
+ "es2025.promise",
+ "es2025.regexp",
"ESNext.AsyncIterable",
- "ESNext.Intl",
- "esnext.disposable",
+ "ESNext.Symbol",
"ESNext.BigInt",
- "ESNext.String",
- "ESNext.Promise",
"ESNext.WeakRef",
- "esnext.decorators",
"esnext.object",
"esnext.regexp",
- "esnext.iterator",
+ "ESNext.String",
"esnext.float16",
+ "esnext.iterator",
+ "ESNext.Promise",
+ "ESNext.Array",
+ "esnext.collection",
+ "esnext.date",
+ "esnext.decorators",
+ "esnext.disposable",
"esnext.error",
+ "ESNext.Intl",
"esnext.sharedmemory",
+ "esnext.temporal",
+ "esnext.typedarrays",
"decorators",
"decorators.legacy"
]
},
{
- "pattern": "^(?:[Ee][Ss]5|[Ee][Ss]6|[Ee][Ss]2015|[Ee][Ss]7|[Ee][Ss]2016|[Ee][Ss]2017|[Ee][Ss]2018|[Ee][Ss]2019|[Ee][Ss]2020|[Ee][Ss]2021|[Ee][Ss]2022|[Ee][Ss]2023|[Ee][Ss]2024|[Ee][Ss][Nn][Ee][Xx][Tt]|[Dd][Oo][Mm]|[Dd][Oo][Mm]\\.[Ii][Tt][Ee][Rr][Aa][Bb][Ll][Ee]|[Dd][Oo][Mm]\\.[Aa][Ss][Yy][Nn][Cc][Ii][Tt][Ee][Rr][Aa][Bb][Ll][Ee]|[Ww][Ee][Bb][Ww][Oo][Rr][Kk][Ee][Rr]|[Ww][Ee][Bb][Ww][Oo][Rr][Kk][Ee][Rr]\\.[Ii][Mm][Pp][Oo][Rr][Tt][Ss][Cc][Rr][Ii][Pp][Tt][Ss]|[Ww][Ee][Bb][Ww][Oo][Rr][Kk][Ee][Rr]\\.[Ii][Tt][Ee][Rr][Aa][Bb][Ll][Ee]|[Ww][Ee][Bb][Ww][Oo][Rr][Kk][Ee][Rr]\\.[Aa][Ss][Yy][Nn][Cc][Ii][Tt][Ee][Rr][Aa][Bb][Ll][Ee]|[Ss][Cc][Rr][Ii][Pp][Tt][Hh][Oo][Ss][Tt]|[Ee][Ss]2015\\.[Cc][Oo][Rr][Ee]|[Ee][Ss]2015\\.[Cc][Oo][Ll][Ll][Ee][Cc][Tt][Ii][Oo][Nn]|[Ee][Ss]2015\\.[Gg][Ee][Nn][Ee][Rr][Aa][Tt][Oo][Rr]|[Ee][Ss]2015\\.[Ii][Tt][Ee][Rr][Aa][Bb][Ll][Ee]|[Ee][Ss]2015\\.[Pp][Rr][Oo][Mm][Ii][Ss][Ee]|[Ee][Ss]2015\\.[Pp][Rr][Oo][Xx][Yy]|[Ee][Ss]2015\\.[Rr][Ee][Ff][Ll][Ee][Cc][Tt]|[Ee][Ss]2015\\.[Ss][Yy][Mm][Bb][Oo][Ll]|[Ee][Ss]2015\\.[Ss][Yy][Mm][Bb][Oo][Ll]\\.[Ww][Ee][Ll][Ll][Kk][Nn][Oo][Ww][Nn]|[Ee][Ss]2016\\.[Aa][Rr][Rr][Aa][Yy]\\.[Ii][Nn][Cc][Ll][Uu][Dd][Ee]|[Ee][Ss]2016\\.[Ii][Nn][Tt][Ll]|[Ee][Ss]2017\\.[Aa][Rr][Rr][Aa][Yy][Bb][Uu][Ff][Ff][Ee][Rr]|[Ee][Ss]2017\\.[Dd][Aa][Tt][Ee]|[Ee][Ss]2017\\.[Oo][Bb][Jj][Ee][Cc][Tt]|[Ee][Ss]2017\\.[Ss][Hh][Aa][Rr][Ee][Dd][Mm][Ee][Mm][Oo][Rr][Yy]|[Ee][Ss]2017\\.[Ss][Tt][Rr][Ii][Nn][Gg]|[Ee][Ss]2017\\.[Ii][Nn][Tt][Ll]|[Ee][Ss]2017\\.[Tt][Yy][Pp][Ee][Dd][Aa][Rr][Rr][Aa][Yy][Ss]|[Ee][Ss]2018\\.[Aa][Ss][Yy][Nn][Cc][Gg][Ee][Nn][Ee][Rr][Aa][Tt][Oo][Rr]|[Ee][Ss]2018\\.[Aa][Ss][Yy][Nn][Cc][Ii][Tt][Ee][Rr][Aa][Bb][Ll][Ee]|[Ee][Ss]2018\\.[Ii][Nn][Tt][Ll]|[Ee][Ss]2018\\.[Pp][Rr][Oo][Mm][Ii][Ss][Ee]|[Ee][Ss]2018\\.[Rr][Ee][Gg][Ee][Xx][Pp]|[Ee][Ss]2019\\.[Aa][Rr][Rr][Aa][Yy]|[Ee][Ss]2019\\.[Oo][Bb][Jj][Ee][Cc][Tt]|[Ee][Ss]2019\\.[Ss][Tt][Rr][Ii][Nn][Gg]|[Ee][Ss]2019\\.[Ss][Yy][Mm][Bb][Oo][Ll]|[Ee][Ss]2019\\.[Ii][Nn][Tt][Ll]|[Ee][Ss]2020\\.[Bb][Ii][Gg][Ii][Nn][Tt]|[Ee][Ss]2020\\.[Dd][Aa][Tt][Ee]|[Ee][Ss]2020\\.[Pp][Rr][Oo][Mm][Ii][Ss][Ee]|[Ee][Ss]2020\\.[Ss][Hh][Aa][Rr][Ee][Dd][Mm][Ee][Mm][Oo][Rr][Yy]|[Ee][Ss]2020\\.[Ss][Tt][Rr][Ii][Nn][Gg]|[Ee][Ss]2020\\.[Ss][Yy][Mm][Bb][Oo][Ll]\\.[Ww][Ee][Ll][Ll][Kk][Nn][Oo][Ww][Nn]|[Ee][Ss]2020\\.[Ii][Nn][Tt][Ll]|[Ee][Ss]2020\\.[Nn][Uu][Mm][Bb][Ee][Rr]|[Ee][Ss]2021\\.[Pp][Rr][Oo][Mm][Ii][Ss][Ee]|[Ee][Ss]2021\\.[Ss][Tt][Rr][Ii][Nn][Gg]|[Ee][Ss]2021\\.[Ww][Ee][Aa][Kk][Rr][Ee][Ff]|[Ee][Ss]2021\\.[Ii][Nn][Tt][Ll]|[Ee][Ss]2022\\.[Aa][Rr][Rr][Aa][Yy]|[Ee][Ss]2022\\.[Ee][Rr][Rr][Oo][Rr]|[Ee][Ss]2022\\.[Ii][Nn][Tt][Ll]|[Ee][Ss]2022\\.[Oo][Bb][Jj][Ee][Cc][Tt]|[Ee][Ss]2022\\.[Ss][Tt][Rr][Ii][Nn][Gg]|[Ee][Ss]2022\\.[Rr][Ee][Gg][Ee][Xx][Pp]|[Ee][Ss]2023\\.[Aa][Rr][Rr][Aa][Yy]|[Ee][Ss]2023\\.[Cc][Oo][Ll][Ll][Ee][Cc][Tt][Ii][Oo][Nn]|[Ee][Ss]2023\\.[Ii][Nn][Tt][Ll]|[Ee][Ss]2024\\.[Aa][Rr][Rr][Aa][Yy][Bb][Uu][Ff][Ff][Ee][Rr]|[Ee][Ss]2024\\.[Cc][Oo][Ll][Ll][Ee][Cc][Tt][Ii][Oo][Nn]|[Ee][Ss]2024\\.[Oo][Bb][Jj][Ee][Cc][Tt]|[Ee][Ss]2024\\.[Pp][Rr][Oo][Mm][Ii][Ss][Ee]|[Ee][Ss]2024\\.[Rr][Ee][Gg][Ee][Xx][Pp]|[Ee][Ss]2024\\.[Ss][Hh][Aa][Rr][Ee][Dd][Mm][Ee][Mm][Oo][Rr][Yy]|[Ee][Ss]2024\\.[Ss][Tt][Rr][Ii][Nn][Gg]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Aa][Rr][Rr][Aa][Yy]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Cc][Oo][Ll][Ll][Ee][Cc][Tt][Ii][Oo][Nn]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Ss][Yy][Mm][Bb][Oo][Ll]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Aa][Ss][Yy][Nn][Cc][Ii][Tt][Ee][Rr][Aa][Bb][Ll][Ee]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Ii][Nn][Tt][Ll]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Dd][Ii][Ss][Pp][Oo][Ss][Aa][Bb][Ll][Ee]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Bb][Ii][Gg][Ii][Nn][Tt]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Ss][Tt][Rr][Ii][Nn][Gg]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Pp][Rr][Oo][Mm][Ii][Ss][Ee]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Ww][Ee][Aa][Kk][Rr][Ee][Ff]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Dd][Ee][Cc][Oo][Rr][Aa][Tt][Oo][Rr][Ss]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Oo][Bb][Jj][Ee][Cc][Tt]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Rr][Ee][Gg][Ee][Xx][Pp]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Ii][Tt][Ee][Rr][Aa][Tt][Oo][Rr]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Ff][Ll][Oo][Aa][Tt]16|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Ee][Rr][Rr][Oo][Rr]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Ss][Hh][Aa][Rr][Ee][Dd][Mm][Ee][Mm][Oo][Rr][Yy]|[Dd][Ee][Cc][Oo][Rr][Aa][Tt][Oo][Rr][Ss]|[Dd][Ee][Cc][Oo][Rr][Aa][Tt][Oo][Rr][Ss]\\.[Ll][Ee][Gg][Aa][Cc][Yy])$"
+ "pattern": "^(?:[Ee][Ss]5|[Ee][Ss]6|[Ee][Ss]2015|[Ee][Ss]7|[Ee][Ss]2016|[Ee][Ss]2017|[Ee][Ss]2018|[Ee][Ss]2019|[Ee][Ss]2020|[Ee][Ss]2021|[Ee][Ss]2022|[Ee][Ss]2023|[Ee][Ss]2024|[Ee][Ss]2025|[Ee][Ss][Nn][Ee][Xx][Tt]|[Dd][Oo][Mm]|[Dd][Oo][Mm]\\.[Ii][Tt][Ee][Rr][Aa][Bb][Ll][Ee]|[Dd][Oo][Mm]\\.[Aa][Ss][Yy][Nn][Cc][Ii][Tt][Ee][Rr][Aa][Bb][Ll][Ee]|[Ww][Ee][Bb][Ww][Oo][Rr][Kk][Ee][Rr]|[Ww][Ee][Bb][Ww][Oo][Rr][Kk][Ee][Rr]\\.[Ii][Mm][Pp][Oo][Rr][Tt][Ss][Cc][Rr][Ii][Pp][Tt][Ss]|[Ww][Ee][Bb][Ww][Oo][Rr][Kk][Ee][Rr]\\.[Ii][Tt][Ee][Rr][Aa][Bb][Ll][Ee]|[Ww][Ee][Bb][Ww][Oo][Rr][Kk][Ee][Rr]\\.[Aa][Ss][Yy][Nn][Cc][Ii][Tt][Ee][Rr][Aa][Bb][Ll][Ee]|[Ss][Cc][Rr][Ii][Pp][Tt][Hh][Oo][Ss][Tt]|[Ee][Ss]2015\\.[Cc][Oo][Rr][Ee]|[Ee][Ss]2015\\.[Cc][Oo][Ll][Ll][Ee][Cc][Tt][Ii][Oo][Nn]|[Ee][Ss]2015\\.[Gg][Ee][Nn][Ee][Rr][Aa][Tt][Oo][Rr]|[Ee][Ss]2015\\.[Ii][Tt][Ee][Rr][Aa][Bb][Ll][Ee]|[Ee][Ss]2015\\.[Pp][Rr][Oo][Mm][Ii][Ss][Ee]|[Ee][Ss]2015\\.[Pp][Rr][Oo][Xx][Yy]|[Ee][Ss]2015\\.[Rr][Ee][Ff][Ll][Ee][Cc][Tt]|[Ee][Ss]2015\\.[Ss][Yy][Mm][Bb][Oo][Ll]|[Ee][Ss]2015\\.[Ss][Yy][Mm][Bb][Oo][Ll]\\.[Ww][Ee][Ll][Ll][Kk][Nn][Oo][Ww][Nn]|[Ee][Ss]2016\\.[Aa][Rr][Rr][Aa][Yy]\\.[Ii][Nn][Cc][Ll][Uu][Dd][Ee]|[Ee][Ss]2016\\.[Ii][Nn][Tt][Ll]|[Ee][Ss]2017\\.[Aa][Rr][Rr][Aa][Yy][Bb][Uu][Ff][Ff][Ee][Rr]|[Ee][Ss]2017\\.[Dd][Aa][Tt][Ee]|[Ee][Ss]2017\\.[Oo][Bb][Jj][Ee][Cc][Tt]|[Ee][Ss]2017\\.[Ss][Hh][Aa][Rr][Ee][Dd][Mm][Ee][Mm][Oo][Rr][Yy]|[Ee][Ss]2017\\.[Ss][Tt][Rr][Ii][Nn][Gg]|[Ee][Ss]2017\\.[Ii][Nn][Tt][Ll]|[Ee][Ss]2017\\.[Tt][Yy][Pp][Ee][Dd][Aa][Rr][Rr][Aa][Yy][Ss]|[Ee][Ss]2018\\.[Aa][Ss][Yy][Nn][Cc][Gg][Ee][Nn][Ee][Rr][Aa][Tt][Oo][Rr]|[Ee][Ss]2018\\.[Aa][Ss][Yy][Nn][Cc][Ii][Tt][Ee][Rr][Aa][Bb][Ll][Ee]|[Ee][Ss]2018\\.[Ii][Nn][Tt][Ll]|[Ee][Ss]2018\\.[Pp][Rr][Oo][Mm][Ii][Ss][Ee]|[Ee][Ss]2018\\.[Rr][Ee][Gg][Ee][Xx][Pp]|[Ee][Ss]2019\\.[Aa][Rr][Rr][Aa][Yy]|[Ee][Ss]2019\\.[Oo][Bb][Jj][Ee][Cc][Tt]|[Ee][Ss]2019\\.[Ss][Tt][Rr][Ii][Nn][Gg]|[Ee][Ss]2019\\.[Ss][Yy][Mm][Bb][Oo][Ll]|[Ee][Ss]2019\\.[Ii][Nn][Tt][Ll]|[Ee][Ss]2020\\.[Bb][Ii][Gg][Ii][Nn][Tt]|[Ee][Ss]2020\\.[Dd][Aa][Tt][Ee]|[Ee][Ss]2020\\.[Pp][Rr][Oo][Mm][Ii][Ss][Ee]|[Ee][Ss]2020\\.[Ss][Hh][Aa][Rr][Ee][Dd][Mm][Ee][Mm][Oo][Rr][Yy]|[Ee][Ss]2020\\.[Ss][Tt][Rr][Ii][Nn][Gg]|[Ee][Ss]2020\\.[Ss][Yy][Mm][Bb][Oo][Ll]\\.[Ww][Ee][Ll][Ll][Kk][Nn][Oo][Ww][Nn]|[Ee][Ss]2020\\.[Ii][Nn][Tt][Ll]|[Ee][Ss]2020\\.[Nn][Uu][Mm][Bb][Ee][Rr]|[Ee][Ss]2021\\.[Pp][Rr][Oo][Mm][Ii][Ss][Ee]|[Ee][Ss]2021\\.[Ss][Tt][Rr][Ii][Nn][Gg]|[Ee][Ss]2021\\.[Ww][Ee][Aa][Kk][Rr][Ee][Ff]|[Ee][Ss]2021\\.[Ii][Nn][Tt][Ll]|[Ee][Ss]2022\\.[Aa][Rr][Rr][Aa][Yy]|[Ee][Ss]2022\\.[Ee][Rr][Rr][Oo][Rr]|[Ee][Ss]2022\\.[Ii][Nn][Tt][Ll]|[Ee][Ss]2022\\.[Oo][Bb][Jj][Ee][Cc][Tt]|[Ee][Ss]2022\\.[Ss][Tt][Rr][Ii][Nn][Gg]|[Ee][Ss]2022\\.[Rr][Ee][Gg][Ee][Xx][Pp]|[Ee][Ss]2023\\.[Aa][Rr][Rr][Aa][Yy]|[Ee][Ss]2023\\.[Cc][Oo][Ll][Ll][Ee][Cc][Tt][Ii][Oo][Nn]|[Ee][Ss]2023\\.[Ii][Nn][Tt][Ll]|[Ee][Ss]2024\\.[Aa][Rr][Rr][Aa][Yy][Bb][Uu][Ff][Ff][Ee][Rr]|[Ee][Ss]2024\\.[Cc][Oo][Ll][Ll][Ee][Cc][Tt][Ii][Oo][Nn]|[Ee][Ss]2024\\.[Oo][Bb][Jj][Ee][Cc][Tt]|[Ee][Ss]2024\\.[Pp][Rr][Oo][Mm][Ii][Ss][Ee]|[Ee][Ss]2024\\.[Rr][Ee][Gg][Ee][Xx][Pp]|[Ee][Ss]2024\\.[Ss][Hh][Aa][Rr][Ee][Dd][Mm][Ee][Mm][Oo][Rr][Yy]|[Ee][Ss]2024\\.[Ss][Tt][Rr][Ii][Nn][Gg]|[Ee][Ss]2025\\.[Cc][Oo][Ll][Ll][Ee][Cc][Tt][Ii][Oo][Nn]|[Ee][Ss]2025\\.[Ff][Ll][Oo][Aa][Tt]16|[Ee][Ss]2025\\.[Ii][Nn][Tt][Ll]|[Ee][Ss]2025\\.[Ii][Tt][Ee][Rr][Aa][Tt][Oo][Rr]|[Ee][Ss]2025\\.[Pp][Rr][Oo][Mm][Ii][Ss][Ee]|[Ee][Ss]2025\\.[Rr][Ee][Gg][Ee][Xx][Pp]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Aa][Ss][Yy][Nn][Cc][Ii][Tt][Ee][Rr][Aa][Bb][Ll][Ee]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Ss][Yy][Mm][Bb][Oo][Ll]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Bb][Ii][Gg][Ii][Nn][Tt]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Ww][Ee][Aa][Kk][Rr][Ee][Ff]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Oo][Bb][Jj][Ee][Cc][Tt]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Rr][Ee][Gg][Ee][Xx][Pp]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Ss][Tt][Rr][Ii][Nn][Gg]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Ff][Ll][Oo][Aa][Tt]16|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Ii][Tt][Ee][Rr][Aa][Tt][Oo][Rr]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Pp][Rr][Oo][Mm][Ii][Ss][Ee]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Aa][Rr][Rr][Aa][Yy]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Cc][Oo][Ll][Ll][Ee][Cc][Tt][Ii][Oo][Nn]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Dd][Aa][Tt][Ee]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Dd][Ee][Cc][Oo][Rr][Aa][Tt][Oo][Rr][Ss]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Dd][Ii][Ss][Pp][Oo][Ss][Aa][Bb][Ll][Ee]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Ee][Rr][Rr][Oo][Rr]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Ii][Nn][Tt][Ll]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Ss][Hh][Aa][Rr][Ee][Dd][Mm][Ee][Mm][Oo][Rr][Yy]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Tt][Ee][Mm][Pp][Oo][Rr][Aa][Ll]|[Ee][Ss][Nn][Ee][Xx][Tt]\\.[Tt][Yy][Pp][Ee][Dd][Aa][Rr][Rr][Aa][Yy][Ss]|[Dd][Ee][Cc][Oo][Rr][Aa][Tt][Oo][Rr][Ss]|[Dd][Ee][Cc][Oo][Rr][Aa][Tt][Oo][Rr][Ss]\\.[Ll][Ee][Gg][Aa][Cc][Yy])$"
}
]
},
diff --git a/packages/tsconfig-reference/scripts/tsconfig/generateMarkdown.ts b/packages/tsconfig-reference/scripts/tsconfig/generateMarkdown.ts
index fd06599cf..a72b51173 100644
--- a/packages/tsconfig-reference/scripts/tsconfig/generateMarkdown.ts
+++ b/packages/tsconfig-reference/scripts/tsconfig/generateMarkdown.ts
@@ -67,12 +67,15 @@ assert.deepEqual(got, expected, `Expected to find everything in ${orderedCategor
const notCompilerOptions = ["Project_Files_0", "Watch_Options_999"];
const categoriesForCompilerOpts = orderedCategories.filter((c) => !notCompilerOptions.includes(c));
+const hiddenOptions = ["stableTypeOrdering"];
+
const compilerOptions = options.filter(
(o) =>
!typeAcquisitionCompilerOptNames.includes(o.name) &&
!watchOptionCompilerOptNames.includes(o.name) &&
!buildOptionCompilerOptNames.includes(o.name) &&
- !rootOptNames.includes(o.name)
+ !rootOptNames.includes(o.name) &&
+ !hiddenOptions.includes(o.name)
);
// The TSConfig Reference is a collection of sections which have options or
diff --git a/packages/typescript-vfs/CHANGELOG.md b/packages/typescript-vfs/CHANGELOG.md
index 44a0a6853..2db411d0f 100644
--- a/packages/typescript-vfs/CHANGELOG.md
+++ b/packages/typescript-vfs/CHANGELOG.md
@@ -1,5 +1,11 @@
# @typescript/vfs
+## 1.6.4
+
+### Patch Changes
+
+- [#3509](https://github.com/microsoft/TypeScript-Website/pull/3509) [`0daa298`](https://github.com/microsoft/TypeScript-Website/commit/0daa298f2f4526f8c66baff00b8df0290e37a4d4) Thanks [@jakebailey](https://github.com/jakebailey)! - Bump dependencies
+
## 1.6.3
### Patch Changes
diff --git a/packages/typescript-vfs/package.json b/packages/typescript-vfs/package.json
index fd05d40f1..59b4b769f 100755
--- a/packages/typescript-vfs/package.json
+++ b/packages/typescript-vfs/package.json
@@ -1,6 +1,6 @@
{
"name": "@typescript/vfs",
- "version": "1.6.3",
+ "version": "1.6.4",
"license": "MIT",
"author": "TypeScript team",
"homepage": "https://github.com/microsoft/TypeScript-Website",
@@ -22,7 +22,7 @@
"start": "dts watch",
"bootstrap": "pnpm build",
"build": "dts build && pnpm make-for-website && pnpm make-global",
- "make-for-website": "cpy src/index.ts ../sandbox/src/vendor --rename=typescript-vfs.ts",
+ "make-for-website": "cpy src/index.ts ../sandbox/src/vendor --flat --rename=typescript-vfs.ts",
"make-global": "node scripts/makeGlobals.js",
"test": "dts test",
"lint": "dts lint"
@@ -41,18 +41,18 @@
"typescript": false
},
"dependencies": {
- "debug": "^4.1.1"
+ "debug": "^4.4.3"
},
"devDependencies": {
- "@types/jest": "^29.5.12",
- "babel-jest": "^29.7.0",
- "cpy-cli": "^3.1.1",
+ "@types/jest": "^30.0.0",
+ "babel-jest": "^30.2.0",
+ "cpy-cli": "^7.0.0",
"dts-cli": "^2.0.5",
- "jest": "^29.5.0",
- "jest-environment-jsdom": "^29.5.0",
- "jest-watch-typeahead": "^2.2.2",
- "ts-jest": "^29.0.5",
- "tslib": "^2.6.2",
+ "jest": "^30.2.0",
+ "jest-environment-jsdom": "^30.2.0",
+ "jest-watch-typeahead": "^3.0.1",
+ "ts-jest": "^29.4.6",
+ "tslib": "^2.8.1",
"typescript": "*"
},
"peerDependencies": {
diff --git a/packages/typescript-vfs/test/index.test.ts b/packages/typescript-vfs/test/index.test.ts
index 9c2a1d8bd..0ba7ed6fd 100644
--- a/packages/typescript-vfs/test/index.test.ts
+++ b/packages/typescript-vfs/test/index.test.ts
@@ -135,7 +135,7 @@ it("creates a map from the CDN and stores it in local storage cache", async () =
libs.forEach(l => expect(map.get("/" + l)).toBeDefined())
- expect(store.setItem).toBeCalledTimes(libs.length)
+ expect(store.setItem).toHaveBeenCalledTimes(libs.length)
})
it("creates a map from the CDN and uses the existing local storage cache", async () => {
@@ -160,7 +160,7 @@ it("creates a map from the CDN and uses the existing local storage cache", async
libs.forEach(l => expect(map.get("/" + l)).toBeDefined())
// Should be one less fetch, and the first item would be from the cache instead
- expect(store.setItem).toBeCalledTimes(libs.length - 1)
+ expect(store.setItem).toHaveBeenCalledTimes(libs.length - 1)
expect(map.get("/" + libs[0])).toMatchInlineSnapshot(`"// From Cache"`)
})
diff --git a/packages/typescriptlang-org/gatsby-config.js b/packages/typescriptlang-org/gatsby-config.js
index 300c3aca2..e6b3cf3e5 100644
--- a/packages/typescriptlang-org/gatsby-config.js
+++ b/packages/typescriptlang-org/gatsby-config.js
@@ -49,9 +49,6 @@ module.exports = {
},
},
- // Support for downloading or pre-caching pages, needed for PWAs
- // "gatsby-plugin-offline",
-
// Creates TS types for queries during `gatsby dev`
{
resolve: "gatsby-plugin-typegen",
diff --git a/packages/typescriptlang-org/gatsby-node.js b/packages/typescriptlang-org/gatsby-node.js
index cc0c00616..8bdc232d6 100644
--- a/packages/typescriptlang-org/gatsby-node.js
+++ b/packages/typescriptlang-org/gatsby-node.js
@@ -19,6 +19,8 @@ config.onPostBootstrap = () => writeAllPathsToFixture();
// see: https://github.com/gatsbyjs/gatsby/issues/17661
config.onCreateWebpackConfig = ({ loaders, actions, plugins, stage }) => {
+ const isSSR = stage === `build-html` || stage === `develop-html`;
+
actions.setWebpackConfig({
module: {
rules: [
@@ -32,6 +34,10 @@ config.onCreateWebpackConfig = ({ loaders, actions, plugins, stage }) => {
pnpapi: "commonjs pnpapi",
fs: "commonjs fs",
module: "commonjs module",
+ // In SSR stages, use Node's native util module instead of the browser
+ // polyfill (util@0.12.5), which lacks TextEncoder and breaks react-dom
+ // server rendering on Node >= 19.
+ ...(isSSR ? { util: "commonjs util" } : {}),
},
resolve: {
fallback: {
diff --git a/packages/typescriptlang-org/gatsby-ssr.js b/packages/typescriptlang-org/gatsby-ssr.js
index 065df32d5..cabc24676 100644
--- a/packages/typescriptlang-org/gatsby-ssr.js
+++ b/packages/typescriptlang-org/gatsby-ssr.js
@@ -2,7 +2,7 @@
// is set up, to let react-intl do its work with RichText in
// a message: https://github.com/formatjs/react-intl/issues/1438#issuecomment-523153456
-global.DOMParser = require("xmldom").DOMParser
+global.DOMParser = require("@xmldom/xmldom").DOMParser
const React = require("react")
exports.wrapRootElement = ({ element }) => {
diff --git a/packages/typescriptlang-org/package.json b/packages/typescriptlang-org/package.json
index 358ecc8d1..5e09f4d12 100644
--- a/packages/typescriptlang-org/package.json
+++ b/packages/typescriptlang-org/package.json
@@ -18,61 +18,57 @@
"test": "pnpm tsc && jest"
},
"dependencies": {
- "@babel/core": "^7.24.5",
- "@formatjs/intl-relativetimeformat": "^4.5.15",
- "@types/react-helmet": "^5.0.15",
+ "@babel/core": "^7.29.0",
+ "@types/react-helmet": "^6.1.11",
"@typescript/playground": "workspace:*",
"@typescript/sandbox": "workspace:*",
"@typescript/twoslash": "workspace:*",
"@typescript/vfs": "workspace:*",
- "gatsby": "^5.13.5",
- "gatsby-link": "5.6.0",
- "gatsby-plugin-catch-links": "^5.6.0",
+ "gatsby": "^5.16.1",
+ "gatsby-link": "5.16.0",
+ "gatsby-plugin-catch-links": "^5.16.0",
"gatsby-plugin-client-side-redirect": "^1.1.0",
"gatsby-plugin-i18n": "^1.0.1",
- "gatsby-plugin-manifest": "^5.6.0",
- "gatsby-plugin-offline": "^6.6.0",
- "gatsby-plugin-react-helmet": "^6.6.0",
- "gatsby-plugin-sass": "^6.6.0",
- "gatsby-plugin-sharp": "^5.6.0",
- "gatsby-plugin-sitemap": "^6.6.0",
- "gatsby-react-router-scroll": "6.6.0",
- "gatsby-remark-autolink-headers": "^6.6.0",
- "gatsby-remark-copy-linked-files": "^6.6.0",
- "gatsby-remark-emojis": "^0.4.3",
- "gatsby-remark-images": "^7.6.0",
- "gatsby-remark-responsive-iframe": "^6.6.0",
- "gatsby-remark-shiki-twoslash": "^3.0.36",
- "gatsby-remark-smartypants": "^6.6.0",
- "gatsby-source-filesystem": "^5.6.0",
- "gatsby-transformer-remark": "^6.6.0",
+ "gatsby-plugin-manifest": "^5.16.0",
+ "gatsby-plugin-react-helmet": "^6.16.0",
+ "gatsby-plugin-sass": "^6.16.0",
+ "gatsby-plugin-sharp": "^5.16.0",
+ "gatsby-plugin-sitemap": "^6.16.0",
+ "gatsby-remark-autolink-headers": "^6.16.0",
+ "gatsby-remark-copy-linked-files": "^6.16.0",
+ "gatsby-remark-images": "^7.16.0",
+ "gatsby-remark-responsive-iframe": "^6.16.0",
+ "gatsby-remark-shiki-twoslash": "^3.0.38",
+ "gatsby-remark-smartypants": "^6.16.0",
+ "gatsby-source-filesystem": "^5.16.0",
+ "gatsby-transformer-remark": "^6.16.0",
"github-slugger": "^1.5.0",
- "jsdom": "^16.2.0",
+ "jsdom": "^28.1.0",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-helmet": "^6.1.0",
- "react-intl": "^3.12.1",
- "sass": "^1.26.10",
+ "react-intl": "^7.1.14",
+ "sass": "^1.97.3",
"shiki-twoslash": "^3.1.2",
- "ts-debounce": "^2.2.0",
- "ts-node": "^10.9.1",
- "twoslash-cli": "^1.3.22",
+ "ts-debounce": "^4.0.0",
+ "ts-node": "^10.9.2",
+ "twoslash-cli": "^1.3.24",
"typescript": "*",
"xml-js": "^1.6.11"
},
"devDependencies": {
"@babel/plugin-syntax-optional-chaining": "^7.8.3",
- "@types/jest": "^29.5.12",
- "@types/react": "^18.3.2",
- "@types/react-dom": "^18.3.0",
+ "@types/jest": "^30.0.0",
+ "@types/react": "^18.3.28",
+ "@types/react-dom": "^18.3.7",
+ "@xmldom/xmldom": "^0.8.11",
"gatsby-plugin-typegen": "^3.1.0",
- "gatsby-plugin-typescript": "^5.6.0",
- "jest": "^29.5.0",
+ "gatsby-plugin-typescript": "^5.16.0",
+ "jest": "^30.2.0",
"monaco-editor": "^0.32.1",
- "node-polyfill-webpack-plugin": "^3.0.0",
- "semver": "^7.6.2",
- "ts-jest": "^29.0.5",
- "xmldom": "^0.5.0"
+ "node-polyfill-webpack-plugin": "^4.1.0",
+ "semver": "^7.7.4",
+ "ts-jest": "^29.4.6"
},
"jest": {
"preset": "ts-jest",
diff --git a/packages/typescriptlang-org/src/components/layout/Sidebar.scss b/packages/typescriptlang-org/src/components/layout/Sidebar.scss
index 0f1eaa478..24ac4b986 100644
--- a/packages/typescriptlang-org/src/components/layout/Sidebar.scss
+++ b/packages/typescriptlang-org/src/components/layout/Sidebar.scss
@@ -183,7 +183,7 @@ nav#sidebar {
bottom: 120px;
padding: 10px;
margin-bottom: env(safe-area-inset-bottom);
- background-color: #c4c4c4;
+ background-color: #808080;
border-radius: 6px;
z-index: $z-index-for-handbook-nav-button;
@@ -209,6 +209,7 @@ nav#sidebar {
z-index: $z-index-for-handbook-nav;
margin-left: -800px;
width: 90%;
+ visibility: hidden;
ul {
padding-bottom: 200px;
@@ -223,6 +224,7 @@ nav#sidebar {
&.show {
margin-left: 0px;
+ visibility: visible;
}
& > ul > li,
diff --git a/packages/typescriptlang-org/src/components/layout/Sidebar.tsx b/packages/typescriptlang-org/src/components/layout/Sidebar.tsx
index 3d8d830fe..348dd45d8 100644
--- a/packages/typescriptlang-org/src/components/layout/Sidebar.tsx
+++ b/packages/typescriptlang-org/src/components/layout/Sidebar.tsx
@@ -44,11 +44,15 @@ const toggleNavigationSection: MouseEventHandler = (event) => {
export const SidebarToggleButton = () => {
const toggleClick = () => {
const navSidebar = document.getElementById("sidebar")
+ const toggleButton = document.getElementById("small-device-button-sidebar")
const isOpen = navSidebar?.classList.contains("show")
if (isOpen) {
navSidebar?.classList.remove("show")
+ navSidebar?.setAttribute("inert", "")
+ toggleButton?.focus()
} else {
navSidebar?.classList.add("show")
+ navSidebar?.removeAttribute("inert")
}
}
@@ -127,6 +131,23 @@ export const Sidebar = (props: Props) => {
}
}
+ useEffect(() => {
+ const sidebar = document.getElementById("sidebar")
+ if (!sidebar) return
+
+ const mq = window.matchMedia("(max-width: 800px)")
+ const sync = () => {
+ if (mq.matches && !sidebar.classList.contains("show")) {
+ sidebar.setAttribute("inert", "")
+ } else {
+ sidebar.removeAttribute("inert")
+ }
+ }
+ sync()
+ mq.addEventListener("change", sync)
+ return () => mq.removeEventListener("change", sync)
+ }, [])
+
return (