UNPKG

@dynatrace/react-native-plugin

Version:

This plugin gives you the ability to use the Dynatrace Mobile agent in your react native application.

55 lines (54 loc) 2.31 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const child_process_1 = require("child_process"); const TerminalReporter = (() => { try { return require('metro/src/lib/TerminalReporter'); } catch (_a) { return require('metro').TerminalReporter; } })(); const { Terminal } = require('metro-core'); const files = require('../scripts/FileOperationHelper'); const paths = require('../scripts/PathsConstants'); const reporter = new TerminalReporter(new Terminal(process.stdout)); const updateOrig = TerminalReporter.prototype.update; TerminalReporter.prototype.update = function update(event) { if ((event === null || event === void 0 ? void 0 : event.type) === 'bundle_build_done') { (0, child_process_1.exec)('npx lineOffsetDynatrace env prod', (error, stdout, stderr) => { if (error) { console.error(`Error: ${error.message}`); return; } if (stderr) { console.error(`stderr: ${stderr}`); return; } console.log(`${stdout}`); }); } return updateOrig === null || updateOrig === void 0 ? void 0 : updateOrig.apply(this, arguments); }; const update = (event) => __awaiter(void 0, void 0, void 0, function* () { if (event != null) { if (event.type === 'transform_cache_reset') { try { yield files.default.deleteDirectory(paths.default.getBuildPath()); } catch (e) { } } } reporter.update(event); }); module.exports.update = update;