aboutsummaryrefslogtreecommitdiff
path: root/src/javascript/jsc/javascript.zig
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-09-26 00:14:15 -0700
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-09-26 00:14:15 -0700
commit66ed7c1f30d1ba6569efa114c9d90ccac45fb86a (patch)
tree4ba9471f0e3dfe2e8785654757464de43937229d /src/javascript/jsc/javascript.zig
parentff8393ce3264f1d40fc82aef428dbb8c766b2b6f (diff)
downloadbun-66ed7c1f30d1ba6569efa114c9d90ccac45fb86a.tar.gz
bun-66ed7c1f30d1ba6569efa114c9d90ccac45fb86a.tar.zst
bun-66ed7c1f30d1ba6569efa114c9d90ccac45fb86a.zip
Basic macro impl
Diffstat (limited to 'src/javascript/jsc/javascript.zig')
-rw-r--r--src/javascript/jsc/javascript.zig15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/javascript/jsc/javascript.zig b/src/javascript/jsc/javascript.zig
index 8d7626afb..4dfacffdd 100644
--- a/src/javascript/jsc/javascript.zig
+++ b/src/javascript/jsc/javascript.zig
@@ -36,6 +36,7 @@ pub const GlobalClasses = [_]type{
ResolveError.Class,
Bun.Class,
Fetch.Class,
+ js_ast.Macro.JSNode.BunJSXCallbackFunction,
};
const Blob = @import("../../blob.zig");
@@ -723,6 +724,19 @@ pub const VirtualMachine = struct {
.hash = 0,
.bytecodecache_fd = 0,
};
+ } else if (_specifier.len > js_ast.Macro.namespaceWithColon.len and
+ strings.eqlComptimeIgnoreLen(_specifier[0..js_ast.Macro.namespaceWithColon.len], js_ast.Macro.namespaceWithColon))
+ {
+ if (vm.macro_entry_points.get(MacroEntryPoint.generateIDFromSpecifier(_specifier))) |entry| {
+ return ResolvedSource{
+ .allocator = null,
+ .source_code = ZigString.init(entry.source.contents),
+ .specifier = ZigString.init(_specifier),
+ .source_url = ZigString.init(_specifier),
+ .hash = 0,
+ .bytecodecache_fd = 0,
+ };
+ }
}
const specifier = normalizeSpecifier(_specifier);
@@ -752,6 +766,7 @@ pub const VirtualMachine = struct {
vm.bundler.log = log;
vm.bundler.linker.log = log;
vm.bundler.resolver.log = log;
+
defer {
vm.bundler.log = old;
vm.bundler.linker.log = old;