aboutsummaryrefslogtreecommitdiff
path: root/src/bundler.zig
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2023-04-14 17:45:16 -0700
committerGravatar GitHub <noreply@github.com> 2023-04-14 17:45:16 -0700
commitb4989a316b4b3dcf0e8e8145aa9541f70122f9ba (patch)
tree9ba477b212a485aa418183ba2ea4f06c55f907ff /src/bundler.zig
parent8b897e1a6bbe026fae3af0c40d65331b44d00c21 (diff)
downloadbun-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.zig26
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()) {