003 directory mixed extensions

✓ Passing This code compiles and runs correctly.

Code

// Phase 2: a directory module containing both `.kz` and `.kjs` siblings.
// Directory enumeration should pick up files of every Koru extension and
// register both as submodules under the directory's namespace.

const std = @import("std");

~import "$std/io"
~import "$app/lib"

~app.lib.alpha:greet_alpha()
| spoken a |> std.io:print.ln("{{ a:s }}")

~app.lib.beta:greet_beta()
| spoken b |> std.io:print.ln("{{ b:s }}")
input.kz

Actual

alpha (kz)
beta (kjs)

Must succeed:

Compile and run without errors.

Expected output

alpha (kz)
beta (kjs)

Imported Files

// Sibling 1: standard .kz file.

const std = @import("std");

~pub event greet_alpha {}
| spoken []const u8

~proc greet_alpha|zig {
    return .{ .spoken = "alpha (kz)" };
}
lib/alpha.kz

Test Configuration

MUST_RUN