forked from oraoto/pib
-
-
Notifications
You must be signed in to change notification settings - Fork 57
/
Copy pathremap-sourcemap.sh
executable file
·51 lines (35 loc) · 1.22 KB
/
remap-sourcemap.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/usr/bin/env bash
set -eux;
PHP_VERSION=8.3
SOURCE_MAP=${1}
DEST_DIR=${2}
DEST_DIR_REALPATH=`realpath ${DEST_DIR}`
SOURCE_MAP_BASENAME=`basename ${SOURCE_MAP}`
SOURCE_MAP_REALPATH=`realpath ${SOURCE_MAP}`
SOURCE_MAP_DIR=`dirname ${SOURCE_MAP_REALPATH}`
ORIGINAL=${SOURCE_MAP_REALPATH}.ORIGINAL
MAPPED=${SOURCE_MAP_REALPATH}.MAPPED
cd ${SOURCE_MAP_DIR}
rm -f sources.list sources.json ${ORIGINAL} ${MAPPED}
cp ${SOURCE_MAP_REALPATH} ${ORIGINAL}
jq -r '.sources[]' < ${SOURCE_MAP_REALPATH} | while read SOURCE_FILE; do {
if [ `basename ${SOURCE_FILE}` == "<stdout>" ]; then
continue
fi
if [ ! -e ${SOURCE_FILE} ]; then
echo "NOT FOUND" ${SOURCE_FILE}
echo "PWD" `pwd`
exit 1;
fi
echo Mapping ${SOURCE_FILE} ...
SOURCE_FILE_REALPATH=`realpath ${SOURCE_FILE}`
SOURCE_FILE_DIR=`dirname ${SOURCE_FILE_REALPATH}`
MAPPED_PATH=mapped${SOURCE_FILE_REALPATH}
mkdir -p mapped/${SOURCE_FILE_DIR}
cp -rfv ${SOURCE_FILE} mapped/${SOURCE_FILE_DIR}
echo ${MAPPED_PATH} >> sources.list
}; done;
jq -R . sources.list | jq -s . > sources.json
jq -c --slurpfile sources sources.json '.sources = $sources[0]' ${ORIGINAL} > ${MAPPED}
cp -rfv mapped/ ${DEST_DIR_REALPATH}
cp -rfv ${MAPPED} ${DEST_DIR_REALPATH}/${SOURCE_MAP_BASENAME}