aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/module_loader.zig
diff options
context:
space:
mode:
authorGravatar dave caruso <me@paperdave.net> 2023-09-20 22:48:46 -0400
committerGravatar GitHub <noreply@github.com> 2023-09-20 19:48:46 -0700
commitb7951511a3926b1ffe008c12ec712096cf53997f (patch)
tree1922f02188b71e0a6bfcfc6365ac159f20796a8e /src/bun.js/module_loader.zig
parentb65862e23b255d2ebf6df8cd32481e5162c7f978 (diff)
downloadbun-b7951511a3926b1ffe008c12ec712096cf53997f.tar.gz
bun-b7951511a3926b1ffe008c12ec712096cf53997f.tar.zst
bun-b7951511a3926b1ffe008c12ec712096cf53997f.zip
fix(run): interpret extensionless files as typescript (#5711)
* test * gadsgsagdsa * add better err msg * r * oops * ok
Diffstat (limited to 'src/bun.js/module_loader.zig')
-rw-r--r--src/bun.js/module_loader.zig23
1 files changed, 15 insertions, 8 deletions
diff --git a/src/bun.js/module_loader.zig b/src/bun.js/module_loader.zig
index a54b42825..ca066450d 100644
--- a/src/bun.js/module_loader.zig
+++ b/src/bun.js/module_loader.zig
@@ -1937,14 +1937,21 @@ pub const ModuleLoader = struct {
}
}
- const synchronous_loader = loader orelse
- // Unknown extensions are to be treated as file loader
- if (jsc_vm.has_loaded or jsc_vm.is_in_preload)
- options.Loader.file
- else
- // Unless it's potentially the main module
- // This is important so that "bun run ./foo-i-have-no-extension" works
- options.Loader.js;
+ const synchronous_loader = loader orelse loader: {
+ if (jsc_vm.has_loaded or jsc_vm.is_in_preload) {
+ // Extensionless files in this context are treated as the JS loader
+ if (path.name.ext.len == 0) {
+ break :loader options.Loader.tsx;
+ }
+
+ // Unknown extensions are to be treated as file loader
+ break :loader options.Loader.file;
+ } else {
+ // Unless it's potentially the main module
+ // This is important so that "bun run ./foo-i-have-no-extension" works
+ break :loader options.Loader.tsx;
+ }
+ };
var promise: ?*JSC.JSInternalPromise = null;
ret.* = ErrorableResolvedSource.ok(