diff --git a/cursorless.nvim/node/command-server/package.json b/cursorless.nvim/node/command-server/package.json index 35482431f7..d9da516fbd 100644 --- a/cursorless.nvim/node/command-server/package.json +++ b/cursorless.nvim/node/command-server/package.json @@ -19,7 +19,7 @@ "@typescript-eslint/parser": "^8.32.1", "esbuild": "^0.27.4", "eslint": "^10.0.0", - "glob": "^13.0.0", + "fast-glob": "^3.3.3", "mocha": "^8.1.3", "neovim": "^5.0.1", "typescript": "^5.8.3", diff --git a/packages/app-neovim/package.json b/packages/app-neovim/package.json index c2307e0cb4..ea79342765 100644 --- a/packages/app-neovim/package.json +++ b/packages/app-neovim/package.json @@ -7,7 +7,7 @@ "main": "./out/index.cjs", "scripts": { "typecheck": "tsc", - "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build", + "clean": "rm -rf ./out ./tsconfig.tsbuildinfo ./dist ./build", "dev": "pnpm run compile:dev && pnpm run populate-dist", "build": "pnpm run compile:prod && pnpm run populate-dist", "compile:prod": "pnpm run compile:base --minify", diff --git a/packages/app-talonjs/package.json b/packages/app-talonjs/package.json index f74047c76b..87ee18cbfb 100644 --- a/packages/app-talonjs/package.json +++ b/packages/app-talonjs/package.json @@ -7,7 +7,7 @@ "type": "module", "scripts": { "typecheck": "tsc", - "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build", + "clean": "rm -rf ./out ./tsconfig.tsbuildinfo ./dist ./build", "dev": "pnpm run compile:watch", "build": "pnpm run compile:prod", "compile:prod": "pnpm run compile:base --minify src/mainProduction.ts", diff --git a/packages/app-vscode/package.json b/packages/app-vscode/package.json index 1e831c9f2b..e152532595 100644 --- a/packages/app-vscode/package.json +++ b/packages/app-vscode/package.json @@ -1282,7 +1282,7 @@ }, "scripts": { "typecheck": "tsc", - "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build", + "clean": "rm -rf ./out ./tsconfig.tsbuildinfo ./dist ./build", "test": "pnpm ensure-grammar-up-to-date", "dev": "pnpm generate-grammar && pnpm run compile:dev && pnpm run bundle:dev && pnpm run populate-dist", "build": "pnpm generate-grammar && pnpm run compile:prod && pnpm run bundle:prod && pnpm run populate-dist", @@ -1315,7 +1315,7 @@ "@cursorless/lib-test-case-recorder": "workspace:*", "@cursorless/lib-tutorial": "workspace:*", "@cursorless/lib-vscode-common": "workspace:*", - "glob": "^13.0.6", + "fast-glob": "^3.3.3", "itertools": "^2.6.0", "lodash-es": "^4.17.23", "nearley": "^2.20.1", diff --git a/packages/app-vscode/src/InstallationDependencies.ts b/packages/app-vscode/src/InstallationDependencies.ts index 35c4475c22..684385a152 100644 --- a/packages/app-vscode/src/InstallationDependencies.ts +++ b/packages/app-vscode/src/InstallationDependencies.ts @@ -1,6 +1,6 @@ import { isWindows } from "@cursorless/lib-node-common"; import { COMMAND_SERVER_EXTENSION_ID } from "@cursorless/lib-vscode-common"; -import { globSync } from "glob"; +import glob from "fast-glob"; import * as fs from "node:fs"; import * as os from "node:os"; import * as path from "node:path"; @@ -130,9 +130,14 @@ function talonHomeExists() { function cursorlessTalonExists() { const talonUserPath = path.join(getTalonHomePath(), "user"); - const files = globSync("**/*/src/cursorless.talon", { + + if (!fs.existsSync(talonUserPath)) { + return false; + } + + const files = glob.sync("**/*/src/cursorless.talon", { cwd: talonUserPath, - maxDepth: 3, + deep: 3, }); return files.length > 0; } diff --git a/packages/app-web-docs/package.json b/packages/app-web-docs/package.json index 19b675489b..9f16847950 100644 --- a/packages/app-web-docs/package.json +++ b/packages/app-web-docs/package.json @@ -18,7 +18,7 @@ }, "scripts": { "typecheck": "tsc", - "clean": "docusaurus clear && rm -rf ./out tsconfig.tsbuildinfo ./dist ./build", + "clean": "docusaurus clear && rm -rf ./out ./tsconfig.tsbuildinfo ./dist ./build", "dev": "docusaurus start", "build": "docusaurus build" }, diff --git a/packages/app-web/package.json b/packages/app-web/package.json index 9c78d6f44a..c84b28a4d3 100644 --- a/packages/app-web/package.json +++ b/packages/app-web/package.json @@ -7,7 +7,7 @@ "type": "module", "scripts": { "typecheck": "tsc", - "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build", + "clean": "rm -rf ./out ./tsconfig.tsbuildinfo ./dist ./build", "dev": "env NODE_OPTIONS=--import=tsx vite serve", "build": "env NODE_OPTIONS=--import=tsx vite build" }, diff --git a/packages/lib-cheatsheet-local/package.json b/packages/lib-cheatsheet-local/package.json index f6f7c528f1..4bb2c5c080 100644 --- a/packages/lib-cheatsheet-local/package.json +++ b/packages/lib-cheatsheet-local/package.json @@ -7,7 +7,7 @@ "type": "module", "scripts": { "typecheck": "tsc", - "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build", + "clean": "rm -rf ./out ./tsconfig.tsbuildinfo ./dist ./build", "test": "jest", "dev": "env NODE_OPTIONS=--import=tsx vite serve", "bundle:prod": "env NODE_OPTIONS=--import=tsx vite build", diff --git a/packages/lib-cheatsheet/package.json b/packages/lib-cheatsheet/package.json index 459883ec7c..b1c54bb164 100644 --- a/packages/lib-cheatsheet/package.json +++ b/packages/lib-cheatsheet/package.json @@ -13,7 +13,7 @@ ], "scripts": { "typecheck": "tsc", - "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build", + "clean": "rm -rf ./out ./tsconfig.tsbuildinfo ./dist ./build", "test": "jest" }, "dependencies": { diff --git a/packages/lib-common/package.json b/packages/lib-common/package.json index 79b24be180..aff7a1eb3e 100644 --- a/packages/lib-common/package.json +++ b/packages/lib-common/package.json @@ -14,7 +14,7 @@ }, "scripts": { "typecheck": "tsc", - "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build" + "clean": "rm -rf ./out ./tsconfig.tsbuildinfo ./dist ./build" }, "dependencies": { "itertools": "^2.6.0", diff --git a/packages/lib-engine/package.json b/packages/lib-engine/package.json index e7dbb0e22e..797023f58b 100644 --- a/packages/lib-engine/package.json +++ b/packages/lib-engine/package.json @@ -9,7 +9,7 @@ }, "scripts": { "typecheck": "tsc", - "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build", + "clean": "rm -rf ./out ./tsconfig.tsbuildinfo ./dist ./build", "test": "pnpm ensure-grammar-up-to-date", "generate-grammar:base": "nearleyc src/customCommandGrammar/grammar.ne", "ensure-grammar-up-to-date": "pnpm -s generate-grammar:base | diff -u src/customCommandGrammar/generated/grammar.ts -", diff --git a/packages/lib-neovim-common/package.json b/packages/lib-neovim-common/package.json index 063c89f121..72a4e8547d 100644 --- a/packages/lib-neovim-common/package.json +++ b/packages/lib-neovim-common/package.json @@ -9,7 +9,7 @@ }, "scripts": { "typecheck": "tsc", - "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build" + "clean": "rm -rf ./out ./tsconfig.tsbuildinfo ./dist ./build" }, "dependencies": { "@cursorless/lib-common": "workspace:*", diff --git a/packages/lib-neovim-registry/package.json b/packages/lib-neovim-registry/package.json index 8176b99818..c70f11f983 100644 --- a/packages/lib-neovim-registry/package.json +++ b/packages/lib-neovim-registry/package.json @@ -9,7 +9,7 @@ }, "scripts": { "typecheck": "tsc", - "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build" + "clean": "rm -rf ./out ./tsconfig.tsbuildinfo ./dist ./build" }, "devDependencies": { "neovim": "^5.4.0" diff --git a/packages/lib-node-common/package.json b/packages/lib-node-common/package.json index 84e0168d9b..15f2ede924 100644 --- a/packages/lib-node-common/package.json +++ b/packages/lib-node-common/package.json @@ -9,11 +9,11 @@ }, "scripts": { "typecheck": "tsc", - "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build" + "clean": "rm -rf ./out ./tsconfig.tsbuildinfo ./dist ./build" }, "dependencies": { "@cursorless/lib-common": "workspace:*", - "glob": "^13.0.6", + "fast-glob": "^3.3.3", "immer": "^11.1.4", "lodash-es": "^4.17.23", "node-html-parser": "^7.1.0" diff --git a/packages/lib-node-common/src/FileSystemCommandHistoryStorage.ts b/packages/lib-node-common/src/FileSystemCommandHistoryStorage.ts index a7d4ded78d..512342cfa2 100644 --- a/packages/lib-node-common/src/FileSystemCommandHistoryStorage.ts +++ b/packages/lib-node-common/src/FileSystemCommandHistoryStorage.ts @@ -2,7 +2,7 @@ import type { CommandHistoryEntry, CommandHistoryStorage, } from "@cursorless/lib-common"; -import { glob } from "glob"; +import glob from "fast-glob"; import * as fs from "node:fs/promises"; import * as path from "node:path"; @@ -24,6 +24,8 @@ export class FileSystemCommandHistoryStorage implements CommandHistoryStorage { cwd: this.dir, }); + files.sort(); + const entries: CommandHistoryEntry[] = []; for (const file of files) { diff --git a/packages/lib-sentence-parser/package.json b/packages/lib-sentence-parser/package.json index 1a94c7396b..8ccbae587b 100644 --- a/packages/lib-sentence-parser/package.json +++ b/packages/lib-sentence-parser/package.json @@ -9,7 +9,7 @@ }, "scripts": { "typecheck": "tsc", - "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build" + "clean": "rm -rf ./out ./tsconfig.tsbuildinfo ./dist ./build" }, "devDependencies": { "@types/mocha": "^10.0.10", diff --git a/packages/lib-talonjs-core/package.json b/packages/lib-talonjs-core/package.json index 31ec4d1476..0317e419eb 100644 --- a/packages/lib-talonjs-core/package.json +++ b/packages/lib-talonjs-core/package.json @@ -9,7 +9,7 @@ }, "scripts": { "typecheck": "tsc", - "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build" + "clean": "rm -rf ./out ./tsconfig.tsbuildinfo ./dist ./build" }, "dependencies": { "@cursorless/lib-common": "workspace:*", diff --git a/packages/lib-test-case-recorder/package.json b/packages/lib-test-case-recorder/package.json index 1885de9ed7..261954a875 100644 --- a/packages/lib-test-case-recorder/package.json +++ b/packages/lib-test-case-recorder/package.json @@ -9,13 +9,13 @@ }, "scripts": { "typecheck": "tsc", - "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build" + "clean": "rm -rf ./out ./tsconfig.tsbuildinfo ./dist ./build" }, "dependencies": { "@cursorless/lib-common": "workspace:*", "@cursorless/lib-engine": "workspace:*", "@cursorless/lib-node-common": "workspace:*", - "glob": "^13.0.6", + "fast-glob": "^3.3.3", "immutability-helper": "^3.1.1", "lodash-es": "^4.17.23" }, diff --git a/packages/lib-tutorial/package.json b/packages/lib-tutorial/package.json index 9a60aa8015..c7d83c40b1 100644 --- a/packages/lib-tutorial/package.json +++ b/packages/lib-tutorial/package.json @@ -9,7 +9,7 @@ }, "scripts": { "typecheck": "tsc", - "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build" + "clean": "rm -rf ./out ./tsconfig.tsbuildinfo ./dist ./build" }, "dependencies": { "@cursorless/lib-common": "workspace:*", diff --git a/packages/lib-vscode-common/package.json b/packages/lib-vscode-common/package.json index 90ff2000e2..b33e927ebe 100644 --- a/packages/lib-vscode-common/package.json +++ b/packages/lib-vscode-common/package.json @@ -9,7 +9,7 @@ }, "scripts": { "typecheck": "tsc", - "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build" + "clean": "rm -rf ./out ./tsconfig.tsbuildinfo ./dist ./build" }, "dependencies": { "@cursorless/lib-common": "workspace:*" diff --git a/packages/lib-vscode-tutorial-webview/package.json b/packages/lib-vscode-tutorial-webview/package.json index cea2f01f72..ddd43ddb74 100644 --- a/packages/lib-vscode-tutorial-webview/package.json +++ b/packages/lib-vscode-tutorial-webview/package.json @@ -7,7 +7,7 @@ "type": "module", "scripts": { "typecheck": "tsc", - "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build", + "clean": "rm -rf ./out ./tsconfig.tsbuildinfo ./dist ./build", "dev": "env NODE_OPTIONS=--import=tsx vite serve", "bundle:prod": "env NODE_OPTIONS=--import=tsx vite build", "bundle:dev": "env NODE_OPTIONS=--import=tsx vite build --mode development", diff --git a/packages/test-neovim-e2e/package.json b/packages/test-neovim-e2e/package.json index e6d1cc91bf..8e2dc8fef1 100644 --- a/packages/test-neovim-e2e/package.json +++ b/packages/test-neovim-e2e/package.json @@ -7,7 +7,7 @@ "type": "module", "scripts": { "typecheck": "tsc", - "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build" + "clean": "rm -rf ./out ./tsconfig.tsbuildinfo ./dist ./build" }, "dependencies": { "@cursorless/lib-common": "workspace:*", diff --git a/packages/test-runner/package.json b/packages/test-runner/package.json index 5860aa7a48..50b2cbd5a0 100644 --- a/packages/test-runner/package.json +++ b/packages/test-runner/package.json @@ -8,7 +8,7 @@ "main": "./out/extensionTestsNeovim.cjs", "scripts": { "typecheck": "tsc", - "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build", + "clean": "rm -rf ./out ./tsconfig.tsbuildinfo ./dist ./build", "test": "c-tsx ./src/scripts/runUnitTests.ts", "test:subset": "c-tsx ./src/scripts/runUnitTests.ts --subset", "test:update": "c-tsx ./src/scripts/runUnitTests.ts --update", @@ -26,7 +26,7 @@ "@cursorless/lib-neovim-common": "workspace:*", "@cursorless/lib-neovim-registry": "workspace:*", "@cursorless/lib-node-common": "workspace:*", - "glob": "^13.0.6", + "fast-glob": "^3.3.3", "neovim": "^5.4.0", "tail": "^2.2.6" }, diff --git a/packages/test-runner/src/runAllTests.ts b/packages/test-runner/src/runAllTests.ts index 0d3fce74eb..1a3718d077 100644 --- a/packages/test-runner/src/runAllTests.ts +++ b/packages/test-runner/src/runAllTests.ts @@ -1,5 +1,5 @@ import { getCursorlessRepoRoot } from "@cursorless/lib-node-common"; -import { glob } from "glob"; +import glob from "fast-glob"; import Mocha from "mocha"; import * as path from "node:path"; import { @@ -34,7 +34,7 @@ export function runAllTests(type: TestType): Promise { const testRoot = path.join(getCursorlessRepoRoot(), "packages"); let filePattern: string; - let ignore: string[] | undefined = undefined; + let ignore: string[] = []; switch (type) { case TestType.unit: @@ -64,7 +64,7 @@ export function runAllTests(type: TestType): Promise { async function runTestsInDir( testRoot: string, filePattern: string, - ignore: string[] | undefined, + ignore: string[], ): Promise { // Create the mocha test const mocha = new Mocha({ @@ -75,7 +75,8 @@ async function runTestsInDir( const files = await glob(`**/*.${filePattern}`, { cwd: testRoot, - ignore, + followSymbolicLinks: false, + ignore: ["**/node_modules/**", ...ignore], }); if (files.length === 0) { diff --git a/packages/test-talon-e2e/package.json b/packages/test-talon-e2e/package.json index d266bb320a..2d27f44354 100644 --- a/packages/test-talon-e2e/package.json +++ b/packages/test-talon-e2e/package.json @@ -7,7 +7,7 @@ "type": "module", "scripts": { "typecheck": "tsc", - "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build", + "clean": "rm -rf ./out ./tsconfig.tsbuildinfo ./dist ./build", "test:quickjs": "bash ./scripts/test-quickjs.sh" }, "dependencies": { diff --git a/packages/test-vscode-e2e/package.json b/packages/test-vscode-e2e/package.json index 9060aefd12..668130b03e 100644 --- a/packages/test-vscode-e2e/package.json +++ b/packages/test-vscode-e2e/package.json @@ -7,7 +7,7 @@ "type": "module", "scripts": { "typecheck": "tsc", - "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build" + "clean": "rm -rf ./out ./tsconfig.tsbuildinfo ./dist ./build" }, "dependencies": { "@cursorless/lib-common": "workspace:*", diff --git a/packages/test-vscode-e2e/src/suite/crossCellsSetSelection.vscode.test.ts b/packages/test-vscode-e2e/src/suite/crossCellsSetSelection.vscode.test.ts index 32e9e5a175..775ffcb66a 100644 --- a/packages/test-vscode-e2e/src/suite/crossCellsSetSelection.vscode.test.ts +++ b/packages/test-vscode-e2e/src/suite/crossCellsSetSelection.vscode.test.ts @@ -1,6 +1,6 @@ -import { LATEST_VERSION } from "@cursorless/lib-common"; -import { isLinux } from "@cursorless/lib-node-common"; +import { LATEST_VERSION, splitKey } from "@cursorless/lib-common"; import { + getCellIndex, getCursorlessApi, openNewNotebookEditor, runCursorlessCommand, @@ -8,26 +8,31 @@ import { import assert from "assert"; import { window } from "vscode"; import { endToEndTestSetup } from "../endToEndTestSetup"; -import { isCI } from "../isCI"; // Check that setSelection is able to focus the correct cell suite("Cross-cell set selection", async function () { - // FIXME: This test is flaky on Linux CI, so we skip it there for now - if (isCI() && isLinux()) { - this.ctx.skip(); - } - endToEndTestSetup(this); test("Cross-cell set selection", runTest); }); async function runTest() { - const { hatTokenMap } = (await getCursorlessApi()).testHelpers!; + const { hatTokenMap, toVscodeEditor } = (await getCursorlessApi()) + .testHelpers!; - await openNewNotebookEditor(['"hello"', '"world"']); + const notebook = await openNewNotebookEditor(['"hello"', '"world"']); await hatTokenMap.allocateHats(); + const hatMap = await hatTokenMap.getReadableMap(false); + const targetHat = hatMap.getEntries().find(([, token]) => { + const editor = toVscodeEditor(token.editor); + return ( + getCellIndex(notebook, editor.document) === 1 && token.text === "world" + ); + }); + + assert(targetHat != null, 'Expected a hat for "world" in the second cell'); + const { hatStyle, character } = splitKey(targetHat[0]); await runCursorlessCommand({ version: LATEST_VERSION, @@ -38,8 +43,8 @@ async function runTest() { type: "primitive", mark: { type: "decoratedSymbol", - symbolColor: "default", - character: "o", + symbolColor: hatStyle, + character, }, }, }, diff --git a/packages/test-vscode-e2e/src/suite/scopeProvider/scopeProvider.vscode.test.ts b/packages/test-vscode-e2e/src/suite/scopeProvider/scopeProvider.vscode.test.ts index 50d9c1f06f..5016b045ed 100644 --- a/packages/test-vscode-e2e/src/suite/scopeProvider/scopeProvider.vscode.test.ts +++ b/packages/test-vscode-e2e/src/suite/scopeProvider/scopeProvider.vscode.test.ts @@ -1,7 +1,5 @@ import { asyncSafety } from "@cursorless/lib-common"; -import { isLinux } from "@cursorless/lib-node-common"; import { endToEndTestSetup } from "../../endToEndTestSetup"; -import { isCI } from "../../isCI"; import { runBasicScopeInfoTest } from "./runBasicScopeInfoTest"; import { runCustomRegexScopeInfoTest } from "./runCustomRegexScopeInfoTest"; import { runCustomSpokenFormScopeInfoTest } from "./runCustomSpokenFormScopeInfoTest"; @@ -20,24 +18,10 @@ suite("scope provider", async function () { ); test( "custom spoken form", - asyncSafety(() => { - // FIXME: This test is flaky on Linux CI, so we skip it there for now - if (isCI() && isLinux()) { - this.ctx.skip(); - } - - return runCustomSpokenFormScopeInfoTest(); - }), + asyncSafety(() => runCustomSpokenFormScopeInfoTest()), ); test( "custom regex", - asyncSafety(() => { - // FIXME: This test is flaky on Linux CI, so we skip it there for now - if (isCI() && isLinux()) { - this.ctx.skip(); - } - - return runCustomRegexScopeInfoTest(); - }), + asyncSafety(() => runCustomRegexScopeInfoTest()), ); }); diff --git a/packages/test-vscode-e2e/src/suite/intraCellSetSelection.vscode.test.ts b/packages/test-vscode-e2e/src/suite/withinCellSetSelection.vscode.test.ts similarity index 100% rename from packages/test-vscode-e2e/src/suite/intraCellSetSelection.vscode.test.ts rename to packages/test-vscode-e2e/src/suite/withinCellSetSelection.vscode.test.ts diff --git a/packages/tool-meta-updater/package.json b/packages/tool-meta-updater/package.json index a60c970880..9ae6ef97f8 100644 --- a/packages/tool-meta-updater/package.json +++ b/packages/tool-meta-updater/package.json @@ -7,7 +7,7 @@ "type": "module", "scripts": { "typecheck": "tsc", - "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build" + "clean": "rm -rf ./out ./tsconfig.tsbuildinfo ./dist ./build" }, "devDependencies": { "@cursorless/lib-common": "workspace:*", diff --git a/packages/tool-meta-updater/src/updatePackageJson.ts b/packages/tool-meta-updater/src/updatePackageJson.ts index e55be4d120..a1d3dc64f3 100644 --- a/packages/tool-meta-updater/src/updatePackageJson.ts +++ b/packages/tool-meta-updater/src/updatePackageJson.ts @@ -99,7 +99,7 @@ async function getScripts( scripts.typecheck = "tsc"; - const cleanDirs = ["./out", "tsconfig.tsbuildinfo", "./dist", "./build"]; + const cleanDirs = ["./out", "./tsconfig.tsbuildinfo", "./dist", "./build"]; const clean = `rm -rf ${cleanDirs.join(" ")}`; const cleanScripts = name === "@cursorless/app-web-docs" ? ["docusaurus clear", clean] : [clean]; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d4f12045ed..743689be20 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -153,9 +153,9 @@ importers: '@cursorless/lib-vscode-common': specifier: workspace:* version: link:../lib-vscode-common - glob: - specifier: ^13.0.6 - version: 13.0.6 + fast-glob: + specifier: ^3.3.3 + version: 3.3.3 itertools: specifier: ^2.6.0 version: 2.6.0 @@ -578,9 +578,9 @@ importers: '@cursorless/lib-common': specifier: workspace:* version: link:../lib-common - glob: - specifier: ^13.0.6 - version: 13.0.6 + fast-glob: + specifier: ^3.3.3 + version: 3.3.3 immer: specifier: ^11.1.4 version: 11.1.4 @@ -646,9 +646,9 @@ importers: '@cursorless/lib-node-common': specifier: workspace:* version: link:../lib-node-common - glob: - specifier: ^13.0.6 - version: 13.0.6 + fast-glob: + specifier: ^3.3.3 + version: 3.3.3 immutability-helper: specifier: ^3.1.1 version: 3.1.1 @@ -765,9 +765,9 @@ importers: '@cursorless/lib-node-common': specifier: workspace:* version: link:../lib-node-common - glob: - specifier: ^13.0.6 - version: 13.0.6 + fast-glob: + specifier: ^3.3.3 + version: 3.3.3 neovim: specifier: ^5.4.0 version: 5.4.0 @@ -6831,10 +6831,6 @@ packages: deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me hasBin: true - glob@13.0.6: - resolution: {integrity: sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==} - engines: {node: 18 || 20 || >=22} - glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me @@ -8013,10 +8009,6 @@ packages: lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - lru-cache@11.2.7: - resolution: {integrity: sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==} - engines: {node: 20 || >=22} - lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} @@ -8859,10 +8851,6 @@ packages: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} - path-scurry@2.0.2: - resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==} - engines: {node: 18 || 20 || >=22} - path-temp@2.0.0: resolution: {integrity: sha512-92olbatybjsHTGB2CUnAM7s0mU/27gcMfLNA7t09UftndUdxywlQKur3fzXEPpfLrgZD3I2Bt8+UmiL7YDEgXQ==} engines: {node: '>=8.15'} @@ -18836,12 +18824,6 @@ snapshots: package-json-from-dist: 1.0.1 path-scurry: 1.11.1 - glob@13.0.6: - dependencies: - minimatch: 10.2.4 - minipass: 7.1.3 - path-scurry: 2.0.2 - glob@7.2.3: dependencies: fs.realpath: 1.0.0 @@ -20271,8 +20253,6 @@ snapshots: lru-cache@10.4.3: {} - lru-cache@11.2.7: {} - lru-cache@5.1.1: dependencies: yallist: 3.1.1 @@ -21458,11 +21438,6 @@ snapshots: lru-cache: 10.4.3 minipass: 7.1.3 - path-scurry@2.0.2: - dependencies: - lru-cache: 11.2.7 - minipass: 7.1.3 - path-temp@2.0.0: dependencies: unique-string: 2.0.0