Skip to content

Commit b93ac63

Browse files
authored
Allow single quotes in config/importmaps.rb (#147)
1 parent c9d3925 commit b93ac63

File tree

2 files changed

+24
-2
lines changed

2 files changed

+24
-2
lines changed

lib/importmap/packager.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ def vendored_pin_for(package, url)
4848
end
4949

5050
def packaged?(package)
51-
importmap.match(/^pin "#{package}".*$/)
51+
importmap.match(/^pin ["']#{package}["'].*$/)
5252
end
5353

5454
def download(package, url)
@@ -102,7 +102,7 @@ def remove_existing_package_file(package)
102102

103103
def remove_package_from_importmap(package)
104104
all_lines = File.readlines(@importmap_path)
105-
with_lines_removed = all_lines.select { |line| line !~ /pin "#{package}"/ }
105+
with_lines_removed = all_lines.grep_v(/pin ["']#{package}["']/)
106106

107107
File.open(@importmap_path, "w") do |file|
108108
with_lines_removed.each { |line| file.write(line) }

test/packager_single_quotes_test.rb

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
require "test_helper"
2+
require "importmap/packager"
3+
4+
class Importmap::PackagerSingleQuotesTest < ActiveSupport::TestCase
5+
setup do
6+
@single_quote_config_name = Rails.root.join("config/importmap_with_single_quotes.rb")
7+
File.write(@single_quote_config_name, File.read(Rails.root.join("config/importmap.rb")).tr('"', "'"))
8+
@packager = Importmap::Packager.new(@single_quote_config_name)
9+
end
10+
11+
teardown { File.delete(@single_quote_config_name) }
12+
13+
test "packaged? with single quotes" do
14+
assert @packager.packaged?("md5")
15+
assert_not @packager.packaged?("md5-extension")
16+
end
17+
18+
test "remove package with single quotes" do
19+
assert @packager.remove("md5")
20+
assert_not @packager.packaged?("md5")
21+
end
22+
end

0 commit comments

Comments
 (0)