aboutsummaryrefslogtreecommitdiff
path: root/src/install/install.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/install/install.zig')
-rw-r--r--src/install/install.zig62
1 files changed, 62 insertions, 0 deletions
diff --git a/src/install/install.zig b/src/install/install.zig
index 7c4324807..1e575015b 100644
--- a/src/install/install.zig
+++ b/src/install/install.zig
@@ -26,4 +26,66 @@ const Run = @import("../bun_js.zig").Run;
var path_buf: [std.fs.MAX_PATH_BYTES]u8 = undefined;
var path_buf2: [std.fs.MAX_PATH_BYTES]u8 = undefined;
+const URL = @import("../query_string_map.zig").URL;
+const URI = union(Tag) {
+ local: string,
+ remote: URL,
+
+ pub const Tag = enum {
+ local,
+ remote,
+ };
+};
+
+const Semver = @import("./semver.zig");
+
+const Dependency = struct {
+ name: string,
+ name_hash: u32,
+ version: Version,
+
+ pub const Version = union(Tag) {
+ pub const Tag = enum {
+ npm,
+ tarball,
+ folder,
+
+ /// TODO:
+ symlink,
+ /// TODO:
+ workspace,
+ /// TODO:
+ git,
+ /// TODO:
+ github,
+ };
+
+ version: Semver.Query.Group,
+ tarball: URI,
+ folder: string,
+
+ symlink: void,
+ workspace: void,
+ git: void,
+ github: void,
+ };
+
+ pub const List = std.MultiArrayList(Dependency);
+};
+
+const Package = struct {
+ name: string,
+ version: string,
+ dependencies: Dependency.List,
+ dev_dependencies: Dependency.List,
+ peer_dependencies: Dependency.List,
+ optional_dependencies: Dependency.List,
+
+
+};
+
+/// [Abbreviated NPM Package Version](https://github.com/npm/registry/blob/master/docs/responses/package-metadata.md#abbreviated-version-object)
+const Registry = struct {
+ url: URL,
+};