diff options
author | 2023-09-20 22:48:46 -0400 | |
---|---|---|
committer | 2023-09-20 19:48:46 -0700 | |
commit | b7951511a3926b1ffe008c12ec712096cf53997f (patch) | |
tree | 1922f02188b71e0a6bfcfc6365ac159f20796a8e /src/bun.js/module_loader.zig | |
parent | b65862e23b255d2ebf6df8cd32481e5162c7f978 (diff) | |
download | bun-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.zig | 23 |
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( |