@sentry/wizard 3.25.1 → 3.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/bin.ts +10 -2
- package/dist/bin.js +12 -3
- package/dist/bin.js.map +1 -1
- package/dist/lib/Helper/Env.js +1 -0
- package/dist/lib/Helper/Env.js.map +1 -1
- package/dist/lib/Setup.d.ts +6 -0
- package/dist/lib/Setup.js +6 -0
- package/dist/lib/Setup.js.map +1 -1
- package/dist/lib/Steps/ChooseIntegration.js +0 -29
- package/dist/lib/Steps/ChooseIntegration.js.map +1 -1
- package/dist/lib/Steps/OpenSentry.js +1 -1
- package/dist/lib/Steps/OpenSentry.js.map +1 -1
- package/dist/package.json +2 -1
- package/dist/src/nextjs/nextjs-wizard.d.ts +1 -1
- package/dist/src/nextjs/nextjs-wizard.js +166 -84
- package/dist/src/nextjs/nextjs-wizard.js.map +1 -1
- package/dist/src/nextjs/templates.d.ts +3 -2
- package/dist/src/nextjs/templates.js +10 -8
- package/dist/src/nextjs/templates.js.map +1 -1
- package/dist/src/run.d.ts +16 -0
- package/dist/src/run.js +195 -0
- package/dist/src/run.js.map +1 -0
- package/dist/src/telemetry.js +10 -3
- package/dist/src/telemetry.js.map +1 -1
- package/dist/src/utils/clack-utils.js +35 -11
- package/dist/src/utils/clack-utils.js.map +1 -1
- package/dist/src/utils/package-json.d.ts +1 -0
- package/dist/src/utils/package-json.js.map +1 -1
- package/dist/src/utils/package-manager.d.ts +1 -1
- package/dist/src/utils/package-manager.js +5 -52
- package/dist/src/utils/package-manager.js.map +1 -1
- package/dist/test/nextjs/templates.test.js +14 -0
- package/dist/test/nextjs/templates.test.js.map +1 -1
- package/lib/Helper/Env.ts +1 -0
- package/lib/Setup.ts +6 -0
- package/lib/Steps/ChooseIntegration.ts +0 -29
- package/lib/Steps/OpenSentry.ts +1 -1
- package/package.json +2 -1
- package/src/nextjs/nextjs-wizard.ts +188 -99
- package/src/nextjs/templates.ts +19 -4
- package/src/run.ts +142 -0
- package/src/telemetry.ts +7 -1
- package/src/utils/clack-utils.ts +44 -7
- package/src/utils/package-json.ts +1 -0
- package/src/utils/package-manager.ts +5 -9
- package/test/nextjs/templates.test.ts +56 -0
- package/dist/lib/Steps/Integrations/Android.d.ts +0 -9
- package/dist/lib/Steps/Integrations/Android.js +0 -86
- package/dist/lib/Steps/Integrations/Android.js.map +0 -1
- package/dist/lib/Steps/Integrations/Apple.d.ts +0 -10
- package/dist/lib/Steps/Integrations/Apple.js +0 -92
- package/dist/lib/Steps/Integrations/Apple.js.map +0 -1
- package/dist/lib/Steps/Integrations/NextJsShim.d.ts +0 -13
- package/dist/lib/Steps/Integrations/NextJsShim.js +0 -99
- package/dist/lib/Steps/Integrations/NextJsShim.js.map +0 -1
- package/dist/lib/Steps/Integrations/ReactNative.d.ts +0 -10
- package/dist/lib/Steps/Integrations/ReactNative.js +0 -93
- package/dist/lib/Steps/Integrations/ReactNative.js.map +0 -1
- package/dist/lib/Steps/Integrations/Remix.d.ts +0 -12
- package/dist/lib/Steps/Integrations/Remix.js +0 -98
- package/dist/lib/Steps/Integrations/Remix.js.map +0 -1
- package/dist/lib/Steps/Integrations/SourceMapsShim.d.ts +0 -13
- package/dist/lib/Steps/Integrations/SourceMapsShim.js +0 -94
- package/dist/lib/Steps/Integrations/SourceMapsShim.js.map +0 -1
- package/dist/lib/Steps/Integrations/SvelteKitShim.d.ts +0 -13
- package/dist/lib/Steps/Integrations/SvelteKitShim.js +0 -99
- package/dist/lib/Steps/Integrations/SvelteKitShim.js.map +0 -1
- package/lib/Steps/Integrations/Android.ts +0 -23
- package/lib/Steps/Integrations/Apple.ts +0 -27
- package/lib/Steps/Integrations/NextJsShim.ts +0 -33
- package/lib/Steps/Integrations/ReactNative.ts +0 -28
- package/lib/Steps/Integrations/Remix.ts +0 -32
- package/lib/Steps/Integrations/SourceMapsShim.ts +0 -28
- package/lib/Steps/Integrations/SvelteKitShim.ts +0 -33
package/dist/src/run.js
ADDED
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
37
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
38
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
39
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
40
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
41
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
42
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
46
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
47
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
48
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
49
|
+
function step(op) {
|
|
50
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
51
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
52
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
53
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
54
|
+
switch (op[0]) {
|
|
55
|
+
case 0: case 1: t = op; break;
|
|
56
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
57
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
58
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
59
|
+
default:
|
|
60
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
61
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
62
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
63
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
64
|
+
if (t[2]) _.ops.pop();
|
|
65
|
+
_.trys.pop(); continue;
|
|
66
|
+
}
|
|
67
|
+
op = body.call(thisArg, _);
|
|
68
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
69
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
73
|
+
exports.run = void 0;
|
|
74
|
+
// @ts-ignore - clack is ESM and TS complains about that. It works though
|
|
75
|
+
var clack = __importStar(require("@clack/prompts"));
|
|
76
|
+
var clack_utils_1 = require("./utils/clack-utils");
|
|
77
|
+
var react_native_wizard_1 = require("./react-native/react-native-wizard");
|
|
78
|
+
var Setup_1 = require("../lib/Setup");
|
|
79
|
+
var android_wizard_1 = require("./android/android-wizard");
|
|
80
|
+
var apple_wizard_1 = require("./apple/apple-wizard");
|
|
81
|
+
var nextjs_wizard_1 = require("./nextjs/nextjs-wizard");
|
|
82
|
+
var remix_wizard_1 = require("./remix/remix-wizard");
|
|
83
|
+
var sveltekit_wizard_1 = require("./sveltekit/sveltekit-wizard");
|
|
84
|
+
var sourcemaps_wizard_1 = require("./sourcemaps/sourcemaps-wizard");
|
|
85
|
+
var Env_1 = require("../lib/Helper/Env");
|
|
86
|
+
function run(argv) {
|
|
87
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
88
|
+
var finalArgs, integration, wizardOptions, _a;
|
|
89
|
+
return __generator(this, function (_b) {
|
|
90
|
+
switch (_b.label) {
|
|
91
|
+
case 0:
|
|
92
|
+
finalArgs = __assign(__assign({}, argv), (0, Env_1.readEnvironment)());
|
|
93
|
+
integration = finalArgs.integration;
|
|
94
|
+
if (!!integration) return [3 /*break*/, 2];
|
|
95
|
+
clack.intro("Sentry Wizard ".concat(tryGetWizardVersion()));
|
|
96
|
+
return [4 /*yield*/, (0, clack_utils_1.abortIfCancelled)(clack.select({
|
|
97
|
+
message: 'What do you want to set up?',
|
|
98
|
+
options: [
|
|
99
|
+
{ value: 'reactNative', label: 'React Native' },
|
|
100
|
+
{ value: 'ios', label: 'iOS' },
|
|
101
|
+
{ value: 'android', label: 'Android' },
|
|
102
|
+
{ value: 'cordova', label: 'Cordova' },
|
|
103
|
+
{ value: 'electron', label: 'Electron' },
|
|
104
|
+
{ value: 'nextjs', label: 'NextJS' },
|
|
105
|
+
{ value: 'remix', label: 'Remix' },
|
|
106
|
+
{ value: 'sveltekit', label: 'SvelteKit' },
|
|
107
|
+
{ value: 'sourcemaps', label: 'Configure Source Maps Upload' },
|
|
108
|
+
],
|
|
109
|
+
}))];
|
|
110
|
+
case 1:
|
|
111
|
+
integration = _b.sent();
|
|
112
|
+
if (!integration) {
|
|
113
|
+
clack.log.error('No integration selected. Exiting.');
|
|
114
|
+
return [2 /*return*/];
|
|
115
|
+
}
|
|
116
|
+
clack.outro("Starting ".concat(integration, " setup"));
|
|
117
|
+
_b.label = 2;
|
|
118
|
+
case 2:
|
|
119
|
+
wizardOptions = {
|
|
120
|
+
telemetryEnabled: !argv.disableTelemetry,
|
|
121
|
+
promoCode: argv.promoCode,
|
|
122
|
+
url: argv.url,
|
|
123
|
+
};
|
|
124
|
+
_a = integration;
|
|
125
|
+
switch (_a) {
|
|
126
|
+
case 'reactNative': return [3 /*break*/, 3];
|
|
127
|
+
case 'ios': return [3 /*break*/, 5];
|
|
128
|
+
case 'android': return [3 /*break*/, 7];
|
|
129
|
+
case 'nextjs': return [3 /*break*/, 9];
|
|
130
|
+
case 'remix': return [3 /*break*/, 11];
|
|
131
|
+
case 'sveltekit': return [3 /*break*/, 13];
|
|
132
|
+
case 'sourcemaps': return [3 /*break*/, 15];
|
|
133
|
+
case 'cordova': return [3 /*break*/, 17];
|
|
134
|
+
case 'electron': return [3 /*break*/, 18];
|
|
135
|
+
}
|
|
136
|
+
return [3 /*break*/, 19];
|
|
137
|
+
case 3: return [4 /*yield*/, (0, react_native_wizard_1.runReactNativeWizard)(__assign(__assign({}, wizardOptions), { uninstall: argv.uninstall }))];
|
|
138
|
+
case 4:
|
|
139
|
+
_b.sent();
|
|
140
|
+
return [3 /*break*/, 20];
|
|
141
|
+
case 5: return [4 /*yield*/, (0, apple_wizard_1.runAppleWizard)(wizardOptions)];
|
|
142
|
+
case 6:
|
|
143
|
+
_b.sent();
|
|
144
|
+
return [3 /*break*/, 20];
|
|
145
|
+
case 7: return [4 /*yield*/, (0, android_wizard_1.runAndroidWizard)(wizardOptions)];
|
|
146
|
+
case 8:
|
|
147
|
+
_b.sent();
|
|
148
|
+
return [3 /*break*/, 20];
|
|
149
|
+
case 9: return [4 /*yield*/, (0, nextjs_wizard_1.runNextjsWizard)(wizardOptions)];
|
|
150
|
+
case 10:
|
|
151
|
+
_b.sent();
|
|
152
|
+
return [3 /*break*/, 20];
|
|
153
|
+
case 11: return [4 /*yield*/, (0, remix_wizard_1.runRemixWizard)(wizardOptions)];
|
|
154
|
+
case 12:
|
|
155
|
+
_b.sent();
|
|
156
|
+
return [3 /*break*/, 20];
|
|
157
|
+
case 13: return [4 /*yield*/, (0, sveltekit_wizard_1.runSvelteKitWizard)(wizardOptions)];
|
|
158
|
+
case 14:
|
|
159
|
+
_b.sent();
|
|
160
|
+
return [3 /*break*/, 20];
|
|
161
|
+
case 15: return [4 /*yield*/, (0, sourcemaps_wizard_1.runSourcemapsWizard)(wizardOptions)];
|
|
162
|
+
case 16:
|
|
163
|
+
_b.sent();
|
|
164
|
+
return [3 /*break*/, 20];
|
|
165
|
+
case 17:
|
|
166
|
+
argv.integration = 'cordova';
|
|
167
|
+
void (0, Setup_1.run)(argv);
|
|
168
|
+
return [3 /*break*/, 20];
|
|
169
|
+
case 18:
|
|
170
|
+
argv.integration = 'electron';
|
|
171
|
+
void (0, Setup_1.run)(argv);
|
|
172
|
+
return [3 /*break*/, 20];
|
|
173
|
+
case 19:
|
|
174
|
+
clack.log.error("No setup wizard selected!");
|
|
175
|
+
_b.label = 20;
|
|
176
|
+
case 20: return [2 /*return*/];
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
exports.run = run;
|
|
182
|
+
/**
|
|
183
|
+
* TODO: replace with rollup replace whenever we switch to rollup
|
|
184
|
+
*/
|
|
185
|
+
function tryGetWizardVersion() {
|
|
186
|
+
var _a;
|
|
187
|
+
try {
|
|
188
|
+
var wizardPkgJson = require('../package.json');
|
|
189
|
+
return (_a = wizardPkgJson.version) !== null && _a !== void 0 ? _a : '';
|
|
190
|
+
}
|
|
191
|
+
catch (_b) {
|
|
192
|
+
return '';
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
//# sourceMappingURL=run.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/run.ts"],"names":[],"mappings":"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","sourcesContent":["// @ts-ignore - clack is ESM and TS complains about that. It works though\nimport * as clack from '@clack/prompts';\nimport { abortIfCancelled } from './utils/clack-utils';\nimport { runReactNativeWizard } from './react-native/react-native-wizard';\n\nimport { run as legacyRun } from '../lib/Setup';\nimport { WizardOptions } from './utils/types';\nimport { runAndroidWizard } from './android/android-wizard';\nimport { runAppleWizard } from './apple/apple-wizard';\nimport { runNextjsWizard } from './nextjs/nextjs-wizard';\nimport { runRemixWizard } from './remix/remix-wizard';\nimport { runSvelteKitWizard } from './sveltekit/sveltekit-wizard';\nimport { runSourcemapsWizard } from './sourcemaps/sourcemaps-wizard';\nimport { readEnvironment } from '../lib/Helper/Env';\nimport { Platform } from '../lib/Constants';\nimport { PackageDotJson } from './utils/package-json';\n\ntype WizardIntegration =\n | 'reactNative'\n | 'ios'\n | 'android'\n | 'cordova'\n | 'electron'\n | 'nextjs'\n | 'remix'\n | 'sveltekit'\n | 'sourcemaps';\n\ntype Args = {\n integration?: WizardIntegration;\n\n uninstall: boolean;\n signup: boolean;\n skipConnect: boolean;\n debug: boolean;\n quiet: boolean;\n disableTelemetry: boolean;\n promoCode?: string;\n\n url?: string;\n platform?: Platform[];\n};\n\nexport async function run(argv: Args) {\n const finalArgs = {\n ...argv,\n ...readEnvironment(),\n };\n\n let integration = finalArgs.integration;\n if (!integration) {\n clack.intro(`Sentry Wizard ${tryGetWizardVersion()}`);\n\n integration = await abortIfCancelled(\n clack.select({\n message: 'What do you want to set up?',\n options: [\n { value: 'reactNative', label: 'React Native' },\n { value: 'ios', label: 'iOS' },\n { value: 'android', label: 'Android' },\n { value: 'cordova', label: 'Cordova' },\n { value: 'electron', label: 'Electron' },\n { value: 'nextjs', label: 'NextJS' },\n { value: 'remix', label: 'Remix' },\n { value: 'sveltekit', label: 'SvelteKit' },\n { value: 'sourcemaps', label: 'Configure Source Maps Upload' },\n ],\n }),\n );\n\n if (!integration) {\n clack.log.error('No integration selected. Exiting.');\n return;\n }\n\n clack.outro(`Starting ${integration} setup`);\n }\n\n const wizardOptions: WizardOptions = {\n telemetryEnabled: !argv.disableTelemetry,\n promoCode: argv.promoCode,\n url: argv.url,\n };\n\n switch (integration) {\n case 'reactNative':\n await runReactNativeWizard({\n ...wizardOptions,\n uninstall: argv.uninstall,\n });\n break;\n\n case 'ios':\n await runAppleWizard(wizardOptions);\n break;\n\n case 'android':\n await runAndroidWizard(wizardOptions);\n break;\n\n case 'nextjs':\n await runNextjsWizard(wizardOptions);\n break;\n\n case 'remix':\n await runRemixWizard(wizardOptions);\n break;\n\n case 'sveltekit':\n await runSvelteKitWizard(wizardOptions);\n break;\n\n case 'sourcemaps':\n await runSourcemapsWizard(wizardOptions);\n break;\n\n case 'cordova':\n argv.integration = 'cordova';\n void legacyRun(argv);\n break;\n\n case 'electron':\n argv.integration = 'electron';\n void legacyRun(argv);\n break;\n\n default:\n clack.log.error(`No setup wizard selected!`);\n }\n}\n\n/**\n * TODO: replace with rollup replace whenever we switch to rollup\n */\nfunction tryGetWizardVersion(): string {\n try {\n const wizardPkgJson = require('../package.json') as PackageDotJson;\n return wizardPkgJson.version ?? '';\n } catch {\n return '';\n }\n}\n"]}
|
package/dist/src/telemetry.js
CHANGED
|
@@ -55,7 +55,7 @@ function withTelemetry(options, callback) {
|
|
|
55
55
|
sentryHub.captureSession();
|
|
56
56
|
_b.label = 1;
|
|
57
57
|
case 1:
|
|
58
|
-
_b.trys.push([1, 3, 4,
|
|
58
|
+
_b.trys.push([1, 3, 4, 7]);
|
|
59
59
|
return [4 /*yield*/, (0, node_1.startSpan)({
|
|
60
60
|
name: 'sentry-wizard-execution',
|
|
61
61
|
status: 'ok',
|
|
@@ -82,11 +82,18 @@ function withTelemetry(options, callback) {
|
|
|
82
82
|
throw e_1;
|
|
83
83
|
case 4:
|
|
84
84
|
sentryHub.endSession();
|
|
85
|
-
return [4 /*yield*/, sentryClient.flush(3000)
|
|
85
|
+
return [4 /*yield*/, sentryClient.flush(3000).then(null, function () {
|
|
86
|
+
// If telemetry flushing fails we generally don't care
|
|
87
|
+
})];
|
|
86
88
|
case 5:
|
|
89
|
+
_b.sent();
|
|
90
|
+
return [4 /*yield*/, (0, node_1.flush)(3000).then(null, function () {
|
|
91
|
+
// If telemetry flushing fails we generally don't care
|
|
92
|
+
})];
|
|
93
|
+
case 6:
|
|
87
94
|
_b.sent();
|
|
88
95
|
return [7 /*endfinally*/];
|
|
89
|
-
case
|
|
96
|
+
case 7: return [2 /*return*/];
|
|
90
97
|
}
|
|
91
98
|
});
|
|
92
99
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n defaultStackParser,\n Hub,\n Integrations,\n makeMain,\n makeNodeTransport,\n NodeClient,\n runWithAsyncContext,\n setTag,\n startSpan,\n flush,\n} from '@sentry/node';\nimport packageJson from '../package.json';\n\nexport async function withTelemetry<F>(\n options: {\n enabled: boolean;\n integration: string;\n },\n callback: () => F | Promise<F>,\n): Promise<F> {\n const { sentryHub, sentryClient } = createSentryInstance(\n options.enabled,\n options.integration,\n );\n\n makeMain(sentryHub);\n\n const sentrySession = sentryHub.startSession();\n sentryHub.captureSession();\n\n try {\n return await startSpan(\n {\n name: 'sentry-wizard-execution',\n status: 'ok',\n op: 'wizard.flow',\n },\n async () => {\n updateProgress('start');\n const res = await runWithAsyncContext(callback);\n updateProgress('finished');\n\n return res;\n },\n );\n } catch (e) {\n sentryHub.captureException('Error during wizard execution.');\n sentrySession.status = 'crashed';\n throw e;\n } finally {\n sentryHub.endSession();\n await sentryClient.flush(3000).then(null, () => {\n // If telemetry flushing fails we generally don't care\n });\n await flush(3000).then(null, () => {\n // If telemetry flushing fails we generally don't care\n });\n }\n}\n\nfunction createSentryInstance(enabled: boolean, integration: string) {\n const client = new NodeClient({\n dsn: 'https://8871d3ff64814ed8960c96d1fcc98a27@o1.ingest.sentry.io/4505425820712960',\n enabled: enabled,\n\n environment: `production-${integration}`,\n\n tracesSampleRate: 1,\n sampleRate: 1,\n\n release: packageJson.version,\n integrations: [new Integrations.Http()],\n tracePropagationTargets: [/^https:\\/\\/sentry.io\\//],\n\n stackParser: defaultStackParser,\n\n beforeSendTransaction: (event) => {\n delete event.server_name; // Server name might contain PII\n return event;\n },\n\n beforeSend: (event) => {\n event.exception?.values?.forEach((exception) => {\n delete exception.stacktrace;\n });\n\n delete event.server_name; // Server name might contain PII\n return event;\n },\n\n transport: makeNodeTransport,\n\n debug: true,\n });\n\n const hub = new Hub(client);\n\n hub.setTag('integration', integration);\n hub.setTag('node', process.version);\n hub.setTag('platform', process.platform);\n\n return { sentryHub: hub, sentryClient: client };\n}\n\nexport function traceStep<T>(step: string, callback: () => T): T {\n updateProgress(step);\n return startSpan({ name: step, op: 'wizard.step' }, () => callback());\n}\n\nexport function updateProgress(step: string) {\n setTag('progress', step);\n}\n"]}
|
|
@@ -399,14 +399,28 @@ function installPackage(_a) {
|
|
|
399
399
|
_a.label = 4;
|
|
400
400
|
case 4:
|
|
401
401
|
_a.trys.push([4, 6, , 8]);
|
|
402
|
-
return [4 /*yield*/, (
|
|
402
|
+
return [4 /*yield*/, new Promise(function (resolve, reject) {
|
|
403
|
+
childProcess.exec("".concat(packageManager.installCommand, " ").concat(packageName, " ").concat(packageManager.flags), function (err, stdout, stderr) {
|
|
404
|
+
if (err) {
|
|
405
|
+
// Write a log file so we can better troubleshoot issues
|
|
406
|
+
fs.writeFileSync(path.join(process.cwd(), "sentry-wizard-installation-error-".concat(Date.now(), ".log")), JSON.stringify({
|
|
407
|
+
stdout: stdout,
|
|
408
|
+
stderr: stderr,
|
|
409
|
+
}), { encoding: 'utf8' });
|
|
410
|
+
reject(err);
|
|
411
|
+
}
|
|
412
|
+
else {
|
|
413
|
+
resolve();
|
|
414
|
+
}
|
|
415
|
+
});
|
|
416
|
+
})];
|
|
403
417
|
case 5:
|
|
404
418
|
_a.sent();
|
|
405
419
|
return [3 /*break*/, 8];
|
|
406
420
|
case 6:
|
|
407
421
|
e_1 = _a.sent();
|
|
408
422
|
sdkInstallSpinner.stop('Installation failed.');
|
|
409
|
-
clack.log.error("".concat(chalk_1.default.red('Encountered the following error during installation:'), "\n\n").concat(e_1, "\n\n").concat(chalk_1.default.dim(
|
|
423
|
+
clack.log.error("".concat(chalk_1.default.red('Encountered the following error during installation:'), "\n\n").concat(e_1, "\n\n").concat(chalk_1.default.dim("The wizard has created a `sentry-wizard-installation-error-*.log` file. If you think this issue is caused by the Sentry wizard, create an issue on GitHub and include the log file's content:\nhttps://github.com/getsentry/sentry-wizard/issues")));
|
|
410
424
|
return [4 /*yield*/, abort()];
|
|
411
425
|
case 7:
|
|
412
426
|
_a.sent();
|
|
@@ -561,21 +575,31 @@ function addDotEnvSentryBuildPluginFile(authToken) {
|
|
|
561
575
|
exports.addDotEnvSentryBuildPluginFile = addDotEnvSentryBuildPluginFile;
|
|
562
576
|
function addCliConfigFileToGitIgnore(filename) {
|
|
563
577
|
return __awaiter(this, void 0, void 0, function () {
|
|
564
|
-
var _a;
|
|
578
|
+
var gitignorePath, gitignoreContent, _a;
|
|
565
579
|
return __generator(this, function (_b) {
|
|
566
580
|
switch (_b.label) {
|
|
567
581
|
case 0:
|
|
568
|
-
|
|
569
|
-
|
|
582
|
+
gitignorePath = path.join(process.cwd(), '.gitignore');
|
|
583
|
+
_b.label = 1;
|
|
570
584
|
case 1:
|
|
585
|
+
_b.trys.push([1, 4, , 5]);
|
|
586
|
+
return [4 /*yield*/, fs.promises.readFile(gitignorePath, 'utf8')];
|
|
587
|
+
case 2:
|
|
588
|
+
gitignoreContent = _b.sent();
|
|
589
|
+
if (gitignoreContent.split(/\r?\n/).includes(filename)) {
|
|
590
|
+
clack.log.info("".concat(chalk_1.default.bold('.gitignore'), " already has ").concat(chalk_1.default.bold(filename), ". Will not add it again."));
|
|
591
|
+
return [2 /*return*/];
|
|
592
|
+
}
|
|
593
|
+
return [4 /*yield*/, fs.promises.appendFile(gitignorePath, "\n# Sentry Config File\n".concat(filename, "\n"), { encoding: 'utf8' })];
|
|
594
|
+
case 3:
|
|
571
595
|
_b.sent();
|
|
572
596
|
clack.log.success("Added ".concat(chalk_1.default.cyan(filename), " to ").concat(chalk_1.default.cyan('.gitignore'), "."));
|
|
573
|
-
return [3 /*break*/,
|
|
574
|
-
case
|
|
597
|
+
return [3 /*break*/, 5];
|
|
598
|
+
case 4:
|
|
575
599
|
_a = _b.sent();
|
|
576
600
|
clack.log.error("Failed adding ".concat(chalk_1.default.cyan(filename), " to ").concat(chalk_1.default.cyan('.gitignore'), ". Please add it manually!"));
|
|
577
|
-
return [3 /*break*/,
|
|
578
|
-
case
|
|
601
|
+
return [3 /*break*/, 5];
|
|
602
|
+
case 5: return [2 /*return*/];
|
|
579
603
|
}
|
|
580
604
|
});
|
|
581
605
|
});
|
|
@@ -817,7 +841,7 @@ function askForSelfHosted(urlFromArgs) {
|
|
|
817
841
|
}
|
|
818
842
|
}
|
|
819
843
|
catch (_c) {
|
|
820
|
-
clack.log.error(
|
|
844
|
+
clack.log.error("Please enter a valid URL. (It should look something like \"https://sentry.mydomain.com/\", got ".concat(url, ")"));
|
|
821
845
|
}
|
|
822
846
|
return [3 /*break*/, 3];
|
|
823
847
|
case 6:
|
|
@@ -882,7 +906,7 @@ function askForWizardLogin(options) {
|
|
|
882
906
|
}
|
|
883
907
|
urlToOpen = loginUrl.toString();
|
|
884
908
|
clack.log.info("".concat(chalk_1.default.bold("If the browser window didn't open automatically, please open the following link to ".concat(hasSentryAccount ? 'log' : 'sign', " into Sentry:")), "\n\n").concat(chalk_1.default.cyan(urlToOpen)));
|
|
885
|
-
opn(urlToOpen).catch(function () {
|
|
909
|
+
opn(urlToOpen, { wait: false }).catch(function () {
|
|
886
910
|
// opn throws in environments that don't have a browser (e.g. remote shells) so we just noop here
|
|
887
911
|
});
|
|
888
912
|
loginSpinner = clack.spinner();
|