@sentry/wizard
Version:
Sentry wizard helping you to configure your project
132 lines • 8.66 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const wrangler_1 = require("../../../src/sourcemaps/tools/wrangler");
const vitest_1 = require("vitest");
(0, vitest_1.describe)('getSentryCliCommand', () => {
(0, vitest_1.it)('returns correct command for SaaS', () => {
const command = (0, wrangler_1.getSentryCliCommand)({
selfHosted: false,
orgSlug: 'myOrg',
projectSlug: 'myProject',
url: 'https://sentry.io',
authToken: '_ignore',
outDir: 'dist',
});
(0, vitest_1.expect)(command).toBe("_SENTRY_RELEASE=$(sentry-cli releases propose-version) && sentry-cli releases new $_SENTRY_RELEASE --org=myOrg --project=myProject && sentry-cli sourcemaps upload --org=myOrg --project=myProject --release=$_SENTRY_RELEASE --strip-prefix 'dist/..' dist");
});
(0, vitest_1.it)('returns correct command for self-hosted', () => {
const command = (0, wrangler_1.getSentryCliCommand)({
selfHosted: true,
orgSlug: 'myOrg',
projectSlug: 'myProject',
url: 'https://santry.io',
authToken: '_ignore',
outDir: 'someplace',
});
(0, vitest_1.expect)(command).toBe("_SENTRY_RELEASE=$(sentry-cli releases propose-version) && sentry-cli --url https://santry.io releases new $_SENTRY_RELEASE --org=myOrg --project=myProject && sentry-cli --url https://santry.io sourcemaps upload --org=myOrg --project=myProject --release=$_SENTRY_RELEASE --strip-prefix 'someplace/..' someplace");
});
});
(0, vitest_1.describe)('safeInsertArgsToWranglerDeployCommand', () => {
(0, vitest_1.it)('correctly inserts args into default command', () => {
const newCommand = (0, wrangler_1.safeInsertArgsToWranglerDeployCommand)('wrangler deploy', 'dist');
(0, vitest_1.expect)(newCommand).toBe('wrangler deploy --outdir dist --upload-source-maps --var SENTRY_RELEASE:$(sentry-cli releases propose-version)');
});
vitest_1.it.each([
'--outdir someplace',
'--outdir=someplace',
'--outdir="./someplace"',
])('retains existing %s arg', (arg) => {
const newCommand = (0, wrangler_1.safeInsertArgsToWranglerDeployCommand)(`wrangler deploy ${arg}`, 'dist');
(0, vitest_1.expect)(newCommand).toBe(`wrangler deploy ${arg} --upload-source-maps --var SENTRY_RELEASE:$(sentry-cli releases propose-version)`);
});
vitest_1.it.each([
'--upload-source-maps',
'--upload-source-maps=true',
'--upload-source-maps true',
'--upload-source-maps=false',
'--upload-source-maps false',
])('retains existing %s arg', (arg) => {
const newCommand = (0, wrangler_1.safeInsertArgsToWranglerDeployCommand)(`wrangler deploy ${arg}`, 'dist');
(0, vitest_1.expect)(newCommand).toBe(`wrangler deploy ${arg} --outdir dist --var SENTRY_RELEASE:$(sentry-cli releases propose-version)`);
});
(0, vitest_1.it)('appends to the "wrangler deploy" command', () => {
const newCommand = (0, wrangler_1.safeInsertArgsToWranglerDeployCommand)('precheck && wrangler deploy --outdir dist --upload-source-maps --var SOMEVAR:someValue && postcheck', 'dist');
(0, vitest_1.expect)(newCommand).toBe('precheck && wrangler deploy --outdir dist --upload-source-maps --var SOMEVAR:someValue --var SENTRY_RELEASE:$(sentry-cli releases propose-version) && postcheck');
});
(0, vitest_1.it)('handles multiple wrangler commands', () => {
const newCommand = (0, wrangler_1.safeInsertArgsToWranglerDeployCommand)('wrangler whoami && wrangler deploy --outdir dist --upload-source-maps --var SOMEVAR:someValue && wrangler someothercommand', 'dist');
(0, vitest_1.expect)(newCommand).toBe('wrangler whoami && wrangler deploy --outdir dist --upload-source-maps --var SOMEVAR:someValue --var SENTRY_RELEASE:$(sentry-cli releases propose-version) && wrangler someothercommand');
});
(0, vitest_1.it)('handles wrangler deploy command with global args', () => {
const newCommand = (0, wrangler_1.safeInsertArgsToWranglerDeployCommand)('wrangler --version --env production deploy --outdir someplace', 'dist');
(0, vitest_1.expect)(newCommand).toBe('wrangler --version --env production deploy --outdir someplace --upload-source-maps --var SENTRY_RELEASE:$(sentry-cli releases propose-version)');
});
(0, vitest_1.it)('handles multiple commands and wrangler deploy command with global args', () => {
const newCommand = (0, wrangler_1.safeInsertArgsToWranglerDeployCommand)('notwrangler --version deploy && wrangler --version --env whoami && wrangler --version --env production deploy --outdir someplace', 'dist');
(0, vitest_1.expect)(newCommand).toBe('notwrangler --version deploy && wrangler --version --env whoami && wrangler --version --env production deploy --outdir someplace --upload-source-maps --var SENTRY_RELEASE:$(sentry-cli releases propose-version)');
});
vitest_1.it.each([
'notwrangler deploy',
'wrangler dev',
'wrangler dev && notwrangler deploy',
'wrangler dev ; notwrangler deploy',
'wrangler dev; notwrangler deploy',
'wrangler dev ;notwrangler deploy',
'wrangler --env dev dev && notwrangler deploy',
'some completely different command',
])('returns undefined if deploy command is not found', (command) => {
const newCommand = (0, wrangler_1.safeInsertArgsToWranglerDeployCommand)(command, 'dist');
(0, vitest_1.expect)(newCommand).toBeUndefined();
});
});
(0, vitest_1.describe)('findOutDir', () => {
(0, vitest_1.it)('returns dist dir if no outdir arg is found', () => {
const outDir = (0, wrangler_1.findOutDir)('wrangler deploy');
(0, vitest_1.expect)(outDir).toBe(wrangler_1.DIST_DIR);
});
(0, vitest_1.it)('returns outdir arg if it is found', () => {
const outDir = (0, wrangler_1.findOutDir)('wrangler deploy --outdir someplace');
(0, vitest_1.expect)(outDir).toBe('someplace');
});
(0, vitest_1.it)('handles --outdir "./someplace"', () => {
const outDir = (0, wrangler_1.findOutDir)('wrangler deploy --outdir "./someplace"');
(0, vitest_1.expect)(outDir).toBe('./someplace');
});
(0, vitest_1.it)('handles --outdir=someplace', () => {
const outDir = (0, wrangler_1.findOutDir)('wrangler deploy --outdir=someplace');
(0, vitest_1.expect)(outDir).toBe('someplace');
});
(0, vitest_1.it)("handles --outdir='./someplace'", () => {
const outDir = (0, wrangler_1.findOutDir)('wrangler deploy --outdir="./someplace"');
(0, vitest_1.expect)(outDir).toBe('./someplace');
});
(0, vitest_1.it)('returns dist dir if deploy command is not found', () => {
const outDir = (0, wrangler_1.findOutDir)('wrangler --environment testing dev --outdir someplace');
(0, vitest_1.expect)(outDir).toBe(wrangler_1.DIST_DIR);
});
});
(0, vitest_1.describe)('getWranglerDeployCommand', () => {
(0, vitest_1.it)('returns the deploy command', () => {
const deployCommand = (0, wrangler_1.getWranglerDeployCommand)('wrangler deploy --outdir someplace');
(0, vitest_1.expect)(deployCommand).toBe('wrangler deploy --outdir someplace');
});
(0, vitest_1.it)('returns undefined if deploy command is not found', () => {
const deployCommand = (0, wrangler_1.getWranglerDeployCommand)('wrangler --environment testing dev --outdir someplace');
(0, vitest_1.expect)(deployCommand).toBeUndefined();
});
vitest_1.it.each([
'wrangler deploy --outdir someplace && some other command',
'wrangler deploy --outdir someplace || some other command',
'wrangler deploy --outdir someplace ; some other command',
'wrangler deploy --outdir someplace && some other command || some other command',
'yarn precheck && wrangler deploy --outdir someplace && some other command',
'yarn precheck || wrangler deploy --outdir someplace && some other command',
'npm run test; wrangler deploy --outdir someplace && some other command',
'npm run test; wrangler version > text && wrangler deploy --outdir someplace && some other command',
'wrangler deploy --outdir someplace > deployment.txt',
])('returns the deploy command for `%s`', (command) => {
const deployCommand = (0, wrangler_1.getWranglerDeployCommand)(command)?.trim();
(0, vitest_1.expect)(deployCommand).toBe('wrangler deploy --outdir someplace');
});
});
//# sourceMappingURL=wrangler.test.js.map