mirror of
https://github.com/strapi/strapi.git
synced 2025-11-12 16:22:10 +00:00
Factorize sentry capture code
This commit is contained in:
parent
67e60369df
commit
571e7f3579
@ -1,7 +1,5 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const sentry = require('@sentry/node');
|
|
||||||
|
|
||||||
const { join } = require('path');
|
const { join } = require('path');
|
||||||
const fse = require('fs-extra');
|
const fse = require('fs-extra');
|
||||||
const chalk = require('chalk');
|
const chalk = require('chalk');
|
||||||
@ -9,7 +7,7 @@ const execa = require('execa');
|
|||||||
const ora = require('ora');
|
const ora = require('ora');
|
||||||
|
|
||||||
const stopProcess = require('./utils/stop-process');
|
const stopProcess = require('./utils/stop-process');
|
||||||
const { trackUsage } = require('./utils/usage');
|
const { trackUsage, captureError } = require('./utils/usage');
|
||||||
const packageJSON = require('./resources/json/package.json');
|
const packageJSON = require('./resources/json/package.json');
|
||||||
const databaseJSON = require('./resources/json/database.json.js');
|
const databaseJSON = require('./resources/json/database.json.js');
|
||||||
|
|
||||||
@ -102,8 +100,7 @@ module.exports = async function createProject(
|
|||||||
error: error.stderr.slice(-1024),
|
error: error.stderr.slice(-1024),
|
||||||
});
|
});
|
||||||
|
|
||||||
sentry.captureException(error);
|
await captureError(error);
|
||||||
await sentry.flush();
|
|
||||||
|
|
||||||
stopProcess(
|
stopProcess(
|
||||||
`${chalk.red(
|
`${chalk.red(
|
||||||
|
|||||||
@ -1,9 +1,8 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const sentry = require('@sentry/node');
|
|
||||||
const execa = require('execa');
|
const execa = require('execa');
|
||||||
|
|
||||||
const { trackUsage } = require('./utils/usage');
|
const { trackUsage, captureError } = require('./utils/usage');
|
||||||
const defaultConfigs = require('./utils/db-configs.js');
|
const defaultConfigs = require('./utils/db-configs.js');
|
||||||
const clientDependencies = require('./utils/db-client-dependencies.js');
|
const clientDependencies = require('./utils/db-client-dependencies.js');
|
||||||
const createProject = require('./create-project');
|
const createProject = require('./create-project');
|
||||||
@ -31,9 +30,6 @@ module.exports = async function createQuickStartProject(scope) {
|
|||||||
env: {
|
env: {
|
||||||
FORCE_COLOR: 1,
|
FORCE_COLOR: 1,
|
||||||
},
|
},
|
||||||
}).catch(error => {
|
}).catch(error => captureError(error));
|
||||||
sentry.captureException(error);
|
|
||||||
return sentry.flush();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@ -9,7 +9,7 @@ const uuid = require('uuid/v4');
|
|||||||
const sentry = require('@sentry/node');
|
const sentry = require('@sentry/node');
|
||||||
|
|
||||||
const hasYarn = require('./utils/has-yarn');
|
const hasYarn = require('./utils/has-yarn');
|
||||||
const { trackError } = require('./utils/usage');
|
const { trackError, captureError } = require('./utils/usage');
|
||||||
const parseDatabaseArguments = require('./utils/parse-db-arguments');
|
const parseDatabaseArguments = require('./utils/parse-db-arguments');
|
||||||
const generateNew = require('./generate-new');
|
const generateNew = require('./generate-new');
|
||||||
|
|
||||||
@ -78,8 +78,7 @@ module.exports = (projectDirectory, cliArguments) => {
|
|||||||
|
|
||||||
return generateNew(scope).catch(error => {
|
return generateNew(scope).catch(error => {
|
||||||
console.error(error);
|
console.error(error);
|
||||||
sentry.captureException(error);
|
return captureError(error).then(() => {
|
||||||
return sentry.flush().then(() => {
|
|
||||||
return trackError({ scope, error }).then(() => {
|
return trackError({ scope, error }).then(() => {
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -2,6 +2,17 @@
|
|||||||
|
|
||||||
const os = require('os');
|
const os = require('os');
|
||||||
const fetch = require('node-fetch');
|
const fetch = require('node-fetch');
|
||||||
|
const sentry = require('@sentry/node');
|
||||||
|
|
||||||
|
async function captureError(error) {
|
||||||
|
try {
|
||||||
|
sentry.captureException(error);
|
||||||
|
await sentry.flush();
|
||||||
|
} catch (err) {
|
||||||
|
/** ignore errors*/
|
||||||
|
return Promise.resolve();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function trackEvent(event, body) {
|
function trackEvent(event, body) {
|
||||||
try {
|
try {
|
||||||
@ -63,4 +74,5 @@ function trackUsage({ event, scope, error }) {
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
trackError,
|
trackError,
|
||||||
trackUsage,
|
trackUsage,
|
||||||
|
captureError,
|
||||||
};
|
};
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user