1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00
metamask-extension/development/source-map-explorer.sh
ryanml 91e5b85955
Excluding sourcemaps comment in production builds (#10695)
* Excluding sourcemaps comment in production builds

Fixes MetaMask/metamask-extension#7077

* Fix source map explorer script

The source map explorer script now re-adds the source map comment to
each file to ensure the source map visualization still works. Each
module with a sourcemap is copied to a temporary directory along with
the module it corresponds to, and from there it's passed into
`source-map-explorer`. This should ensure the resulting visualization
matches what it was before.

Everything has been moved inside of functions to generally improve
readability, and to allow the use of local variables.

Co-authored-by: Mark Stacey <markjstacey@gmail.com>
2021-03-22 19:41:23 -07:00

35 lines
943 B
Bash
Executable File

#!/usr/bin/env bash
set -x
set -e
set -u
set -o pipefail
function generate_sourcemap() {
local temp_dir="${1}"; shift
local module_name="${1}"; shift
cp "dist/chrome/${module_name}.js" "${temp_dir}/"
cp "dist/sourcemaps/${module_name}.js.map" "${temp_dir}/"
printf '//# sourceMappingURL=%s.js.map' "${module_name}" >> "${temp_dir}/${module_name}.js"
yarn source-map-explorer "${temp_dir}/${module_name}.js" "${temp_dir}/${module_name}.js.map" --html "build-artifacts/source-map-explorer/${module_name}.html"
}
function main() {
mkdir -p build-artifacts/source-map-explorer
local temp_dir
temp_dir="$(mktemp -d)"
for file in dist/sourcemaps/*.js.map; do
[[ -e $file ]] || (echo 'Failed to find any JavaScript modules' && exit 1)
local filename
filename="$(basename "${file}")"
local module_name
module_name="${filename%.js.map}"
generate_sourcemap "${temp_dir}" "${module_name}"
done
}
main