Skip to content

Commit 6343997

Browse files
committed
Add urlPrefix option
1 parent 3693a8a commit 6343997

File tree

3 files changed

+19
-3
lines changed

3 files changed

+19
-3
lines changed

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ Add plugin config to your `config/deploy.js`:
3434
'sentry-cli': {
3535
appName: 'sentry-app-name',
3636
orgName: 'sentry-org-name',
37-
authToken: process.env.SENTRY_AUTH_TOKEN
37+
authToken: process.env.SENTRY_AUTH_TOKEN,
38+
urlPrefix: '', // if you need prefix for Sentry to catch like ~/assets
3839
// url: 'https://your-custom-sentry-server.test/` // in case of self-hosted server
3940
}
4041
}

index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ module.exports = {
3333
didPrepare() {
3434
const releaseName = `${this.readConfig('appName')}@${this.readConfig('revisionKey')}`;
3535
const assetsDir = this.readConfig('assetsDir');
36+
const urlPrefix = this.readConfig('urlPrefix') ? `--url-prefix ${this.readConfig('urlPrefix')}` : '';
3637

3738
this.log('SENTRY: Creating release...');
3839
this.sentryCliExec('releases', `new ${releaseName}`);
@@ -41,7 +42,7 @@ module.exports = {
4142
this.sentryCliExec('releases', `set-commits --auto ${releaseName}`);
4243

4344
this.log('SENTRY: Uploading source maps...');
44-
this.sentryCliExec('releases', `files ${releaseName} upload-sourcemaps --rewrite ${assetsDir}`);
45+
this.sentryCliExec('releases', `files ${releaseName} upload-sourcemaps --rewrite ${assetsDir} ${urlPrefix}`);
4546

4647
this.log('SENTRY: Finalizing release...');
4748
this.sentryCliExec('releases', `finalize ${releaseName}`);

tests/unit/index-nodetest.js

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,21 @@ describe('sentry-cli', function() {
183183
plugin.didPrepare();
184184

185185
this.sinon.assert.calledWithExactly(stub,
186-
`${path.join('node_modules', '.bin', 'sentry-cli')} --auth-token my-auth-token releases --org my-org --project my-project files my-project@v1.0.0@1234567 upload-sourcemaps --rewrite ${path.join('my-dest-dir', 'assets')}`);
186+
`${path.join('node_modules', '.bin', 'sentry-cli')} --auth-token my-auth-token releases --org my-org --project my-project files my-project@v1.0.0@1234567 upload-sourcemaps --rewrite ${path.join('my-dest-dir', 'assets')} `);
187+
});
188+
189+
it('uploads source maps with --url-prefix', function() {
190+
const plugin = Plugin.createDeployPlugin({ name: 'sentry-cli' });
191+
const stub = this.sinon.stub(plugin, '_exec');
192+
193+
this.context.config['sentry-cli'].urlPrefix = '~/assets';
194+
195+
plugin.beforeHook(this.context);
196+
plugin.configure(this.context);
197+
plugin.didPrepare();
198+
199+
this.sinon.assert.calledWithExactly(stub,
200+
`${path.join('node_modules', '.bin', 'sentry-cli')} --auth-token my-auth-token releases --org my-org --project my-project files my-project@v1.0.0@1234567 upload-sourcemaps --rewrite ${path.join('my-dest-dir', 'assets')} --url-prefix ~/assets`);
187201
});
188202

189203
it('saves release', function() {

0 commit comments

Comments
 (0)