nachoaldamav/ultra

Astro integration

Closed this issue · 2 comments

Error

├─┬ astro@1.1.2
│ ├─┬ boxen@6.2.1
│ │ └─┬ ansi-align@3.0.1
│ │   └─┬ string-width@4.2.3
│ │     └─┬ strip-ansi@6.0.1
│ │       └── ansi-regex@6.0.1 invalid: "^5.0.1" from node_modules/ansi-align/node_modules/string-width/node_modules/strip-ansi
│ └─┬ strip-ansi@7.0.1
│   └── ansi-regex@5.0.1 invalid: "^6.0.1" from node_modules/strip-ansi
└─┬ eslint@8.23.0
  └─┬ strip-ansi@6.0.1
    └── ansi-regex@5.0.1

strip-ansi asks for ansi-regex@^6.0.1 but 5.0.1 is installed instead.

.fnpm file seems correct.

{
  "ansi-regex": {
    "6.0.1": {
      "path": "/home/user/.fnpm-cache/ansi-regex/6.0.1",
      "tarball": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
      "spec": "^6.0.1"
    }
  }
}

Looks like some dependencies are being overwritten if there is a version already installed in the root.

Example

  • strip-ansi@1 is installed in root
  • strip-ansi@2, sub-dep of string-width@1 is installed in string-width/node_modules
  • strip-ansi@3, sub-dep of string-width@2 overwrittes strip-ansi@2 because it's being installed in string-width/node_modules
  • strip-ansi@3 should be installed in <parent>/node_modules/string-width/node_modules or <parent>/node_modules/