aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-11-09 13:04:35 -0800
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-12-16 19:18:51 -0800
commit6da14ae310d41110a00e1de9acefc94aea4fc26f (patch)
treef171608aa9a5df749a9839e9b417fa5e27fea5f8 /src
parent442f85e89e413ed5c697bbf36181577ef38fd0f1 (diff)
downloadbun-6da14ae310d41110a00e1de9acefc94aea4fc26f.tar.gz
bun-6da14ae310d41110a00e1de9acefc94aea4fc26f.tar.zst
bun-6da14ae310d41110a00e1de9acefc94aea4fc26f.zip
wip
Diffstat (limited to 'src')
-rw-r--r--src/cli/install_command.zig2
-rw-r--r--src/install/install.zig62
-rw-r--r--src/resolver/package_json.zig1
3 files changed, 64 insertions, 1 deletions
diff --git a/src/cli/install_command.zig b/src/cli/install_command.zig
index d4af860b8..cd2271f16 100644
--- a/src/cli/install_command.zig
+++ b/src/cli/install_command.zig
@@ -37,6 +37,6 @@ const ShellCompletions = @import("./shell_completions.zig");
pub const InstallCommand = struct {
pub fn exec(ctx: Command.Context) !void {
-
+
}
};
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,
+};
diff --git a/src/resolver/package_json.zig b/src/resolver/package_json.zig
index 825254fa1..ad7f5490b 100644
--- a/src/resolver/package_json.zig
+++ b/src/resolver/package_json.zig
@@ -445,6 +445,7 @@ pub const PackageJSON = struct {
dirname_fd: StoredFileDescriptorType,
comptime generate_hash: bool,
comptime include_scripts: bool,
+
) ?PackageJSON {
// TODO: remove this extra copy