diff --git a/build.zig b/build.zig index f2f4deb..133bf7e 100644 --- a/build.zig +++ b/build.zig @@ -27,6 +27,7 @@ pub fn build(b: *std.Build) void { .linkage = .dynamic, }); + lib_example.linker_allow_shlib_undefined = true; const install_lib_example = b.addInstallArtifact(lib_example, .{ .dest_sub_path = "example.node", }); @@ -40,7 +41,7 @@ pub fn build(b: *std.Build) void { const test_napi = b.addTest(.{ .name = "napi", .root_module = module_napi, - .filters = &[_][]const u8{}, + .filters = b.option([][]const u8, "napi.filters", "napi test filters") orelse &[_][]const u8{}, }); const install_test_napi = b.addInstallArtifact(test_napi, .{}); const tls_install_test_napi = b.step("build-test:napi", "Install the napi test"); @@ -54,7 +55,7 @@ pub fn build(b: *std.Build) void { const test_example = b.addTest(.{ .name = "example", .root_module = module_example, - .filters = &[_][]const u8{}, + .filters = b.option([][]const u8, "example.filters", "example test filters") orelse &[_][]const u8{}, }); const install_test_example = b.addInstallArtifact(test_example, .{}); const tls_install_test_example = b.step("build-test:example", "Install the example test"); diff --git a/example/test.js b/example/test.js index 8f559fc..f2a2740 100644 --- a/example/test.js +++ b/example/test.js @@ -1,4 +1,7 @@ +import { createRequire } from 'node:module'; + +const require = createRequire(import.meta.url); const example = require('../zig-out/lib/example.node'); console.log(example.add(1, 2)); -console.log(example.surprise()); \ No newline at end of file +console.log(example.surprise()); diff --git a/zbuild.zon b/zbuild.zon index 212d315..361236f 100644 --- a/zbuild.zon +++ b/zbuild.zon @@ -18,6 +18,7 @@ .imports = .{.napi}, }, .linkage = .dynamic, + .linker_allow_shlib_undefined = true, .dest_sub_path = "example.node", }, },