From c062429dddebf52f1cf218b190d00a3a34d2f7d1 Mon Sep 17 00:00:00 2001 From: Dustin Rodrigues Date: Wed, 4 Nov 2020 21:33:06 -0500 Subject: [PATCH] language/node: remove unneeded scripts prior to installation --- Library/Homebrew/language/node.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Library/Homebrew/language/node.rb b/Library/Homebrew/language/node.rb index ee1780fbae..29e2038671 100644 --- a/Library/Homebrew/language/node.rb +++ b/Library/Homebrew/language/node.rb @@ -16,6 +16,17 @@ module Language # fed to `npm install` only symlinks are created linking back to that # directory, consequently breaking that assumption. We require a tarball # because npm install creates a "real" installation when fed a tarball. + if (package = Pathname("package.json")) && package.exist? + begin + pkg_json = JSON.parse(package.read) + rescue JSON::ParserError + $stderr.puts "Could not parse package.json" + raise + end + prepare_removed = pkg_json["scripts"]&.delete("prepare") + prepack_removed = pkg_json["scripts"]&.delete("prepack") + package.atomic_write(JSON.pretty_generate(pkg_json)) if prepare_removed || prepack_removed + end output = Utils.popen_read("npm pack --ignore-scripts") raise "npm failed to pack #{Dir.pwd}" if !$CHILD_STATUS.exitstatus.zero? || output.lines.empty?