luciq-cli 0.1.0 → 0.2.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +17 -0
- data/README.md +212 -4
- data/lib/luciq/api/client.rb +159 -10
- data/lib/luciq/cli.rb +46 -17
- data/lib/luciq/commands/query.rb +228 -0
- data/lib/luciq/commands/query_arguments.rb +166 -0
- data/lib/luciq/commands/upload.rb +167 -12
- data/lib/luciq/config.rb +2 -1
- data/lib/luciq/query_cli.rb +579 -0
- data/lib/luciq/upload_cli.rb +188 -0
- data/lib/luciq/version.rb +1 -1
- metadata +8 -4
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'thor'
|
|
4
|
+
require 'luciq/commands/upload'
|
|
5
|
+
|
|
6
|
+
module Luciq
|
|
7
|
+
class UploadCLI < Thor
|
|
8
|
+
ARCHITECTURES = Commands::Upload::ALLOWED_ARCHITECTURES
|
|
9
|
+
|
|
10
|
+
desc 'ios-dsym FILE', 'Upload iOS dSYM file'
|
|
11
|
+
long_desc <<~DESC
|
|
12
|
+
Upload iOS dSYM files to Luciq for crash symbolication.
|
|
13
|
+
File format: .zip containing dSYM files
|
|
14
|
+
Example:
|
|
15
|
+
luciq upload ios-dsym MyApp.dSYM.zip --app-token APP_TOKEN
|
|
16
|
+
DESC
|
|
17
|
+
option :app_token, type: :string, required: true, desc: 'Your Luciq application token'
|
|
18
|
+
def ios_dsym(file)
|
|
19
|
+
Commands::Upload.new(options).ios_dsym(file)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
desc 'android-mapping FILE', 'Upload Android mapping file'
|
|
23
|
+
long_desc <<~DESC
|
|
24
|
+
Upload Android Proguard/R8 mapping files to Luciq for crash deobfuscation.
|
|
25
|
+
File format: mapping.txt
|
|
26
|
+
Example:
|
|
27
|
+
luciq upload android-mapping mapping.txt --app-token APP_TOKEN --version-name 1.0.0 --version-code 1
|
|
28
|
+
DESC
|
|
29
|
+
option :app_token, type: :string, required: true, desc: 'Your Luciq application token'
|
|
30
|
+
option :version_name, type: :string, required: true, desc: 'App version name (e.g., 1.0.0)'
|
|
31
|
+
option :version_code, type: :string, required: true, desc: 'App version code (e.g., 1)'
|
|
32
|
+
def android_mapping(file)
|
|
33
|
+
Commands::Upload.new(options).android_mapping(file)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
desc 'android-ndk FILE', 'Upload Android NDK .so files'
|
|
37
|
+
long_desc <<~DESC
|
|
38
|
+
Upload Android NDK shared object (.so) files to Luciq for native crash symbolication.
|
|
39
|
+
File format: .zip containing the .so files
|
|
40
|
+
Example:
|
|
41
|
+
luciq upload android-ndk so-files.zip --app-token APP_TOKEN --version-name 1.0.0 --arch arm64-v8a
|
|
42
|
+
DESC
|
|
43
|
+
option :app_token, type: :string, required: true, desc: 'Your Luciq application token'
|
|
44
|
+
option :version_name, type: :string, required: true, desc: 'App version name (e.g., 1.0.0)'
|
|
45
|
+
option :arch, type: :string, required: true, enum: ARCHITECTURES, desc: 'CPU architecture'
|
|
46
|
+
def android_ndk(file)
|
|
47
|
+
Commands::Upload.new(options).android_ndk(file)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
desc 'react-native-ios-dsym FILE', 'Upload React Native iOS dSYM file'
|
|
51
|
+
long_desc <<~DESC
|
|
52
|
+
Upload React Native iOS dSYM files to Luciq for native crash symbolication.
|
|
53
|
+
File format: .zip containing dSYM files
|
|
54
|
+
Example:
|
|
55
|
+
luciq upload react-native-ios-dsym dsyms.zip --app-token APP_TOKEN
|
|
56
|
+
DESC
|
|
57
|
+
option :app_token, type: :string, required: true, desc: 'Your application token'
|
|
58
|
+
def react_native_ios_dsym(file)
|
|
59
|
+
Commands::Upload.new(options).react_native_ios_dsym(file)
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
desc 'react-native-ios-sourcemap FILE', 'Upload React Native iOS JavaScript source map'
|
|
63
|
+
long_desc <<~DESC
|
|
64
|
+
Upload React Native iOS JavaScript source maps to Luciq for crash symbolication.
|
|
65
|
+
File format: .json or .txt source map
|
|
66
|
+
Example:
|
|
67
|
+
luciq upload react-native-ios-sourcemap ios-sourcemap.json --app-token APP_TOKEN --version-code 1 --version-name 1.0.0
|
|
68
|
+
DESC
|
|
69
|
+
option :app_token, type: :string, required: true, desc: 'Your application token'
|
|
70
|
+
option :version_code, type: :string, required: true, desc: 'App version code (e.g., 1)'
|
|
71
|
+
option :version_name, type: :string, required: true, desc: 'App version name (e.g., 1.0.0)'
|
|
72
|
+
option :codepush, type: :string, desc: 'CodePush version label (e.g., v42)'
|
|
73
|
+
def react_native_ios_sourcemap(file)
|
|
74
|
+
Commands::Upload.new(options).react_native_ios_sourcemap(file)
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
desc 'react-native-android-mapping FILE', 'Upload React Native Android mapping file'
|
|
78
|
+
long_desc <<~DESC
|
|
79
|
+
Upload React Native Android Proguard/R8 mapping files to Luciq for native crash deobfuscation.
|
|
80
|
+
File format: mapping.txt
|
|
81
|
+
Example:
|
|
82
|
+
luciq upload react-native-android-mapping mapping.txt --app-token APP_TOKEN --version-code 1 --version-name 1.0.0
|
|
83
|
+
DESC
|
|
84
|
+
option :app_token, type: :string, required: true, desc: 'Your application token'
|
|
85
|
+
option :version_code, type: :string, required: true, desc: 'App version code (e.g., 1)'
|
|
86
|
+
option :version_name, type: :string, required: true, desc: 'App version name (e.g., 1.0.0)'
|
|
87
|
+
def react_native_android_mapping(file)
|
|
88
|
+
Commands::Upload.new(options).react_native_android_mapping(file)
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
desc 'react-native-android-sourcemap FILE', 'Upload React Native Android JavaScript source map'
|
|
92
|
+
long_desc <<~DESC
|
|
93
|
+
Upload React Native Android JavaScript source maps to Luciq for crash deobfuscation.
|
|
94
|
+
File format: .json or .txt source map
|
|
95
|
+
Example:
|
|
96
|
+
luciq upload react-native-android-sourcemap android-sourcemap.json --app-token APP_TOKEN --version-code 1 --version-name 1.0.0
|
|
97
|
+
DESC
|
|
98
|
+
option :app_token, type: :string, required: true, desc: 'Your application token'
|
|
99
|
+
option :version_code, type: :string, required: true, desc: 'App version code (e.g., 1)'
|
|
100
|
+
option :version_name, type: :string, required: true, desc: 'App version name (e.g., 1.0.0)'
|
|
101
|
+
option :codepush, type: :string, desc: 'CodePush version label (e.g., v42)'
|
|
102
|
+
def react_native_android_sourcemap(file)
|
|
103
|
+
Commands::Upload.new(options).react_native_android_sourcemap(file)
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
desc 'react-native-ndk FILE', 'Upload React Native NDK .so files'
|
|
107
|
+
long_desc <<~DESC
|
|
108
|
+
Upload React Native NDK shared object (.so) files to Luciq for native crash symbolication.
|
|
109
|
+
File format: .zip containing the .so files
|
|
110
|
+
Example:
|
|
111
|
+
luciq upload react-native-ndk so-files.zip --app-token APP_TOKEN --version-name 1.0.0 --arch arm64-v8a
|
|
112
|
+
DESC
|
|
113
|
+
option :app_token, type: :string, required: true, desc: 'Your application token'
|
|
114
|
+
option :version_name, type: :string, required: true, desc: 'App version name (e.g., 1.0.0)'
|
|
115
|
+
option :arch, type: :string, required: true, enum: ARCHITECTURES, desc: 'CPU architecture'
|
|
116
|
+
def react_native_ndk(file)
|
|
117
|
+
Commands::Upload.new(options).react_native_ndk(file)
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
desc 'flutter-ios-dsym FILE', 'Upload Flutter iOS dSYM file'
|
|
121
|
+
long_desc <<~DESC
|
|
122
|
+
Upload Flutter iOS dSYM files to Luciq for native crash symbolication.
|
|
123
|
+
File format: .zip containing dSYM files
|
|
124
|
+
Example:
|
|
125
|
+
luciq upload flutter-ios-dsym MyApp.dSYM.zip --app-token APP_TOKEN
|
|
126
|
+
DESC
|
|
127
|
+
option :app_token, type: :string, required: true, desc: 'Your Luciq application token'
|
|
128
|
+
def flutter_ios_dsym(file)
|
|
129
|
+
Commands::Upload.new(options).flutter_ios_dsym(file)
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
desc 'flutter-ios-sourcemap FILE', 'Upload Flutter iOS Dart sourcemap file'
|
|
133
|
+
long_desc <<~DESC
|
|
134
|
+
Upload Flutter iOS Dart sourcemap files to Luciq for crash symbolication.
|
|
135
|
+
File format: .zip containing Flutter debug symbols
|
|
136
|
+
Example:
|
|
137
|
+
luciq upload flutter-ios-sourcemap app.ios-arm64.symbols.zip --app-token APP_TOKEN --version-name 1.0.0 --version-code 1
|
|
138
|
+
DESC
|
|
139
|
+
option :app_token, type: :string, required: true, desc: 'Your Luciq application token'
|
|
140
|
+
option :version_name, type: :string, required: true, desc: 'App version name (e.g., 1.0.0)'
|
|
141
|
+
option :version_code, type: :string, required: true, desc: 'App version code (e.g., 1)'
|
|
142
|
+
def flutter_ios_sourcemap(file)
|
|
143
|
+
Commands::Upload.new(options).flutter_ios_sourcemap(file)
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
desc 'flutter-android-mapping FILE', 'Upload Flutter Android mapping file'
|
|
147
|
+
long_desc <<~DESC
|
|
148
|
+
Upload Flutter Android Proguard/R8 mapping files to Luciq for native crash deobfuscation.
|
|
149
|
+
File format: mapping.txt
|
|
150
|
+
Example:
|
|
151
|
+
luciq upload flutter-android-mapping mapping.txt --app-token APP_TOKEN --version-code 1 --version-name 1.0.0
|
|
152
|
+
DESC
|
|
153
|
+
option :app_token, type: :string, required: true, desc: 'Your Luciq application token'
|
|
154
|
+
option :version_code, type: :string, required: true, desc: 'App version code (e.g., 1)'
|
|
155
|
+
option :version_name, type: :string, required: true, desc: 'App version name (e.g., 1.0.0)'
|
|
156
|
+
def flutter_android_mapping(file)
|
|
157
|
+
Commands::Upload.new(options).flutter_android_mapping(file)
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
desc 'flutter-android-sourcemap FILE', 'Upload Flutter Android Dart sourcemap file'
|
|
161
|
+
long_desc <<~DESC
|
|
162
|
+
Upload Flutter Android Dart sourcemap files to Luciq for crash symbolication.
|
|
163
|
+
File format: .zip containing Flutter debug symbols
|
|
164
|
+
Example:
|
|
165
|
+
luciq upload flutter-android-sourcemap app.android-arm64.symbols.zip --app-token APP_TOKEN --version-name 1.0.0 --version-code 1
|
|
166
|
+
DESC
|
|
167
|
+
option :app_token, type: :string, required: true, desc: 'Your Luciq application token'
|
|
168
|
+
option :version_name, type: :string, required: true, desc: 'App version name (e.g., 1.0.0)'
|
|
169
|
+
option :version_code, type: :string, required: true, desc: 'App version code (e.g., 1)'
|
|
170
|
+
def flutter_android_sourcemap(file)
|
|
171
|
+
Commands::Upload.new(options).flutter_android_sourcemap(file)
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
desc 'flutter-ndk FILE', 'Upload Flutter NDK .so files'
|
|
175
|
+
long_desc <<~DESC
|
|
176
|
+
Upload Flutter NDK shared object (.so) files to Luciq for native crash symbolication.
|
|
177
|
+
File format: .zip containing the .so files
|
|
178
|
+
Example:
|
|
179
|
+
luciq upload flutter-ndk so-files.zip --app-token APP_TOKEN --version-name 1.0.0 --arch arm64-v8a
|
|
180
|
+
DESC
|
|
181
|
+
option :app_token, type: :string, required: true, desc: 'Your Luciq application token'
|
|
182
|
+
option :version_name, type: :string, required: true, desc: 'App version name (e.g., 1.0.0)'
|
|
183
|
+
option :arch, type: :string, required: true, enum: ARCHITECTURES, desc: 'CPU architecture'
|
|
184
|
+
def flutter_ndk(file)
|
|
185
|
+
Commands::Upload.new(options).flutter_ndk(file)
|
|
186
|
+
end
|
|
187
|
+
end
|
|
188
|
+
end
|
data/lib/luciq/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: luciq-cli
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ahmed Hany
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2026-07-06 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: multipart-post
|
|
@@ -52,8 +52,12 @@ files:
|
|
|
52
52
|
- lib/luciq/api/client.rb
|
|
53
53
|
- lib/luciq/cli.rb
|
|
54
54
|
- lib/luciq/commands/auth.rb
|
|
55
|
+
- lib/luciq/commands/query.rb
|
|
56
|
+
- lib/luciq/commands/query_arguments.rb
|
|
55
57
|
- lib/luciq/commands/upload.rb
|
|
56
58
|
- lib/luciq/config.rb
|
|
59
|
+
- lib/luciq/query_cli.rb
|
|
60
|
+
- lib/luciq/upload_cli.rb
|
|
57
61
|
- lib/luciq/version.rb
|
|
58
62
|
homepage: https://github.com/Instabug/luciq-cli
|
|
59
63
|
licenses:
|
|
@@ -62,7 +66,7 @@ metadata:
|
|
|
62
66
|
homepage_uri: https://github.com/Instabug/luciq-cli
|
|
63
67
|
source_code_uri: https://github.com/Instabug/luciq-cli
|
|
64
68
|
changelog_uri: https://github.com/Instabug/luciq-cli/blob/main/CHANGELOG.md
|
|
65
|
-
rubygems_mfa_required: '
|
|
69
|
+
rubygems_mfa_required: 'true'
|
|
66
70
|
post_install_message:
|
|
67
71
|
rdoc_options: []
|
|
68
72
|
require_paths:
|
|
@@ -78,7 +82,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
78
82
|
- !ruby/object:Gem::Version
|
|
79
83
|
version: '0'
|
|
80
84
|
requirements: []
|
|
81
|
-
rubygems_version: 3.
|
|
85
|
+
rubygems_version: 3.4.10
|
|
82
86
|
signing_key:
|
|
83
87
|
specification_version: 4
|
|
84
88
|
summary: Luciq CLI for developers
|