Skip to content

Commit 75d792b

Browse files
authored
Merge pull request #22396 from Homebrew/bundle-vscode-extension-filter
bundle: filter VSCode server chatter
2 parents b4e31d2 + a6509d6 commit 75d792b

2 files changed

Lines changed: 17 additions & 1 deletion

File tree

Library/Homebrew/bundle/extensions/vscode_extension.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ class VscodeExtension < Extension
99
PACKAGE_TYPE = :vscode
1010
PACKAGE_TYPE_NAME = "VSCode Extension"
1111
BANNER_NAME = "VSCode (and forks/variants) extensions"
12+
EXTENSION_ID_REGEX = /\A[a-z0-9][a-z0-9-]*\.[a-z0-9][a-z0-9._-]*\z/i
1213

1314
class << self
1415
sig { override.void }
@@ -46,7 +47,7 @@ def extensions
4647
Bundle.exchange_uid_if_needed! do
4748
ENV["WSL_DISTRO_NAME"] = ENV.fetch("HOMEBREW_WSL_DISTRO_NAME", nil)
4849
`"#{vscode}" --list-extensions 2>/dev/null`
49-
end.split("\n").map(&:downcase)
50+
end.split("\n").map(&:strip).grep(EXTENSION_ID_REGEX).map(&:downcase)
5051
end
5152
return [] if @extensions.nil?
5253

Library/Homebrew/test/bundle/vscode_extension_spec.rb

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,21 @@
4848
"tamasfe.even-better-toml",
4949
])
5050
end
51+
52+
it "ignores VSCode server setup output" do
53+
output = <<~EOF
54+
updating vs code server to version f6cfa2ea2403534de03f069bdf160d06451ed282
55+
downloading: \b\b\b\b 0%\b\b\b\b100%
56+
unpacked 3485 files and folders to /home/mike/.vscode-server/bin/f6cfa2ea2403534de03f069bdf160d06451ed282.
57+
GitHub.codespaces
58+
EOF
59+
60+
allow(klass).to receive(:`)
61+
.with('"code" --list-extensions 2>/dev/null')
62+
.and_return(output)
63+
64+
expect(dumper.extensions).to eql(["github.codespaces"])
65+
end
5166
end
5267
end
5368

0 commit comments

Comments
 (0)