@sentry/cli 2.56.0 → 2.57.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/checksums.txt +10 -10
- package/js/index.d.ts +4 -0
- package/package.json +9 -9
- package/scripts/wheels +179 -0
package/checksums.txt
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
sentry-cli-Darwin-arm64=
|
|
2
|
-
sentry-cli-Darwin-universal=
|
|
3
|
-
sentry-cli-Darwin-x86_64=
|
|
4
|
-
sentry-cli-Linux-aarch64=
|
|
5
|
-
sentry-cli-Linux-armv7=
|
|
6
|
-
sentry-cli-Linux-i686=
|
|
7
|
-
sentry-cli-Linux-x86_64=
|
|
8
|
-
sentry-cli-Windows-aarch64.exe=
|
|
9
|
-
sentry-cli-Windows-i686.exe=
|
|
10
|
-
sentry-cli-Windows-x86_64.exe=
|
|
1
|
+
sentry-cli-Darwin-arm64=7a3da0a6f4fd3805286880160e697240ef84b26794a3f13ab8b5a3a9d81308fe
|
|
2
|
+
sentry-cli-Darwin-universal=e5d890e92b5cef66b93898d2d81aad89ed9ec9a962364fd164eff0cef77ef99f
|
|
3
|
+
sentry-cli-Darwin-x86_64=d4fad9ceb5b682a6140c185845bce057122e30d251d38162d3684b9c96b63901
|
|
4
|
+
sentry-cli-Linux-aarch64=cb3ce12b59dd6cb5d516a3d3ac07b79d99544856f49ebd88b022851cbba71c2d
|
|
5
|
+
sentry-cli-Linux-armv7=7d3acba06f184069418a4fa9d24145d12669786115e51ce66b179943c0e7e6ae
|
|
6
|
+
sentry-cli-Linux-i686=76199ca9c0db562c741b5d6a63d402de1678cbf107e94d181d14e2248600d932
|
|
7
|
+
sentry-cli-Linux-x86_64=c214ddd4b3e1143018c23c040ae347ecba0ed9a0ff4826679bc21d9796e9a96a
|
|
8
|
+
sentry-cli-Windows-aarch64.exe=62e2f879c593fa8846c0a81548317ebeff877fee1fed7bd5720606693462464b
|
|
9
|
+
sentry-cli-Windows-i686.exe=1ea475d2014f4dfb658cd2b5a3bbdfa9b3d2eebba81ec784ccb80a386cf10145
|
|
10
|
+
sentry-cli-Windows-x86_64.exe=cfb6881493e41272ce2fa77fa77bbbb0b3f5360bdca684c11f393d9af00d0954
|
package/js/index.d.ts
CHANGED
|
@@ -105,6 +105,10 @@ declare module '@sentry/cli' {
|
|
|
105
105
|
* When paired with the rewrite option this will add ~ to the stripPrefix array.
|
|
106
106
|
*/
|
|
107
107
|
stripCommonPrefix?: boolean;
|
|
108
|
+
/**
|
|
109
|
+
* The projects to upload the sourcemaps to. If not provided, the sourcemaps will be uploaded to the default project.
|
|
110
|
+
*/
|
|
111
|
+
projects?: string[];
|
|
108
112
|
/**
|
|
109
113
|
* This attempts sourcemap validation before upload when rewriting is not enabled.
|
|
110
114
|
* It will spot a variety of issues with source maps and cancel the upload if any are found.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sentry/cli",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.57.0",
|
|
4
4
|
"description": "A command line utility to work with Sentry. https://docs.sentry.io/hosted/learn/cli/",
|
|
5
5
|
"repository": "git://github.com/getsentry/sentry-cli.git",
|
|
6
6
|
"homepage": "https://docs.sentry.io/hosted/learn/cli/",
|
|
@@ -32,14 +32,14 @@
|
|
|
32
32
|
"typescript": "~5.8.3"
|
|
33
33
|
},
|
|
34
34
|
"optionalDependencies": {
|
|
35
|
-
"@sentry/cli-darwin": "2.
|
|
36
|
-
"@sentry/cli-linux-arm": "2.
|
|
37
|
-
"@sentry/cli-linux-arm64": "2.
|
|
38
|
-
"@sentry/cli-linux-i686": "2.
|
|
39
|
-
"@sentry/cli-linux-x64": "2.
|
|
40
|
-
"@sentry/cli-win32-i686": "2.
|
|
41
|
-
"@sentry/cli-win32-x64": "2.
|
|
42
|
-
"@sentry/cli-win32-arm64": "2.
|
|
35
|
+
"@sentry/cli-darwin": "2.57.0",
|
|
36
|
+
"@sentry/cli-linux-arm": "2.57.0",
|
|
37
|
+
"@sentry/cli-linux-arm64": "2.57.0",
|
|
38
|
+
"@sentry/cli-linux-i686": "2.57.0",
|
|
39
|
+
"@sentry/cli-linux-x64": "2.57.0",
|
|
40
|
+
"@sentry/cli-win32-i686": "2.57.0",
|
|
41
|
+
"@sentry/cli-win32-x64": "2.57.0",
|
|
42
|
+
"@sentry/cli-win32-arm64": "2.57.0"
|
|
43
43
|
},
|
|
44
44
|
"scripts": {
|
|
45
45
|
"postinstall": "node ./scripts/install.js",
|
package/scripts/wheels
ADDED
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
import argparse
|
|
3
|
+
import base64
|
|
4
|
+
import hashlib
|
|
5
|
+
import os.path
|
|
6
|
+
import shutil
|
|
7
|
+
import tempfile
|
|
8
|
+
import zipfile
|
|
9
|
+
from typing import NamedTuple
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class Wheel(NamedTuple):
|
|
13
|
+
src: str
|
|
14
|
+
plat: str
|
|
15
|
+
exe: str = 'sentry-cli'
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
WHEELS = (
|
|
19
|
+
Wheel(
|
|
20
|
+
src='sentry-cli-Darwin-arm64',
|
|
21
|
+
plat='macosx_11_0_arm64',
|
|
22
|
+
),
|
|
23
|
+
Wheel(
|
|
24
|
+
src='sentry-cli-Darwin-universal',
|
|
25
|
+
plat='macosx_11_0_universal2',
|
|
26
|
+
),
|
|
27
|
+
Wheel(
|
|
28
|
+
src='sentry-cli-Darwin-x86_64',
|
|
29
|
+
plat='macosx_10_15_x86_64',
|
|
30
|
+
),
|
|
31
|
+
Wheel(
|
|
32
|
+
src='sentry-cli-Linux-aarch64',
|
|
33
|
+
plat='manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_2_aarch64',
|
|
34
|
+
),
|
|
35
|
+
Wheel(
|
|
36
|
+
src='sentry-cli-Linux-armv7',
|
|
37
|
+
plat='manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_2_armv7l',
|
|
38
|
+
),
|
|
39
|
+
Wheel(
|
|
40
|
+
src='sentry-cli-Linux-i686',
|
|
41
|
+
plat='manylinux_2_17_i686.manylinux2014_i686.musllinux_1_2_i686',
|
|
42
|
+
),
|
|
43
|
+
Wheel(
|
|
44
|
+
src='sentry-cli-Linux-x86_64',
|
|
45
|
+
plat='manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_2_x86_64',
|
|
46
|
+
),
|
|
47
|
+
Wheel(
|
|
48
|
+
src='sentry-cli-Windows-i686.exe',
|
|
49
|
+
plat='win32',
|
|
50
|
+
exe='sentry-cli.exe',
|
|
51
|
+
),
|
|
52
|
+
Wheel(
|
|
53
|
+
src='sentry-cli-Windows-x86_64.exe',
|
|
54
|
+
plat='win_amd64',
|
|
55
|
+
exe='sentry-cli.exe',
|
|
56
|
+
),
|
|
57
|
+
Wheel(
|
|
58
|
+
src='sentry-cli-Windows-aarch64.exe',
|
|
59
|
+
plat='win_arm64',
|
|
60
|
+
exe='sentry-cli.exe',
|
|
61
|
+
),
|
|
62
|
+
)
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
def main() -> int:
|
|
66
|
+
parser = argparse.ArgumentParser()
|
|
67
|
+
parser.add_argument('--binaries', required=True)
|
|
68
|
+
parser.add_argument('--base', required=True)
|
|
69
|
+
parser.add_argument('--dest', required=True)
|
|
70
|
+
args = parser.parse_args()
|
|
71
|
+
|
|
72
|
+
expected = {wheel.src for wheel in WHEELS}
|
|
73
|
+
received = set(os.listdir(args.binaries))
|
|
74
|
+
if expected < received:
|
|
75
|
+
raise SystemExit(
|
|
76
|
+
f'Unexpected binaries:\n\n'
|
|
77
|
+
f'- extra: {", ".join(sorted(received - expected))}\n'
|
|
78
|
+
f'- missing: {", ".join(sorted(expected - received))}'
|
|
79
|
+
)
|
|
80
|
+
|
|
81
|
+
sdist_path = wheel_path = None
|
|
82
|
+
for fname in os.listdir(args.base):
|
|
83
|
+
if fname.endswith('.tar.gz'):
|
|
84
|
+
sdist_path = os.path.join(args.base, fname)
|
|
85
|
+
elif fname.endswith('.whl'):
|
|
86
|
+
wheel_path = os.path.join(args.base, fname)
|
|
87
|
+
else:
|
|
88
|
+
raise SystemExit(f'unexpected file in `--base`: {fname}')
|
|
89
|
+
|
|
90
|
+
if sdist_path is None or wheel_path is None:
|
|
91
|
+
raise SystemExit('expected wheel and sdist in `--base`')
|
|
92
|
+
|
|
93
|
+
os.makedirs(args.dest, exist_ok=True)
|
|
94
|
+
shutil.copy(sdist_path, args.dest)
|
|
95
|
+
|
|
96
|
+
for wheel in WHEELS:
|
|
97
|
+
binary_src = os.path.join(args.binaries, wheel.src)
|
|
98
|
+
binary_size = os.stat(binary_src).st_size
|
|
99
|
+
with open(binary_src, 'rb') as bf:
|
|
100
|
+
digest = hashlib.sha256(bf.read()).digest()
|
|
101
|
+
digest_b64 = base64.urlsafe_b64encode(digest).rstrip(b'=').decode()
|
|
102
|
+
|
|
103
|
+
basename = os.path.basename(wheel_path)
|
|
104
|
+
wheelname, _ = os.path.splitext(basename)
|
|
105
|
+
name, version, py, abi, plat = wheelname.split('-')
|
|
106
|
+
|
|
107
|
+
with tempfile.TemporaryDirectory() as tmp:
|
|
108
|
+
with zipfile.ZipFile(wheel_path) as zipf:
|
|
109
|
+
zipf.extractall(tmp)
|
|
110
|
+
|
|
111
|
+
distinfo = os.path.join(tmp, f'{name}-{version}.dist-info')
|
|
112
|
+
scripts = os.path.join(tmp, f'{name}-{version}.data', 'scripts')
|
|
113
|
+
|
|
114
|
+
# replace the script binary with our copy
|
|
115
|
+
os.remove(os.path.join(scripts, 'sentry-cli'))
|
|
116
|
+
shutil.copy(binary_src, os.path.join(scripts, wheel.exe))
|
|
117
|
+
|
|
118
|
+
# rewrite RECORD to include the new file
|
|
119
|
+
record_fname = os.path.join(distinfo, 'RECORD')
|
|
120
|
+
with open(record_fname) as f:
|
|
121
|
+
record_lines = list(f)
|
|
122
|
+
|
|
123
|
+
record = f'{name}-{version}.data/scripts/sentry-cli,'
|
|
124
|
+
for i, line in enumerate(record_lines):
|
|
125
|
+
if line.startswith(record):
|
|
126
|
+
record_lines[i] = (
|
|
127
|
+
f'{name}-{version}.data/scripts/{wheel.exe},'
|
|
128
|
+
f'sha256={digest_b64},'
|
|
129
|
+
f'{binary_size}\n'
|
|
130
|
+
)
|
|
131
|
+
break
|
|
132
|
+
else:
|
|
133
|
+
raise SystemExit(f'could not find {record!r} in RECORD')
|
|
134
|
+
|
|
135
|
+
with open(record_fname, 'w') as f:
|
|
136
|
+
f.writelines(record_lines)
|
|
137
|
+
|
|
138
|
+
# rewrite WHEEL to have the new tags
|
|
139
|
+
wheel_fname = os.path.join(distinfo, 'WHEEL')
|
|
140
|
+
with open(wheel_fname) as f:
|
|
141
|
+
wheel_lines = list(f)
|
|
142
|
+
|
|
143
|
+
for i, line in enumerate(wheel_lines):
|
|
144
|
+
if line.startswith('Tag: '):
|
|
145
|
+
wheel_lines[i:i + 1] = [
|
|
146
|
+
f'Tag: {py}-{abi}-{plat}\n'
|
|
147
|
+
for plat in wheel.plat.split('.')
|
|
148
|
+
]
|
|
149
|
+
break
|
|
150
|
+
else:
|
|
151
|
+
raise SystemExit("could not find 'Tag: ' in WHEEL")
|
|
152
|
+
|
|
153
|
+
with open(wheel_fname, 'w') as f:
|
|
154
|
+
f.writelines(wheel_lines)
|
|
155
|
+
|
|
156
|
+
# write out the final zip
|
|
157
|
+
new_basename = f'{name}-{version}-{py}-{abi}-{wheel.plat}.whl'
|
|
158
|
+
tmp_new_wheel = os.path.join(tmp, new_basename)
|
|
159
|
+
fnames = sorted(
|
|
160
|
+
os.path.join(root, fname)
|
|
161
|
+
for root, _, fnames in os.walk(tmp)
|
|
162
|
+
for fname in fnames
|
|
163
|
+
)
|
|
164
|
+
with zipfile.ZipFile(tmp_new_wheel, 'w') as zipf:
|
|
165
|
+
for fname in fnames:
|
|
166
|
+
zinfo = zipfile.ZipInfo(os.path.relpath(fname, tmp))
|
|
167
|
+
if '/scripts/' in zinfo.filename:
|
|
168
|
+
zinfo.external_attr = 0o100755 << 16
|
|
169
|
+
with open(fname, 'rb') as fb:
|
|
170
|
+
zipf.writestr(zinfo, fb.read())
|
|
171
|
+
|
|
172
|
+
# move into dest
|
|
173
|
+
shutil.move(tmp_new_wheel, args.dest)
|
|
174
|
+
|
|
175
|
+
return 0
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
if __name__ == '__main__':
|
|
179
|
+
raise SystemExit(main())
|