Skip to content

Commit d2a5d82

Browse files
Update Sentry CLI commands to use new sourcemaps upload syntax
Co-authored-by: daniel.szoke <daniel.szoke@sentry.io>
1 parent 2d98b7b commit d2a5d82

File tree

5 files changed

+7888
-785
lines changed

5 files changed

+7888
-785
lines changed

js/__tests__/helper.test.js

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -48,27 +48,27 @@ describe('SentryCli helper', () => {
4848

4949
describe('`prepare` command', () => {
5050
test('call prepare command add default ignore', () => {
51-
const command = ['releases', 'files', 'release', 'upload-sourcemaps', '/dev/null'];
51+
const command = ['sourcemaps', 'upload', '--release', 'release', '/dev/null'];
5252

5353
expect(helper.prepareCommand(command)).toEqual([
54-
'releases',
55-
'files',
54+
'sourcemaps',
55+
'upload',
56+
'--release',
5657
'release',
57-
'upload-sourcemaps',
5858
'/dev/null',
5959
]);
6060
});
6161

6262
test('call prepare command with array option', () => {
63-
const command = ['releases', 'files', 'release', 'upload-sourcemaps', '/dev/null'];
63+
const command = ['sourcemaps', 'upload', '--release', 'release', '/dev/null'];
6464

6565
expect(
6666
helper.prepareCommand(command, SOURCEMAPS_OPTIONS, { stripPrefix: ['node', 'app'] })
6767
).toEqual([
68-
'releases',
69-
'files',
68+
'sourcemaps',
69+
'upload',
70+
'--release',
7071
'release',
71-
'upload-sourcemaps',
7272
'/dev/null',
7373
'--strip-prefix',
7474
'node',
@@ -83,30 +83,30 @@ describe('SentryCli helper', () => {
8383
});
8484

8585
test('call prepare command with boolean option', () => {
86-
const command = ['releases', 'files', 'release', 'upload-sourcemaps', '/dev/null'];
86+
const command = ['sourcemaps', 'upload', '--release', 'release', '/dev/null'];
8787

8888
expect(
8989
helper.prepareCommand(command, SOURCEMAPS_OPTIONS, { sourceMapReference: false })
9090
).toEqual([
91-
'releases',
92-
'files',
91+
'sourcemaps',
92+
'upload',
93+
'--release',
9394
'release',
94-
'upload-sourcemaps',
9595
'/dev/null',
9696
'--no-sourcemap-reference',
9797
]);
9898

9999
expect(
100100
helper.prepareCommand(command, SOURCEMAPS_OPTIONS, { sourceMapReference: true })
101-
).toEqual(['releases', 'files', 'release', 'upload-sourcemaps', '/dev/null']);
101+
).toEqual(['sourcemaps', 'upload', '--release', 'release', '/dev/null']);
102102

103103
expect(
104104
helper.prepareCommand(command, SOURCEMAPS_OPTIONS, { decompress: true, rewrite: true })
105105
).toEqual([
106-
'releases',
107-
'files',
106+
'sourcemaps',
107+
'upload',
108+
'--release',
108109
'release',
109-
'upload-sourcemaps',
110110
'/dev/null',
111111
'--decompress',
112112
'--rewrite',
@@ -115,21 +115,21 @@ describe('SentryCli helper', () => {
115115
expect(
116116
helper.prepareCommand(command, SOURCEMAPS_OPTIONS, { rewrite: false, dedupe: false })
117117
).toEqual([
118-
'releases',
119-
'files',
118+
'sourcemaps',
119+
'upload',
120+
'--release',
120121
'release',
121-
'upload-sourcemaps',
122122
'/dev/null',
123123
'--no-rewrite',
124124
'--no-dedupe',
125125
]);
126126

127127
// Only `invertedParam` registered for `dedupe` in `uploadSourcemaps`, so it should not add anything for positive boolean.
128128
expect(helper.prepareCommand(command, SOURCEMAPS_OPTIONS, { dedupe: true })).toEqual([
129-
'releases',
130-
'files',
129+
'sourcemaps',
130+
'upload',
131+
'--release',
131132
'release',
132-
'upload-sourcemaps',
133133
'/dev/null',
134134
]);
135135

@@ -139,23 +139,23 @@ describe('SentryCli helper', () => {
139139
});
140140

141141
test('call prepare command with string option', () => {
142-
const command = ['releases', 'files', 'release', 'upload-sourcemaps', '/dev/null'];
142+
const command = ['sourcemaps', 'upload', '--release', 'release', '/dev/null'];
143143

144144
expect(helper.prepareCommand(command, SOURCEMAPS_OPTIONS, { ext: ['js'] })).toEqual([
145-
'releases',
146-
'files',
145+
'sourcemaps',
146+
'upload',
147+
'--release',
147148
'release',
148-
'upload-sourcemaps',
149149
'/dev/null',
150150
'--ext',
151151
'js',
152152
]);
153153

154154
expect(helper.prepareCommand(command, SOURCEMAPS_OPTIONS, { urlPrefix: '~/' })).toEqual([
155-
'releases',
156-
'files',
155+
'sourcemaps',
156+
'upload',
157+
'--release',
157158
'release',
158-
'upload-sourcemaps',
159159
'/dev/null',
160160
'--url-prefix',
161161
'~/',
@@ -164,31 +164,31 @@ describe('SentryCli helper', () => {
164164
expect(
165165
helper.prepareCommand(command, SOURCEMAPS_OPTIONS, { urlSuffix: '?hash=1337' })
166166
).toEqual([
167-
'releases',
168-
'files',
167+
'sourcemaps',
168+
'upload',
169+
'--release',
169170
'release',
170-
'upload-sourcemaps',
171171
'/dev/null',
172172
'--url-suffix',
173173
'?hash=1337',
174174
]);
175175

176176
expect(helper.prepareCommand(command, SOURCEMAPS_OPTIONS, { decompress: true })).toEqual([
177-
'releases',
178-
'files',
177+
'sourcemaps',
178+
'upload',
179+
'--release',
179180
'release',
180-
'upload-sourcemaps',
181181
'/dev/null',
182182
'--decompress',
183183
]);
184184

185185
expect(
186186
helper.prepareCommand(command, SOURCEMAPS_OPTIONS, { ignoreFile: '/js.ignore' })
187187
).toEqual([
188-
'releases',
189-
'files',
188+
'sourcemaps',
189+
'upload',
190+
'--release',
190191
'release',
191-
'upload-sourcemaps',
192192
'/dev/null',
193193
'--ignore-file',
194194
'/js.ignore',

js/releases/__tests__/index.test.js

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,10 @@ describe('SentryCli releases', () => {
5353
await cli.releases.uploadSourceMaps('my-version', { include: ['path'] });
5454
expect(mockExecute).toHaveBeenCalledWith(
5555
[
56-
'releases',
57-
'files',
56+
'sourcemaps',
57+
'upload',
58+
'--release',
5859
'my-version',
59-
'upload-sourcemaps',
6060
'path',
6161
'--ignore',
6262
'node_modules',
@@ -74,14 +74,14 @@ describe('SentryCli releases', () => {
7474
});
7575
expect(mockExecute).toHaveBeenCalledWith(
7676
[
77-
'releases',
77+
'sourcemaps',
78+
'upload',
7879
'-p',
7980
'proj-a',
8081
'-p',
8182
'proj-b',
82-
'files',
83+
'--release',
8384
'my-version',
84-
'upload-sourcemaps',
8585
'path',
8686
'--ignore',
8787
'node_modules',
@@ -103,10 +103,10 @@ describe('SentryCli releases', () => {
103103
paths.forEach(path =>
104104
expect(mockExecute).toHaveBeenCalledWith(
105105
[
106-
'releases',
107-
'files',
106+
'sourcemaps',
107+
'upload',
108+
'--release',
108109
'my-version',
109-
'upload-sourcemaps',
110110
path,
111111
'--ignore',
112112
'node_modules',
@@ -129,10 +129,10 @@ describe('SentryCli releases', () => {
129129

130130
expect(mockExecute).toHaveBeenCalledWith(
131131
[
132-
'releases',
133-
'files',
132+
'sourcemaps',
133+
'upload',
134+
'--release',
134135
'my-version',
135-
'upload-sourcemaps',
136136
'some-path',
137137
'--ignore',
138138
'not-me', // note how this has been overridden
@@ -145,10 +145,10 @@ describe('SentryCli releases', () => {
145145

146146
expect(mockExecute).toHaveBeenCalledWith(
147147
[
148-
'releases',
149-
'files',
148+
'sourcemaps',
149+
'upload',
150+
'--release',
150151
'my-version',
151-
'upload-sourcemaps',
152152
'other-path',
153153
'--ignore',
154154
'node_modules',
@@ -164,10 +164,10 @@ describe('SentryCli releases', () => {
164164
await cli.releases.uploadSourceMaps('my-version', { include: ['path'], live });
165165
expect(mockExecute).toHaveBeenCalledWith(
166166
[
167-
'releases',
168-
'files',
167+
'sourcemaps',
168+
'upload',
169+
'--release',
169170
'my-version',
170-
'upload-sourcemaps',
171171
'path',
172172
'--ignore',
173173
'node_modules',

js/releases/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -194,9 +194,9 @@ class Releases {
194194
}
195195

196196
// args which apply to the entire `include` entry (everything besides the path)
197-
const args = ['releases']
197+
const args = ['sourcemaps', 'upload']
198198
.concat(helper.getProjectFlagsFromOptions(options))
199-
.concat(['files', release, 'upload-sourcemaps']);
199+
.concat(['--release', release]);
200200

201201
return uploadPaths.map((path) =>
202202
// `execute()` is async and thus we're returning a promise here

0 commit comments

Comments
 (0)