diff options
author | 2023-04-14 17:45:16 -0700 | |
---|---|---|
committer | 2023-04-14 17:45:16 -0700 | |
commit | b4989a316b4b3dcf0e8e8145aa9541f70122f9ba (patch) | |
tree | 9ba477b212a485aa418183ba2ea4f06c55f907ff /src/bundler.zig | |
parent | 8b897e1a6bbe026fae3af0c40d65331b44d00c21 (diff) | |
download | bun-b4989a316b4b3dcf0e8e8145aa9541f70122f9ba.tar.gz bun-b4989a316b4b3dcf0e8e8145aa9541f70122f9ba.tar.zst bun-b4989a316b4b3dcf0e8e8145aa9541f70122f9ba.zip |
Support importing `.txt` files as strings (#2660)
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Diffstat (limited to 'src/bundler.zig')
-rw-r--r-- | src/bundler.zig | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/bundler.zig b/src/bundler.zig index 629e377ae..8c9775808 100644 --- a/src/bundler.zig +++ b/src/bundler.zig @@ -1454,6 +1454,7 @@ pub const Bundler = struct { }, }; }, + // TODO: use lazy export AST .json => { var expr = json_parser.ParseJSON(&source, bundler.log, allocator) catch return null; var stmt = js_ast.Stmt.alloc(js_ast.S.ExportDefault, js_ast.S.ExportDefault{ @@ -1475,6 +1476,7 @@ pub const Bundler = struct { .input_fd = input_fd, }; }, + // TODO: use lazy export AST .toml => { var expr = TOML.parse(&source, bundler.log, allocator) catch return null; var stmt = js_ast.Stmt.alloc(js_ast.S.ExportDefault, js_ast.S.ExportDefault{ @@ -1496,6 +1498,30 @@ pub const Bundler = struct { .input_fd = input_fd, }; }, + // TODO: use lazy export AST + .text => { + var expr = js_ast.Expr.init(js_ast.E.String, js_ast.E.String{ + .data = source.contents, + }, logger.Loc.Empty); + var stmt = js_ast.Stmt.alloc(js_ast.S.ExportDefault, js_ast.S.ExportDefault{ + .value = js_ast.StmtOrExpr{ .expr = expr }, + .default_name = js_ast.LocRef{ + .loc = logger.Loc{}, + .ref = Ref.None, + }, + }, logger.Loc{ .start = 0 }); + var stmts = allocator.alloc(js_ast.Stmt, 1) catch unreachable; + stmts[0] = stmt; + var parts = allocator.alloc(js_ast.Part, 1) catch unreachable; + parts[0] = js_ast.Part{ .stmts = stmts }; + + return ParseResult{ + .ast = js_ast.Ast.initTest(parts), + .source = source, + .loader = loader, + .input_fd = input_fd, + }; + }, .wasm => { if (bundler.options.platform.isBun()) { if (!source.isWebAssembly()) { |