mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-01-21 20:34:06 +00:00
b6e4b86809
This is an alternative to `fetchNpmDeps` that is notably different in that it uses metadata from `package.json` & `package-lock.json` instead of specifying a fixed-output hash. Notable features: - IFD free. - Only fetches a node dependency once. No massive FODs. - Support for URL, Git and path dependencies. - Uses most of the existing `npmHooks` `importNpmLock` can be used _only_ in the cases where we need to check in a `package-lock.json` in the tree. Currently this means that we have 13 packages that would be candidates to use this function, though I expect most usage to be in private repositories. This is upstreaming the builder portion of https://github.com/adisbladis/buildNodeModules into nixpkgs (different naming but the code is the same). I will archive this repository and consider nixpkgs the new upstream once it's been merged. For more explanations and rationale see https://discourse.nixos.org/t/buildnodemodules-the-dumbest-node-to-nix-packaging-tool-yet/35733 Example usage: ``` nix stdenv.mkDerivation { pname = "my-nodejs-app"; version = "0.1.0"; src = ./.; nativeBuildInputs = [ importNpmLock.hooks.npmConfigHook nodejs nodejs.passthru.python # for node-gyp npmHooks.npmBuildHook npmHooks.npmInstallHook ]; npmDeps = buildNodeModules.fetchNodeModules { npmRoot = ./.; }; } ``` |
||
---|---|---|
.. | ||
add-driver-runpath | ||
add-opengl-runpath | ||
agda | ||
alternatives | ||
appimage | ||
binary-cache | ||
bintools-wrapper | ||
build-bazel-package | ||
build-fhsenv-bubblewrap | ||
build-fhsenv-chroot | ||
build-graalvm-native-image | ||
buildenv | ||
cc-wrapper | ||
coq | ||
dart | ||
deterministic-uname | ||
dhall | ||
docker | ||
dotnet | ||
emacs | ||
expand-response-params | ||
fake-nss | ||
fetch9front | ||
fetchbitbucket | ||
fetchbower | ||
fetchbzr | ||
fetchcvs | ||
fetchdarcs | ||
fetchdebianpatch | ||
fetchdocker | ||
fetchfirefoxaddon | ||
fetchfossil | ||
fetchgit | ||
fetchgitea | ||
fetchgithub | ||
fetchgitiles | ||
fetchgitlab | ||
fetchgitlocal | ||
fetchgx | ||
fetchhg | ||
fetchipfs | ||
fetchmavenartifact | ||
fetchmtn | ||
fetchnextcloudapp | ||
fetchpatch | ||
fetchpijul | ||
fetchpypi | ||
fetchpypilegacy | ||
fetchrepoorcz | ||
fetchrepoproject | ||
fetchs3 | ||
fetchsavannah | ||
fetchsourcehut | ||
fetchsvn | ||
fetchsvnrevision | ||
fetchsvnssh | ||
fetchtorrent | ||
fetchurl | ||
fetchzip | ||
flutter | ||
go | ||
icon-conv-tools | ||
install-shell-files | ||
java | ||
kernel | ||
libredirect | ||
make-darwin-bundle | ||
make-desktopitem | ||
make-hardcode-gsettings-patch | ||
make-pkgconfigitem | ||
make-startupitem | ||
mkshell | ||
mono-dll-fixer | ||
nix-gitignore | ||
node | ||
nuke-references | ||
ocaml | ||
oci-tools | ||
php | ||
pkg-config-wrapper | ||
portable-service | ||
prefer-remote-fetch | ||
references-by-popularity | ||
release | ||
remove-references-to | ||
replace-secret | ||
rust | ||
setup-hooks | ||
singularity-tools | ||
snap | ||
src-only | ||
substitute | ||
substitute-files | ||
testers | ||
trivial-builders | ||
vm | ||
wrapper-common | ||
writers | ||
build-maven.nix | ||
checkpoint-build.nix | ||
closure-info.nix | ||
make-impure-test.nix | ||
plugins.nix | ||
replace-dependency.nix | ||
setup-systemd-units.nix | ||
source-from-head-fun.nix |