Skip to content

Commit 8985067

Browse files
authored
Fix svelte transformer (esm-dev#1357)
1 parent 1960055 commit 8985067

2 files changed

Lines changed: 29 additions & 3 deletions

File tree

server/build.go

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -989,7 +989,11 @@ func (ctx *BuildContext) buildModule(analyzeMode bool) (meta *BuildMeta, include
989989
if err != nil {
990990
return esbuild.OnLoadResult{}, err
991991
}
992-
return esbuild.OnLoadResult{Contents: &out.Code, Loader: esbuild.LoaderJS}, nil
992+
return esbuild.OnLoadResult{
993+
Contents: &out.Code,
994+
ResolveDir: path.Join(ctx.wd, "node_modules", ctx.esmPath.PkgName),
995+
Loader: esbuild.LoaderJS,
996+
}, nil
993997
},
994998
)
995999

@@ -1024,9 +1028,17 @@ func (ctx *BuildContext) buildModule(analyzeMode bool) (meta *BuildMeta, include
10241028
return esbuild.OnLoadResult{}, err
10251029
}
10261030
if out.Lang == "ts" {
1027-
return esbuild.OnLoadResult{Contents: &out.Code, Loader: esbuild.LoaderTS}, nil
1031+
return esbuild.OnLoadResult{
1032+
Contents: &out.Code,
1033+
ResolveDir: path.Join(ctx.wd, "node_modules", ctx.esmPath.PkgName),
1034+
Loader: esbuild.LoaderTS,
1035+
}, nil
10281036
}
1029-
return esbuild.OnLoadResult{Contents: &out.Code, Loader: esbuild.LoaderJS}, nil
1037+
return esbuild.OnLoadResult{
1038+
Contents: &out.Code,
1039+
ResolveDir: path.Join(ctx.wd, "node_modules", ctx.esmPath.PkgName),
1040+
Loader: esbuild.LoaderJS,
1041+
}, nil
10301042
},
10311043
)
10321044
},

test/issue-1233/test.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import { assertEquals, assertStringIncludes } from "jsr:@std/assert";
2+
3+
Deno.test("issue #1233 - Svelte loader", async () => {
4+
{
5+
const res = await fetch(
6+
"http://localhost:8080/@onsvisual/svelte-components@1.1.20/dist/components/Section/Section.svelte",
7+
{ headers: { "User-Agent": "i'm a browser" } },
8+
);
9+
const js = await res.text();
10+
assertEquals(res.status, 200);
11+
assertEquals(res.headers.get("content-type"), "application/javascript; charset=utf-8");
12+
assertStringIncludes(js, '/js/utils?target=es2022');
13+
}
14+
});

0 commit comments

Comments
 (0)