Skip to content

Commit a718ebe

Browse files
authored
fix: respect path separators when resolving aliases (#67)
1 parent 9a65834 commit a718ebe

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

Diff for: src/utils.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ export function resolveAlias (path: string, aliases: Record<string, string>) {
3131
const _path = normalizeWindowsPath(path)
3232
aliases = normalizeAliases(aliases)
3333
for (const alias in aliases) {
34-
if (_path.startsWith(alias)) {
34+
if (_path.startsWith(alias) && pathSeparators.includes(_path[alias.length])) {
3535
return join(aliases[alias], _path.slice(alias.length))
3636
}
3737
}

Diff for: test/utils.spec.ts

+8-1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,13 @@ describe('alias', () => {
3030
expect(resolveAlias(from, aliases)).toBe(to)
3131
})
3232
}
33+
it('respects path separators', () => {
34+
const aliases = {
35+
'~': '/root',
36+
'~assets': '/root/some/dir'
37+
}
38+
expect(resolveAlias('~assets/smth.jpg', aliases)).toMatchInlineSnapshot('"/root/some/dir/smth.jpg"')
39+
})
3340
it('unchanged', () => {
3441
expect(resolveAlias('foo/bar.js', aliases)).toBe('foo/bar.js')
3542
expect(resolveAlias('./bar.js', aliases)).toBe('./bar.js')
@@ -39,7 +46,7 @@ describe('alias', () => {
3946

4047
describe('filename', () => {
4148
const files = {
42-
// POSIX
49+
// POSIX
4350
'test.html': 'test',
4451
'/temp/myfile.html': 'myfile',
4552
'./myfile.html': 'myfile',

0 commit comments

Comments
 (0)