diff mbox series

[bug#64203] guix: node-build-system: Delete from peerDependencies too.

Message ID 6bc6fc29681881be3ce767c51a7dd8886b97c169.1687336553.git.lars@6xq.net
State New
Headers show
Series [bug#64203] guix: node-build-system: Delete from peerDependencies too. | expand

Commit Message

Lars-Dominik Braun June 21, 2023, 8:38 a.m. UTC
* guix/build/node-build-system.scm (delete-dependencies): Remove supplied
dependencies from peerDependencies field too.
---

Hi,

this is required to build a new RStudio. I’m also validating it does
not break anything here: https://ci.guix.gnu.org/jobset/node-peerdeps

Cheers,
Lars

 guix/build/node-build-system.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)


base-commit: 1a0ff5cd83d3257efcab64740a1322de51fbc4a1

Comments

Jelle Licht June 22, 2023, 9:29 a.m. UTC | #1
Lars-Dominik Braun <lars@6xq.net> writes:

> * guix/build/node-build-system.scm (delete-dependencies): Remove supplied
> dependencies from peerDependencies field too.
> ---
>
> Hi,
>
> this is required to build a new RStudio. I’m also validating it does
> not break anything here: https://ci.guix.gnu.org/jobset/node-peerdeps

LGTM. You can consider adding a note to the commit message that thix
needed due to a change in how more recent npm versions deal with
peerDependencies.

Cheers,
- Jelle
Lars-Dominik Braun June 22, 2023, 10:05 a.m. UTC | #2
Hi,

> LGTM. You can consider adding a note to the commit message that thix
> needed due to a change in how more recent npm versions deal with
> peerDependencies.

I don’t know anything about that change in npm unfortunately – this
is purely based on observations of failed builds. Do you have further
information on this?

Thanks,
Lars
Jelle Licht June 22, 2023, 10:23 a.m. UTC | #3
Lars-Dominik Braun <lars@6xq.net> writes:

> Hi,
>
>> LGTM. You can consider adding a note to the commit message that thix
>> needed due to a change in how more recent npm versions deal with
>> peerDependencies.
>
> I don’t know anything about that change in npm unfortunately – this
> is purely based on observations of failed builds. Do you have further
> information on this?

The previous version of node we had packaged guix was v14, which came
with npm v6. The most recent version of node we have packaged in guix is
v18, which comes with npm v9.

From [1]: "In npm versions 3 through 6, peerDependencies were not
automatically installed, and would raise a warning if an invalid version
of the peer dependency was found in the tree. As of npm v7,
peerDependencies are installed by default."

HTH!
 - Jelle

[1]: https://docs.npmjs.com/cli/v9/configuring-npm/package-json#peerdependencies:
Lars-Dominik Braun June 22, 2023, 11:04 a.m. UTC | #4
Hi,

> The previous version of node we had packaged guix was v14, which came
> with npm v6. The most recent version of node we have packaged in guix is
> v18, which comes with npm v9.
> 
> From [1]: "In npm versions 3 through 6, peerDependencies were not
> automatically installed, and would raise a warning if an invalid version
> of the peer dependency was found in the tree. As of npm v7,
> peerDependencies are installed by default."

thanks! Pushed to master as 37c2e94cec6cb8b5e0e93e7b6c712c3b187ca5db.

Cheers,
Lars
diff mbox series

Patch

diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm
index 93f7efbb2b..fb23894bc1 100644
--- a/guix/build/node-build-system.scm
+++ b/guix/build/node-build-system.scm
@@ -208,7 +208,8 @@  (define (delete-dependencies absent)
       (jsobject-update*
        pkg-meta
        `("devDependencies" ,delete-from-jsobject (@))
-       `("dependencies" ,delete-from-jsobject (@))))))
+       `("dependencies" ,delete-from-jsobject (@))
+       `("peerDependencies" ,delete-from-jsobject (@))))))
 
 (define* (delete-lockfiles #:key inputs #:allow-other-keys)
   "Delete 'package-lock.json', 'yarn.lock', and 'npm-shrinkwrap.json', if they