#!/bin/bash

# Copyright 2021 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.
#  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

npm install --no-bin-links --only=prod

rsync -c --delete -r -q --exclude-from="npm_exclude.txt" \
      --prune-empty-dirs "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)

echo "Please run the following manually to update Google Storage bucket and update DEPS with the new dep object information:"
echo "./path/to/depot_tools/upload_to_google_storage_first_class.py --bucket=chromium-nodejs/js_code_coverage node_modules "
echo "(the above assumes you have /path/to/depot_tools in your path)"
echo "DONE"
echo -e "---------------------------------------------------------"
