forked from getsentry/sentry-wizard
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbin.ts
75 lines (70 loc) · 2.21 KB
/
bin.ts
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#!/usr/bin/env node
import { satisfies } from 'semver';
import { red } from './lib/Helper/Logging';
const NODE_VERSION_RANGE = '>=14.18.0';
// Have to run this above the other imports because they are importing clack that
// has the problematic imports.
if (!satisfies(process.version, NODE_VERSION_RANGE)) {
red(
`Sentry wizard requires Node.js ${NODE_VERSION_RANGE}. You are using Node.js ${process.version}. Please upgrade your Node.js version.`,
);
process.exit(1);
}
import { Integration, Platform } from './lib/Constants';
import { run } from './lib/Setup';
export * from './lib/Setup';
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call
const argv = require('yargs')
.option('debug', {
default: false,
describe: 'Enable verbose logging\nenv: SENTRY_WIZARD_DEBUG',
type: 'boolean',
})
.option('uninstall', {
default: false,
describe: 'Revert project setup process\nenv: SENTRY_WIZARD_UNINSTALL',
type: 'boolean',
})
.option('skip-connect', {
default: false,
describe:
'Skips the connection to the server\nenv: SENTRY_WIZARD_SKIP_CONNECT',
type: 'boolean',
})
.option('quiet', {
default: false,
describe:
'Do not fallback to prompting user asking questions\nenv: SENTRY_WIZARD_QUIET',
type: 'boolean',
})
.option('i', {
alias: 'integration',
choices: Object.keys(Integration),
describe: 'Choose the integration to setup\nenv: SENTRY_WIZARD_INTEGRATION',
})
.option('p', {
alias: 'platform',
choices: Object.keys(Platform),
describe: 'Choose platform(s)\nenv: SENTRY_WIZARD_PLATFORM',
type: 'array',
})
.option('u', {
alias: 'url',
describe: 'The url to your Sentry installation\nenv: SENTRY_WIZARD_URL',
})
.option('s', {
alias: 'signup',
default: false,
describe: 'Redirect to signup page if not logged in',
type: 'boolean',
})
.option('disable-telemetry', {
default: false,
describe: "Don't send telemetry data to Sentry",
type: 'boolean',
})
.option('promo-code', {
alias: 'promo-code',
describe: 'A promo code that will be applied during signup',
}).argv;
void run(argv);