File tree 4 files changed +21
-1
lines changed
4 files changed +21
-1
lines changed Original file line number Diff line number Diff line change @@ -141,7 +141,17 @@ def expand_directories_into(paths)
141
141
end
142
142
143
143
def module_name_from ( filename , mapping )
144
- [ mapping . under , filename . to_s . remove ( filename . extname ) . remove ( /\/ ?index$/ ) . presence ] . compact . join ( "/" )
144
+ # Regex explanation:
145
+ # (?:\/|^) # Matches either / OR the start of the string
146
+ # index # Matches the word index
147
+ # $ # Matches the end of the string
148
+ #
149
+ # Sample matches
150
+ # index
151
+ # folder/index
152
+ index_regex = /(?:\/ |^)index$/
153
+
154
+ [ mapping . under , filename . to_s . remove ( filename . extname ) . remove ( index_regex ) . presence ] . compact . join ( "/" )
145
155
end
146
156
147
157
def module_path_from ( filename , mapping )
Original file line number Diff line number Diff line change
1
+ console . log ( "Sorry - no imports here!" )
Original file line number Diff line number Diff line change
1
+ console . log ( "Sorry, nothing helpful here" )
Original file line number Diff line number Diff line change @@ -44,10 +44,18 @@ def setup
44
44
assert_match %r|assets/controllers/index.*\. js| , generate_importmap_json [ "imports" ] [ "controllers" ]
45
45
end
46
46
47
+ test "directory pin mounted under matching subdir doesn't map *_index as root" do
48
+ assert_match %r|assets/controllers/special_index.*\. js| , generate_importmap_json [ "imports" ] [ "controllers/special_index" ]
49
+ end
50
+
47
51
test "directory pin mounted under matching subdir maps index as root at second depth" do
48
52
assert_match %r|assets/helpers/requests/index.*\. js| , generate_importmap_json [ "imports" ] [ "helpers/requests" ]
49
53
end
50
54
55
+ test "directory pin mounted under matching subdir doesn't map *_index as root at second depth" do
56
+ assert_match %r|assets/helpers/requests/special_index.*\. js| , generate_importmap_json [ "imports" ] [ "helpers/requests/special_index" ]
57
+ end
58
+
51
59
test "directory pin under custom asset path" do
52
60
assert_match %r|assets/spina/controllers/another_controller-.*\. js| , generate_importmap_json [ "imports" ] [ "controllers/spina/another_controller" ]
53
61
assert_match %r|assets/spina/controllers/deeper/again_controller-.*\. js| , generate_importmap_json [ "imports" ] [ "controllers/spina/deeper/again_controller" ]
You can’t perform that action at this time.
0 commit comments