diff --git a/package.json b/package.json
index 475e5aa600..08753cae8e 100644
--- a/package.json
+++ b/package.json
@@ -32,22 +32,22 @@
},
"devDependencies": {
"@eslint/eslintrc": "^3.3.1",
- "@eslint/js": "^9.34.0",
+ "@eslint/js": "^9.35.0",
"@pnpm/meta-updater": "^2.0.6",
- "@types/node": "^24.3.0",
+ "@types/node": "^24.3.1",
"esbuild": "^0.25.9",
- "eslint": "^9.34.0",
+ "eslint": "^9.35.0",
"eslint-config-prettier": "^10.1.8",
"eslint-import-resolver-typescript": "^4.4.4",
"eslint-plugin-import": "^2.32.0",
"eslint-plugin-mocha": "^11.1.0",
- "eslint-plugin-unicorn": "^60.0.0",
+ "eslint-plugin-unicorn": "^61.0.0",
"eslint-plugin-unused-imports": "^4.2.0",
"prettier": "^3.6.2",
"prettier-plugin-tailwindcss": "^0.6.14",
"syncpack": "^13.0.4",
"typescript": "^5.9.2",
- "typescript-eslint": "^8.41.0"
+ "typescript-eslint": "^8.42.0"
},
"pnpm": {
"patchedDependencies": {
diff --git a/packages/cheatsheet-local/package.json b/packages/cheatsheet-local/package.json
index 826aab791f..4b8b9a5504 100644
--- a/packages/cheatsheet-local/package.json
+++ b/packages/cheatsheet-local/package.json
@@ -34,21 +34,21 @@
},
"devDependencies": {
"@effortlessmotion/html-webpack-inline-source-plugin": "^1.0.3",
- "@tailwindcss/postcss": "^4.1.12",
+ "@tailwindcss/postcss": "^4.1.13",
"@testing-library/dom": "^10.4.1",
"@testing-library/react": "^16.3.0",
"@types/jest": "^30.0.0",
- "@types/node": "^24.3.0",
+ "@types/node": "^24.3.1",
"@types/react": "^19.1.12",
"@types/react-dom": "^19.1.9",
"@types/webpack": "^5.28.5",
"css-loader": "^7.1.2",
"html-webpack-plugin": "^5.6.4",
- "jest": "^30.1.1",
+ "jest": "^30.1.3",
"postcss": "^8.5.6",
- "postcss-loader": "^8.1.1",
+ "postcss-loader": "^8.2.0",
"style-loader": "^4.0.0",
- "tailwindcss": "^4.1.12",
+ "tailwindcss": "^4.1.13",
"ts-loader": "^9.5.4",
"ts-node": "^10.9.2",
"typescript": "^5.9.2",
diff --git a/packages/cheatsheet/package.json b/packages/cheatsheet/package.json
index 87ba623343..42e11a8b43 100644
--- a/packages/cheatsheet/package.json
+++ b/packages/cheatsheet/package.json
@@ -26,9 +26,9 @@
"watch": "pnpm run --filter @cursorless/cheatsheet --parallel '/^watch:.*/'"
},
"dependencies": {
- "@fortawesome/fontawesome-svg-core": "^7.0.0",
- "@fortawesome/free-solid-svg-icons": "^7.0.0",
- "@fortawesome/react-fontawesome": "^3.0.1",
+ "@fortawesome/fontawesome-svg-core": "^7.0.1",
+ "@fortawesome/free-solid-svg-icons": "^7.0.1",
+ "@fortawesome/react-fontawesome": "^3.0.2",
"react": "^19.1.1",
"react-dom": "^19.1.1",
"react-string-replace": "^1.1.1",
@@ -41,8 +41,8 @@
"@types/react": "^19.1.12",
"@types/react-dom": "^19.1.9",
"@types/react-helmet": "^6.1.11",
- "jest": "^30.1.1",
- "jest-environment-jsdom": "^30.1.1",
+ "jest": "^30.1.3",
+ "jest-environment-jsdom": "^30.1.2",
"ts-jest": "^29.4.1",
"typescript": "^5.9.2"
}
diff --git a/packages/common/package.json b/packages/common/package.json
index 5d4992caae..d980b4e157 100644
--- a/packages/common/package.json
+++ b/packages/common/package.json
@@ -38,6 +38,6 @@
"cross-spawn": "^7.0.6",
"fast-check": "^4.3.0",
"js-yaml": "^4.1.0",
- "mocha": "^11.7.1"
+ "mocha": "^11.7.2"
}
}
diff --git a/packages/cursorless-cheatsheet/package.json b/packages/cursorless-cheatsheet/package.json
index 924939e308..4beb3fca65 100644
--- a/packages/cursorless-cheatsheet/package.json
+++ b/packages/cursorless-cheatsheet/package.json
@@ -24,7 +24,7 @@
"dependencies": {
"@cursorless/common": "workspace:*",
"@cursorless/node-common": "workspace:*",
- "immer": "^10.1.1",
+ "immer": "^10.1.3",
"lodash-es": "^4.17.21",
"node-html-parser": "^7.0.1"
},
diff --git a/packages/cursorless-engine/package.json b/packages/cursorless-engine/package.json
index 7a83f996a8..d564f49a22 100644
--- a/packages/cursorless-engine/package.json
+++ b/packages/cursorless-engine/package.json
@@ -30,14 +30,14 @@
"@cursorless/common": "workspace:*",
"@cursorless/node-common": "workspace:*",
"@cursorless/sentence-parser": "workspace:*",
- "immer": "^10.1.1",
+ "immer": "^10.1.3",
"immutability-helper": "^3.1.1",
"itertools": "^2.4.1",
"lodash-es": "^4.17.21",
"moo": "^0.5.2",
"nearley": "^2.20.1",
"talon-snippets": "^1.3.0",
- "uuid": "^11.1.0",
+ "uuid": "^12.0.0",
"zod": "^4.1.5"
},
"devDependencies": {
@@ -49,7 +49,7 @@
"@types/sinon": "^17.0.4",
"@types/uuid": "^10.0.0",
"js-yaml": "^4.1.0",
- "mocha": "^11.7.1",
+ "mocha": "^11.7.2",
"sinon": "^21.0.0"
}
}
diff --git a/packages/cursorless-everywhere-talon-e2e/package.json b/packages/cursorless-everywhere-talon-e2e/package.json
index dd1ce1c6d5..79f8e6dfee 100644
--- a/packages/cursorless-everywhere-talon-e2e/package.json
+++ b/packages/cursorless-everywhere-talon-e2e/package.json
@@ -19,6 +19,6 @@
},
"devDependencies": {
"@types/mocha": "^10.0.10",
- "mocha": "^11.7.1"
+ "mocha": "^11.7.2"
}
}
diff --git a/packages/cursorless-everywhere-talon-e2e/scripts/test-quickjs.sh b/packages/cursorless-everywhere-talon-e2e/scripts/test-quickjs.sh
index 553119386d..581be1444a 100755
--- a/packages/cursorless-everywhere-talon-e2e/scripts/test-quickjs.sh
+++ b/packages/cursorless-everywhere-talon-e2e/scripts/test-quickjs.sh
@@ -13,6 +13,7 @@ esbuild \
--conditions=cursorless:bundler \
--bundle \
--external:std \
+ --external:node:crypto \
src/quickjsTest.ts
echo $ cd testOut
diff --git a/packages/cursorless-everywhere-talon/scripts/esbuild.sh b/packages/cursorless-everywhere-talon/scripts/esbuild.sh
index ebbf79c1ee..47c61e4ba6 100755
--- a/packages/cursorless-everywhere-talon/scripts/esbuild.sh
+++ b/packages/cursorless-everywhere-talon/scripts/esbuild.sh
@@ -10,6 +10,7 @@ esbuild \
--bundle \
--sourcemap \
--external:talon \
+ --external:node:crypto \
"$@"
# FIXME: Talon javascript files needs to start with an import from Talon before any other code
diff --git a/packages/cursorless-neovim-e2e/package.json b/packages/cursorless-neovim-e2e/package.json
index 1d2695536c..de79d96c7f 100644
--- a/packages/cursorless-neovim-e2e/package.json
+++ b/packages/cursorless-neovim-e2e/package.json
@@ -30,6 +30,6 @@
"@types/js-yaml": "^4.0.9",
"@types/lodash": "^4.17.20",
"@types/sinon": "^17.0.4",
- "neovim": "^5.3.0"
+ "neovim": "^5.4.0"
}
}
diff --git a/packages/cursorless-neovim/package.json b/packages/cursorless-neovim/package.json
index 6964e03992..9e617ffd9e 100644
--- a/packages/cursorless-neovim/package.json
+++ b/packages/cursorless-neovim/package.json
@@ -39,7 +39,7 @@
"@types/lodash": "^4.17.20",
"@types/uuid": "^10.0.0",
"lodash": "^4.17.21",
- "neovim": "^5.3.0",
+ "neovim": "^5.4.0",
"vscode-uri": "^3.1.0"
}
}
diff --git a/packages/cursorless-org-docs/package.json b/packages/cursorless-org-docs/package.json
index 356a1990cd..cdc8263306 100644
--- a/packages/cursorless-org-docs/package.json
+++ b/packages/cursorless-org-docs/package.json
@@ -44,7 +44,7 @@
"clean": "pnpm clear && rm -rf ./out tsconfig.tsbuildinfo ./dist ./build"
},
"dependencies": {
- "@algolia/client-search": "^5.36.0",
+ "@algolia/client-search": "^5.37.0",
"@cursorless/common": "workspace:*",
"@docsearch/react": "^3.9.0",
"@docusaurus/core": "^3.8.1",
@@ -58,19 +58,19 @@
"prism-react-renderer": "^2.4.1",
"react": "^19.1.1",
"react-dom": "^19.1.1",
- "shiki": "^3.12.0",
+ "shiki": "^3.12.2",
"unist-util-visit": "^5.0.0"
},
"devDependencies": {
"@cursorless/node-common": "workspace:*",
"@docusaurus/module-type-aliases": "^3.8.1",
"@docusaurus/types": "^3.8.1",
- "@tailwindcss/postcss": "^4.1.12",
+ "@tailwindcss/postcss": "^4.1.13",
"@tsconfig/docusaurus": "^2.0.3",
"@types/mdast": "^4.0.4",
"@types/react": "^19.1.12",
"postcss": "^8.5.6",
- "tailwindcss": "^4.1.12",
+ "tailwindcss": "^4.1.13",
"typescript": "^5.9.2",
"unified": "^11.0.5"
}
diff --git a/packages/cursorless-org-docs/src/docs/components/ScopeVisualizer.tsx b/packages/cursorless-org-docs/src/docs/components/ScopeVisualizer.tsx
index 1d8653af02..d264b3c33e 100644
--- a/packages/cursorless-org-docs/src/docs/components/ScopeVisualizer.tsx
+++ b/packages/cursorless-org-docs/src/docs/components/ScopeVisualizer.tsx
@@ -63,9 +63,10 @@ export function ScopeVisualizer({ languageId, scopeTypeType }: Props) {
-