Skip to content

yarn support #67

@JLarky

Description

@JLarky

I played with this a bit and there's a way to make this package work with yarn, so if someone wants to work on it, I just want to leave what code I tried:

diff --git a/src/helpers.js b/src/helpers.js
index c157a54..97eabd8 100644
--- a/src/helpers.js
+++ b/src/helpers.js
@@ -59,8 +59,20 @@ let setup = (includeDev) => {
     Adds them with --include-dev
 */
 let getDependencyTree = () => {
-  let result = syncExec(`npm ls --json ${productionModifier}`);
-  return JSON.parse(result.stdout).dependencies;
+  let result = syncExec(`yarn list --json`);
+  const transform = (packages) => {
+    const out = {};
+    packages.forEach((x) => {
+      const names = x.name.split("@");
+      const name = names[0] || "@" + names[1];
+      out[name] = { name };
+      if ("children" in x) {
+        out[name].dependencies = transform(x.children);
+      }
+    });
+    return out;
+  };
+  return transform(JSON.parse(result.stdout).data.trees);
 }; 

p.s. this doesn't work for my project because it has the same issue as in #66
p.p.s. I'm trying out analyze-module-size for now

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions