Skip to content

Commit 8a7ca24

Browse files
Vite: Don't rewrite URLs that look like aliases
1 parent 0d5e2be commit 8a7ca24

File tree

2 files changed

+31
-2
lines changed

2 files changed

+31
-2
lines changed

packages/@tailwindcss-node/src/urls.test.ts

+26
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,20 @@ test('URLs can be rewritten', async () => {
2424
background: url('/image.jpg');
2525
background: url("/image.jpg");
2626
27+
/* Potentially Vite-aliased URLs: ignored */
28+
background: url(~/image.jpg);
29+
background: url(~/foo/image.jpg);
30+
background: url('~/image.jpg');
31+
background: url("~/image.jpg");
32+
background: url(#/image.jpg);
33+
background: url(#/foo/image.jpg);
34+
background: url('#/image.jpg');
35+
background: url("#/image.jpg");
36+
background: url(@/image.jpg);
37+
background: url(@/foo/image.jpg);
38+
background: url('@/image.jpg');
39+
background: url("@/image.jpg");
40+
2741
/* External URL: ignored */
2842
background: url(http://example.com/image.jpg);
2943
background: url('http://example.com/image.jpg');
@@ -109,6 +123,18 @@ test('URLs can be rewritten', async () => {
109123
background: url(/foo/image.jpg);
110124
background: url('/image.jpg');
111125
background: url("/image.jpg");
126+
background: url(~/image.jpg);
127+
background: url(~/foo/image.jpg);
128+
background: url('~/image.jpg');
129+
background: url("~/image.jpg");
130+
background: url(#/image.jpg);
131+
background: url(#/foo/image.jpg);
132+
background: url('#/image.jpg');
133+
background: url("#/image.jpg");
134+
background: url(@/image.jpg);
135+
background: url(@/foo/image.jpg);
136+
background: url('@/image.jpg');
137+
background: url("@/image.jpg");
112138
background: url(http://example.com/image.jpg);
113139
background: url('http://example.com/image.jpg');
114140
background: url("http://example.com/image.jpg");

packages/@tailwindcss-node/src/urls.ts

+5-2
Original file line numberDiff line numberDiff line change
@@ -149,9 +149,12 @@ async function doUrlReplace(
149149
return `${funcName}(${wrap}${newUrl}${wrap})`
150150
}
151151

152-
function skipUrlReplacer(rawUrl: string) {
152+
function skipUrlReplacer(rawUrl: string, aliases?: string[]) {
153153
return (
154-
isExternalUrl(rawUrl) || isDataUrl(rawUrl) || rawUrl[0] === '#' || functionCallRE.test(rawUrl)
154+
isExternalUrl(rawUrl) ||
155+
isDataUrl(rawUrl) ||
156+
!rawUrl[0].match(/[\.a-zA-Z0-9_]/) ||
157+
functionCallRE.test(rawUrl)
155158
)
156159
}
157160

0 commit comments

Comments
 (0)