UNPKG

@sentry/wizard

Version:

Sentry wizard helping you to configure your project

173 lines 6.26 kB
#!/usr/bin/env node "use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const semver_1 = require("semver"); const Logging_1 = require("./lib/Helper/Logging"); const yargs_1 = __importDefault(require("yargs")); const helpers_1 = require("yargs/helpers"); const NODE_VERSION_RANGE = '>=18.20.0'; // Have to run this above the other imports because they are importing clack that // has the problematic imports. if (!(0, semver_1.satisfies)(process.version, NODE_VERSION_RANGE)) { (0, Logging_1.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); } const Constants_1 = require("./lib/Constants"); const run_1 = require("./src/run"); const version_1 = require("./src/version"); __exportStar(require("./lib/Setup"), exports); const PRESELECTED_PROJECT_OPTIONS = { 'preSelectedProject.authToken': { describe: 'Preselected project auth token', hidden: true, }, 'preSelectedProject.selfHosted': { describe: 'Preselected project is self-hosted', hidden: true, }, 'preSelectedProject.dsn': { describe: 'Preselected project DSN', hidden: true, }, 'preSelectedProject.id': { describe: 'Preselected project id', hidden: true, }, 'preSelectedProject.projectSlug': { describe: 'Preselected project slug', hidden: true, }, 'preSelectedProject.projectName': { describe: 'Preselected project name', hidden: true, }, 'preSelectedProject.orgId': { describe: 'Preselected organization id', hidden: true, }, 'preSelectedProject.orgName': { describe: 'Preselected organization name', hidden: true, }, 'preSelectedProject.orgSlug': { describe: 'Preselected organization slug', hidden: true, }, }; const xcodeProjectDirOption = { default: undefined, describe: 'Path to the project containing the Xcode project file. Only applies to the Apple wizard.', type: 'string', // This is a hidden option because it is used as an internal option hidden: true, }; // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call const argv = (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv), process.cwd()) .options({ debug: { default: false, describe: 'Enable verbose logging\nenv: SENTRY_WIZARD_DEBUG', type: 'boolean', }, uninstall: { default: false, describe: 'Revert project setup process\nenv: SENTRY_WIZARD_UNINSTALL', type: 'boolean', }, 'skip-connect': { default: false, describe: 'Skips the connection to the server\nenv: SENTRY_WIZARD_SKIP_CONNECT', type: 'boolean', }, quiet: { default: false, describe: 'Do not fallback to prompting user asking questions\nenv: SENTRY_WIZARD_QUIET', type: 'boolean', }, i: { alias: 'integration', choices: Object.keys(Constants_1.Integration), describe: 'Choose the integration to setup\nenv: SENTRY_WIZARD_INTEGRATION', }, p: { alias: 'platform', choices: Object.keys(Constants_1.Platform), describe: 'Choose platform(s)\nenv: SENTRY_WIZARD_PLATFORM', type: 'array', }, u: { alias: 'url', describe: 'The url to your Sentry installation\nenv: SENTRY_WIZARD_URL', }, project: { type: 'string', describe: 'The Sentry project slug to use', defaultDescription: 'Select project during setup', default: undefined, }, org: { type: 'string', describe: 'The Sentry org slug to use', defaultDescription: 'Select org during setup', default: undefined, }, saas: { default: false, describe: 'Skip the self-hosted or SaaS URL selection process', defaultDescription: 'Select self-hosted or SaaS during setup', type: 'boolean', }, s: { alias: 'signup', default: false, describe: 'Redirect to signup page if not logged in', type: 'boolean', }, 'disable-telemetry': { default: false, describe: "Don't send telemetry data to Sentry", type: 'boolean', }, 'promo-code': { alias: 'promo-code', describe: 'A promo code that will be applied during signup', type: 'string', }, 'force-install': { default: false, describe: 'Force install the SDK NPM package', type: 'boolean', }, 'ignore-git-changes': { default: false, describe: 'Ignore git changes in the project', type: 'boolean', }, 'xcode-project-dir': xcodeProjectDirOption, ...PRESELECTED_PROJECT_OPTIONS, }) // This prevents `yargs` from trying to read the local package.json // as it's not available in the Node Single Executable Binary artifacts versions .version(version_1.WIZARD_VERSION).argv; // @ts-expect-error - for some reason TS doesn't recognize the aliases as valid properties // meaning it only knows e.g. u but not url. Maybe a bug in this old version of yargs? // Can't upgrade yargs though without dropping support for Node 14. void (0, run_1.run)(argv); //# sourceMappingURL=bin.js.map