Минификация (Source Maps)

При разработке, скорее всего, ваш код собирается в бандл и минифицируется. В этой ситуации стактрейсы могут оказаться не очень информативны, но Tracer может исправить эту ситуацию.

Чтобы Tracer мог показать стактрейсы относительно исходного кода, необходимо для вашего проекта загружать сорсмапы.

Рекомендации

Важно, чтобы пути к файлам в архиве соответствовали тому пути, который окажется в стактрейсе, без учета хоста.

Например, путь до файла выглядит так:

Error at (https://some-host.ru/someFolder/someScript.hash.js)

Значит, в архиве с сорсмапами должна быть структура:

someFolder - someScript.hash.js.map

Вариант 1

Устанавливаем npm модуль:

npm install @apptracer/sourcemap --save-dev

После сборки отправляем сорсмапы:

const { uploadSourceMap } = require('@apptracer/sourcemap'); uploadSourceMap( sourcemapsPath, // путь до папки с сорсмапами, все *.map файлы будут добавлены в архив { sourcemapToken: PLUGIN_TOKEN, // pluginToken из раздела настроек проекта в Tracer versionName: VERSION_NAME, // отображаемое имя версии (string) versionCode: VERSION_CODE, // код версии (number) onError: console.error, // опционально onSuccess: () => { // опционально console.log('sourcemaps успешно залиты...'); }, } );

Вариант 2

Используем curl:

pushd 'build/sourcemaps' zip -9 -r file.zip . echo 'Заливаем sourcemaps...' curl \ -F sourcemapToken=${PLUGIN_TOKEN} \ -F versionName=${VERSION_NAME} \ -F versionCode=${VERSION_CODE} \ -F file=@file.zip \ https://api-hprof.odkl.ru/api/sourcemap/upload rm file.zip popd