aboutsummaryrefslogtreecommitdiff
path: root/src/cache.zig
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-06-06 18:34:01 -0700
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-06-06 18:34:01 -0700
commitd49e0a5fa129152c27b70a57d1cc7a2af770577c (patch)
tree1ac581bda71fec5dfd09a6ab508a1adfca80b358 /src/cache.zig
parente66466cc1a453db1370a199a32729441747761bb (diff)
downloadbun-d49e0a5fa129152c27b70a57d1cc7a2af770577c.tar.gz
bun-d49e0a5fa129152c27b70a57d1cc7a2af770577c.tar.zst
bun-d49e0a5fa129152c27b70a57d1cc7a2af770577c.zip
WIP node module bundles
Former-commit-id: 797b2ff557542e9d318c953b840b102695711888
Diffstat (limited to 'src/cache.zig')
-rw-r--r--src/cache.zig33
1 files changed, 32 insertions, 1 deletions
diff --git a/src/cache.zig b/src/cache.zig
index 668ceba1a..996f09588 100644
--- a/src/cache.zig
+++ b/src/cache.zig
@@ -11,6 +11,9 @@ const fs = @import("./fs.zig");
const sync = @import("sync.zig");
const Mutex = sync.Mutex;
+const import_record = @import("./import_record.zig");
+const ImportRecord = import_record.ImportRecord;
+
pub fn NewCache(comptime cache_files: bool) type {
return struct {
pub const Set = struct {
@@ -60,7 +63,13 @@ pub fn NewCache(comptime cache_files: bool) type {
c.entries.deinit();
}
- pub fn readFile(c: *Fs, _fs: *fs.FileSystem, path: string, dirname_fd: StoredFileDescriptorType, comptime use_shared_buffer: bool) !Entry {
+ pub fn readFile(
+ c: *Fs,
+ _fs: *fs.FileSystem,
+ path: string,
+ dirname_fd: StoredFileDescriptorType,
+ comptime use_shared_buffer: bool,
+ ) !Entry {
var rfs = _fs.fs;
if (cache_files) {
@@ -174,6 +183,9 @@ pub fn NewCache(comptime cache_files: bool) type {
) anyerror!?js_ast.Ast {
var temp_log = logger.Log.init(allocator);
defer temp_log.appendTo(log) catch {};
+ if (isDebug) {
+ Output.println("Parse!", .{});
+ }
var parser = js_parser.Parser.init(opts, &temp_log, source, defines, allocator) catch |err| {
return null;
@@ -183,6 +195,25 @@ pub fn NewCache(comptime cache_files: bool) type {
return if (result.ok) result.ast else null;
}
+
+ pub fn scan(
+ cache: *@This(),
+ allocator: *std.mem.Allocator,
+ scan_pass_result: *js_parser.ScanPassResult,
+ opts: js_parser.Parser.Options,
+ defines: *Define,
+ log: *logger.Log,
+ source: *const logger.Source,
+ ) anyerror!void {
+ var temp_log = logger.Log.init(allocator);
+ defer temp_log.appendTo(log) catch {};
+
+ var parser = js_parser.Parser.init(opts, &temp_log, source, defines, allocator) catch |err| {
+ return;
+ };
+
+ return try parser.scanImports(scan_pass_result);
+ }
};
pub const Json = struct {