diff options
author | 2022-09-06 17:38:08 -0700 | |
---|---|---|
committer | 2022-09-06 17:38:08 -0700 | |
commit | 0a67d7e9518f4cc448c4484993dae63f73cca0c8 (patch) | |
tree | 9de8ae03b9bbc5913805ff33a4b4861ce896a1f8 /src/bun.js | |
parent | 52f3377d9e81c6ef79ba8bb880c0f2d188ebcbaf (diff) | |
download | bun-0a67d7e9518f4cc448c4484993dae63f73cca0c8.tar.gz bun-0a67d7e9518f4cc448c4484993dae63f73cca0c8.tar.zst bun-0a67d7e9518f4cc448c4484993dae63f73cca0c8.zip |
[Bun.plugin] Fix validating `loader`
Diffstat (limited to 'src/bun.js')
-rw-r--r-- | src/bun.js/bindings/ModuleLoader.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/bun.js/bindings/ModuleLoader.cpp b/src/bun.js/bindings/ModuleLoader.cpp index c55e03e4e..6f9a767e4 100644 --- a/src/bun.js/bindings/ModuleLoader.cpp +++ b/src/bun.js/bindings/ModuleLoader.cpp @@ -152,7 +152,10 @@ OnLoadResult handleOnLoadResultNotPromise(Zig::GlobalObject* globalObject, JSC:: } if (JSC::JSValue loaderValue = object->getIfPropertyExists(globalObject, JSC::Identifier::fromString(vm, "loader"_s))) { - if (loaderValue.isString()) { + if (!loaderValue.isUndefinedOrNull()) { + // If a loader is passed, we must validate it + loader = BunLoaderTypeNone; + if (JSC::JSString* loaderJSString = loaderValue.toStringOrNull(globalObject)) { WTF::String loaderString = loaderJSString->value(globalObject); if (loaderString == "js"_s) { @@ -169,8 +172,6 @@ OnLoadResult handleOnLoadResultNotPromise(Zig::GlobalObject* globalObject, JSC:: loader = BunLoaderTypeJSON; } else if (loaderString == "toml"_s) { loader = BunLoaderTypeTOML; - } else if (loaderString.length() > 0) { - loader = BunLoaderTypeNone; } } } |