diff --git a/src/service/service.ts b/src/service/service.ts index 13bcd24..1d5c860 100644 --- a/src/service/service.ts +++ b/src/service/service.ts @@ -84,7 +84,11 @@ export class DaemonServer extends SockDaemonServer< if (target.startsWith('file://')) { const tsFile = findTsFile(target) if (tsFile) { - return { fileName: String(pathToFileURL(tsFile)) } + const queryIndex = target.indexOf('?') + const query = queryIndex >= 0 ? target.slice(queryIndex) : '' + return { + fileName: String(pathToFileURL(tsFile)) + query, + } } } return {} diff --git a/test/service/service.ts b/test/service/service.ts index b24f2ba..5aebadc 100644 --- a/test/service/service.ts +++ b/test/service/service.ts @@ -118,6 +118,31 @@ t.test('resolve', async t => { }), {} ) + + t.strictSame( + ds.handle({ + id: 'id', + action: 'resolve', + url: + String(pathToFileURL(resolve(dir, 'foo.ts'))) + '?name=value', + }), + { + fileName: + String(pathToFileURL(resolve(dir, 'foo.ts'))) + '?name=value', + } + ) + t.strictSame( + ds.handle({ + id: 'id', + action: 'resolve', + url: + String(pathToFileURL(resolve(dir, 'foo.js'))) + '?name=value', + }), + { + fileName: + String(pathToFileURL(resolve(dir, 'foo.ts'))) + '?name=value', + } + ) }) t.test('compile', async t => {