#!/bin/bash

# Copyright 2017 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Script for updating WebUI's NPM deps.
#  1) Update package.json file to point to the desired version, or update the
#     versions in download_npm_deps_manually.sh (for packages not pulled via
#     `npm install`).
#  2) Run this script.
#  3) Upload the compressed node_modules.tar.gz file to the Google Storage
#     bucket (commands to upload binaries are printed at step 2).
#  4) Land a CL with the changes generated by this script.

set -eu
cd "$(dirname "$0")"

rm -rf node_modules

echo 'Step 1: Downloading dependencies listed in packages.json, using npm...'
npm install --no-bin-links --only=prod

echo 'Step 2: Downloading dependencies not listed in packages.json, manually...'
./download_npm_deps_manually.sh

echo 'Step 3: Applying local patches...'
patch -d node_modules/chai/ -p1 < patches/chai.patch
patch -d node_modules/@types/d3/ -p1 < patches/chromium_d3_types_index.patch
patch -d node_modules/html-minifier/ -p1 < patches/html_minifier.patch
patch -p1 < patches/typescript.patch
patch -p1 < patches/lit_html.patch

echo 'Step 4: Filtering out unnecessary files...'
rsync -c --delete -r -q --include-from="npm_include.txt" \
    --exclude-from="npm_exclude.txt" \
    --prune-empty-dirs "node_modules/" "node_modules_filtered/"

rsync -c -r -q --files-from="lit_include.txt" "node_modules/" \
    "node_modules_filtered/"

# `npm install` leaves a bunch of local paths in _where and _args.
# This is undesired. See: https://github.com/npm/npm/issues/10393
python clean_json_attrs.py --attr_pattern="^_" --file_pattern="^package\.json$" "node_modules_filtered/"

echo -e "\n---------------------------------------------------------"
echo "Before filtering:" size: $(du -h node_modules/ | tail -n1 | cut -f1) ", files: " $(find node_modules/ -type f | wc -l)
rm -r node_modules
mv node_modules_filtered node_modules

echo "After filtering:" size: $(du -h node_modules/ | tail -n1 | cut -f1) ", files: " $(find node_modules/ -type f | wc -l)

tar cfz node_modules.tar.gz node_modules
echo "After compressing:" size: $(du -h node_modules.tar.gz | tail -n1 | cut -f1)

sha1="$(sha1sum node_modules.tar.gz | cut -d ' ' -f1)"
echo "${sha1}" > node_modules.tar.gz.sha1
echo "Please run the following manually to update Google Storage bucket:"
echo "> gsutil.py cp node_modules.tar.gz gs://chromium-nodejs/${sha1}"
echo "DONE"
echo -e "---------------------------------------------------------"
