eitri-cli 1.38.0-beta.9 → 1.39.0-beta.1

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.
Files changed (95) hide show
  1. package/.husky/pre-commit +0 -0
  2. package/eitri-cli-v2/eitri-cli-v2.darwin-arm64.node +0 -0
  3. package/eitri-cli-v2/eitri-cli-v2.darwin-x64.node +0 -0
  4. package/eitri-cli-v2/eitri-cli-v2.linux-x64-gnu.node +0 -0
  5. package/eitri-cli-v2/eitri-cli-v2.win32-x64-msvc.node +0 -0
  6. package/eitri-cli-v2/index.d.ts +11 -1
  7. package/index.js +4 -21
  8. package/package.json +3 -49
  9. package/src/modules/app/AppCommand.js +1 -1
  10. package/src/modules/vegvisir/VegvisirCommand.js +7 -13
  11. package/.eslintrc.json +0 -26
  12. package/.prettierrc +0 -6
  13. package/src/cmd/clean.js +0 -144
  14. package/src/cmd/create.js +0 -332
  15. package/src/cmd/credentials.js +0 -105
  16. package/src/cmd/doctor.js +0 -70
  17. package/src/cmd/invite.js +0 -87
  18. package/src/cmd/list.js +0 -36
  19. package/src/cmd/login.js +0 -70
  20. package/src/cmd/loginV2.js +0 -89
  21. package/src/cmd/manage-env.js +0 -129
  22. package/src/cmd/open-share.js +0 -6
  23. package/src/cmd/order-details.js +0 -6
  24. package/src/cmd/push-version.js +0 -260
  25. package/src/cmd/show-message-if-outdated-package.js +0 -32
  26. package/src/cmd/signup.js +0 -71
  27. package/src/cmd/start.js +0 -181
  28. package/src/cmd/tail-logs.js +0 -26
  29. package/src/cmd/test-initialization-params.js +0 -6
  30. package/src/cmd/validate.js +0 -164
  31. package/src/cmd/version.js +0 -18
  32. package/src/enum/WatcherOpts.js +0 -3
  33. package/src/enum/target.js +0 -6
  34. package/src/helpers/request-listener-helper.js +0 -55
  35. package/src/model/EitriAppType.js +0 -4
  36. package/src/model/Payload.js +0 -45
  37. package/src/model/Target.js +0 -61
  38. package/src/model/User.js +0 -11
  39. package/src/service/AuthConfig.js +0 -85
  40. package/src/service/BlindGuardian.js +0 -131
  41. package/src/service/CliLogin.js +0 -52
  42. package/src/service/ConfigService.js +0 -9
  43. package/src/service/CredentialsService.js +0 -47
  44. package/src/service/EitriAppManager.js +0 -32
  45. package/src/service/EitriAppService.js +0 -49
  46. package/src/service/Emulator/AndroidEmulatorService.js +0 -132
  47. package/src/service/Emulator/IOSEmulatorService.js +0 -71
  48. package/src/service/EmulatorService.js +0 -17
  49. package/src/service/GATrackingStrategy.js +0 -16
  50. package/src/service/HashFolder.js +0 -79
  51. package/src/service/Http.js +0 -300
  52. package/src/service/HuginService.js +0 -38
  53. package/src/service/InviteService.js +0 -45
  54. package/src/service/LibsService.js +0 -191
  55. package/src/service/ManageEnvService.js +0 -10
  56. package/src/service/MiniLog.js +0 -166
  57. package/src/service/PrerequisitesValidator.js +0 -99
  58. package/src/service/QRCodeFactory.js +0 -81
  59. package/src/service/ReleaseService.js +0 -126
  60. package/src/service/Server.js +0 -220
  61. package/src/service/StarterService.js +0 -31
  62. package/src/service/TagTree.js +0 -101
  63. package/src/service/TargetService.js +0 -97
  64. package/src/service/TrackService.js +0 -11
  65. package/src/service/TrackingEitriAnalytics.js +0 -26
  66. package/src/service/TrackingService.js +0 -183
  67. package/src/service/ValidateResult.js +0 -57
  68. package/src/service/Watcher.js +0 -118
  69. package/src/service/Workspace.js +0 -1045
  70. package/src/service/WorkspaceManager.js +0 -76
  71. package/src/service/factories/DoubtsStarterFactory.js +0 -25
  72. package/src/service/factories/MiniWebAppFactory.js +0 -44
  73. package/src/service/factories/QRCodeStarterFactory.js +0 -154
  74. package/src/service/factories/WebStarterFactory.js +0 -88
  75. package/src/service/factories/WoodCoffeeFactory.js +0 -292
  76. package/src/util/AboutTemplate.jsx +0 -14
  77. package/src/util/FileUtils.js +0 -25
  78. package/src/util/GenericUtils.js +0 -41
  79. package/src/util/LibUtil.js +0 -32
  80. package/src/util/LogUtil.js +0 -14
  81. package/src/util/UrlUtils.js +0 -12
  82. package/src/util/UserLocalCredential.js +0 -128
  83. package/src/util/convertKeysToCamelCase.js +0 -26
  84. package/src/util/error-messages/error-messages.js +0 -24
  85. package/src/util/error-messages/invite/invite-error-messages.js +0 -14
  86. package/src/util/getCliVersion.js +0 -13
  87. package/src/util/getCreateFactory.js +0 -9
  88. package/src/util/getWorkspace.js +0 -37
  89. package/src/util/ipv4.js +0 -19
  90. package/src/util/manage-env.js +0 -65
  91. package/src/util/open-docs.js +0 -7
  92. package/src/util/os.js +0 -39
  93. package/src/util/server-url.js +0 -15
  94. package/src/util/template-utils.js +0 -21
  95. package/src/view/index.html +0 -19
@@ -1,300 +0,0 @@
1
- const axiosCookieJarSupport = require("axios-cookiejar-support").wrapper
2
- const FileCookieStore = require("tough-cookie-file-store").FileCookieStore
3
- const CookieJar = require("tough-cookie").CookieJar
4
-
5
- const os = require("os")
6
- const path = require("path")
7
- const getCliVersion = require("../util/getCliVersion")
8
- const { randomUUID } = require("crypto")
9
- const getWorkspace = require("../util/getWorkspace")
10
-
11
- const filePath = path.join(os.homedir(), "./.eitri.cookie.json")
12
- const jar = new CookieJar(new FileCookieStore(filePath))
13
- const axios = axiosCookieJarSupport(require("axios").create({ withCredentials: true, jar }))
14
- const debug = require("debug")("eitri:http")
15
-
16
- let canShowLog = true
17
-
18
- axios.interceptors.response.use(function (response) {
19
- const YELLOW_COLOR = "\x1b[33m"
20
- const BLUE_COLOR = "\x1b[94m"
21
- const RESET_COLORS = "\x1b[0m"
22
- const { warning } = response.data
23
- const { greeting } = response.data
24
- if (canShowLog) {
25
- if (warning) {
26
- console.warn(`${YELLOW_COLOR}\nAtenção: ${warning.message}${YELLOW_COLOR}${RESET_COLORS}\n`)
27
- }
28
- if (greeting) {
29
- console.log(`${BLUE_COLOR}\n${greeting.message}${BLUE_COLOR}${RESET_COLORS}\n`)
30
- }
31
- canShowLog = warning || greeting ? false : true
32
- }
33
- return response
34
- })
35
- class Http {
36
- constructor(tokenFactory) {
37
- this.tokenFactory = tokenFactory
38
- this.newTokenAttempt = 0
39
- this.workspaceId = ""
40
- }
41
-
42
- setTokenFactory(tokenFactory) {
43
- this.tokenFactory = tokenFactory
44
- }
45
-
46
- setToken(token) {
47
- this.token = token
48
- }
49
-
50
- setWorkspaceId(id) {
51
- this.workspaceId = id
52
- }
53
-
54
- getCookieSession(url) {
55
- return new Promise((resolve, reject) => {
56
- const contextPath = process.env.FOUNDRY_CONTEXT_PATH || "foundry"
57
- jar.getCookies(url, { allPaths: true }, function (err, cookies) {
58
- if (err) return reject(err)
59
- const cookie = cookies.find((c) => c.path === `/${contextPath}`)
60
- resolve(cookie)
61
- })
62
- })
63
- }
64
-
65
- async post(url, data, headers) {
66
- try {
67
- if (!this.token) {
68
- this.token = await this.tokenFactory.getToken()
69
- }
70
- const mergedHeaders = {
71
- ...(await this._getHeader(url)),
72
- ...headers,
73
- }
74
- return await axios.post(url, data, { headers: mergedHeaders })
75
- } catch (e) {
76
- debug(`Error: url ${url}`)
77
- throw e
78
- }
79
- }
80
-
81
- async postForm(url, formData, additionalHeaders = {}) {
82
- if (!this.token) {
83
- this.token = await this.tokenFactory.getToken()
84
- }
85
-
86
- const headers = {
87
- ...(await this._getHeader(url)),
88
- "Content-Type": `multipart/form-data; boundary=${formData.getBoundary()}`,
89
- ...additionalHeaders,
90
- }
91
- return await this._postForm(url, formData, headers)
92
- }
93
-
94
- async _getHeader(url) {
95
- const tid = randomUUID()
96
- const headers = {
97
- Authorization: `Bearer ${this.token.accessToken}`,
98
- "X-Transaction-Id": tid,
99
- "App-Tools-Version": getCliVersion(),
100
- }
101
- if (url.includes("foundry") || url.includes("runes-foundry")) {
102
- headers["Workspace-Id"] = this.workspaceId ? this.workspaceId : (await getWorkspace()).id
103
- }
104
-
105
- return headers
106
- }
107
-
108
- __postForm(url, formData, headers, resolve, reject) {
109
- axios
110
- .post(url, formData, { headers: headers })
111
- .then((resp) => resolve(resp.data))
112
- .catch((err) => this.rejectErrorPolitely({ err, methodName: "__postForm", url, formData, headers, resolve, reject }))
113
- }
114
-
115
- _postForm(url, formData, headers) {
116
- return new Promise((resolve, reject) => {
117
- this.__postForm(url, formData, headers, resolve, reject)
118
- })
119
- }
120
-
121
- async delete(url, options, additionalHeaders = {}) {
122
- if (!this.token) {
123
- this.token = await this.tokenFactory.getToken()
124
- }
125
- const headers = {
126
- ...(await this._getHeader(url)),
127
- ...additionalHeaders,
128
- }
129
- return await this._delete(url, options, headers)
130
- }
131
-
132
- __delete(url, data, headers, resolve, reject) {
133
- axios
134
- .delete(url, { headers: headers, params: data.params })
135
- .then((resp) => resolve(resp.data))
136
- .catch((err) => this.rejectErrorPolitely({ err, methodName: "__delete", url, data, headers, resolve, reject }))
137
- }
138
-
139
- _delete(url, options, headers) {
140
- return new Promise((resolve, reject) => {
141
- this.__delete(url, options || {}, headers, resolve, reject)
142
- })
143
- }
144
-
145
- async get(url, options) {
146
- options = options || {}
147
- if (!this.token) {
148
- this.token = await this.tokenFactory.getToken()
149
- }
150
- const headers = await this._getHeader(url)
151
- return await this._get({ url, options, headers })
152
- }
153
-
154
- _get(args) {
155
- return new Promise((resolve, reject) => {
156
- this.__get(args, resolve, reject)
157
- })
158
- }
159
-
160
- __get(args, resolve, reject) {
161
- const mergedHeaders = { ...args.headers, ...args.options.headers }
162
- args.options.headers = mergedHeaders
163
- axios
164
- .get(args.url, args.options)
165
- .then((result) => {
166
- resolve(result.data)
167
- })
168
- .catch((err) => {
169
- if (err.isAxiosError) {
170
- this.newTokenAttempt++
171
- if (err.response && err.response.status === 401 && this.newTokenAttempt < 3) {
172
- this.tokenFactory
173
- .getToken()
174
- .then((token) => {
175
- this.token = token
176
- args.headers = this._getHeader(args.url)
177
- this.__get(args, resolve, reject)
178
- })
179
- .catch(reject)
180
- return
181
- }
182
- if (this.isError4xxWithMessage(err) || this.isError5xxWithMessage(err)) {
183
- let error = new Error(`\n${err.response.data.error}`)
184
- error.httpStatus = err.response.status
185
- return reject(error)
186
- }
187
- }
188
- reject(err)
189
- })
190
- }
191
-
192
- async put(url, data, headers) {
193
- data = data || {}
194
- if (!this.token) {
195
- this.token = await this.tokenFactory.getToken()
196
- }
197
- const mergedHeaders = { ...(await this._getHeader(url)), ...headers }
198
- return await this._put(url, data, mergedHeaders)
199
- }
200
-
201
- _put(url, data, headers) {
202
- return new Promise((resolve, reject) => {
203
- this.__put(url, data, headers, resolve, reject)
204
- })
205
- }
206
-
207
- __put(url, data, headers, resolve, reject) {
208
- axios
209
- .put(url, data, { headers })
210
- .then((result) => resolve(result.data))
211
- .catch((err) => this.rejectErrorPolitely({ err, methodName: "__put", url, data, headers, resolve, reject }))
212
- }
213
-
214
- rejectErrorPolitely(args) {
215
- const { err, methodName, url, data, headers, resolve, reject } = args
216
-
217
- if (process.env.LOG_LEVEL === "full") console.error("Http.js:rejectErrorPolitely", err)
218
-
219
- if (err.isAxiosError) {
220
- this.newTokenAttempt++
221
- if (err.response && err.response.status === 401 && this.newTokenAttempt < 3) {
222
- this.tokenFactory
223
- .getToken()
224
- .then((token) => {
225
- const newHeaders = this.updateToken(token.accessToken, headers)
226
- this[methodName](url, data, newHeaders, resolve, reject)
227
- })
228
- .catch(reject)
229
- return
230
- }
231
- if (this.isError4xxWithMessage(err) || this.isError5xxWithMessage(err)) {
232
- let error = new Error(err.response.data.error)
233
- error.httpStatus = err.response.status
234
- error.response = { data: err.response.data }
235
-
236
- return reject(error)
237
- }
238
- }
239
- reject(err)
240
- }
241
-
242
- isError5xxWithMessage(err) {
243
- return (
244
- err.response &&
245
- 500 <= err.response.status &&
246
- err.response.status < 600 &&
247
- err.response.data &&
248
- typeof err.response.data.error === "string"
249
- )
250
- }
251
-
252
- isError4xxWithMessage(err) {
253
- return (
254
- err.response &&
255
- 400 <= err.response.status &&
256
- err.response.status < 500 &&
257
- err.response.data &&
258
- typeof err.response.data.error === "string"
259
- )
260
- }
261
-
262
- updateToken(token, headers) {
263
- let headersCopy = { ...headers }
264
- headersCopy["Authorization"] = `Bearer ${token}`
265
- return headersCopy
266
- }
267
-
268
- static printLeanLogAxiosError(e) {
269
- const axios = require("axios")
270
- if (axios.isAxiosError(e)) {
271
- console.log(
272
- `AxiosError: ${JSON.stringify(
273
- {
274
- status: e.status,
275
- config: {
276
- headers: e.config?.headers,
277
- method: e.config?.method,
278
- url: e.config?.url,
279
- data: Http.parseJson(e.config?.data),
280
- },
281
- responseData: e.response?.data,
282
- },
283
- null,
284
- 4,
285
- )}`,
286
- )
287
- } else {
288
- console.log(e)
289
- }
290
- }
291
- static parseJson(data) {
292
- try {
293
- return JSON.parse(data ?? "{}")
294
- } catch (e) {
295
- return {}
296
- }
297
- }
298
- }
299
-
300
- module.exports = Http
@@ -1,38 +0,0 @@
1
- const BlindGuardian = require("./BlindGuardian");
2
- const Http = require("./Http");
3
- const configService = require("./ConfigService");
4
- const VegvisirService = require("../modules/vegvisir/VegvisirService");
5
- const FormData = require("form-data");
6
- const fs = require('fs')
7
-
8
- module.exports = class HuginService {
9
- constructor() {
10
- this.config = configService.get("workspace");
11
- this.blindGuardian = new BlindGuardian();
12
- this.http = new Http(this.blindGuardian);
13
- this.vegvisirService = new VegvisirService()
14
-
15
- }
16
-
17
- async postServerless(data, eitriConf) {
18
- const { filePath, relativePath, isDevMode } = data
19
- const formData = new FormData();
20
- const workspace = await this.vegvisirService.getWorkspace();
21
- formData.append("file", fs.createReadStream(filePath));
22
- formData.append("organizationId", eitriConf.organizationId);
23
- formData.append("version", eitriConf.version);
24
- formData.append("filepath", relativePath);
25
- formData.append("isDevMode", String(isDevMode));
26
- formData.append("eitriAppId", eitriConf.id);
27
- formData.append("applicationId", eitriConf.applicationId);
28
- formData.append("workspaceId", workspace.id);
29
- let url = this.getServerlessUploadUrl(filePath);
30
- await this.http.postForm(url, formData);
31
- }
32
-
33
- getServerlessUploadUrl(filePath) {
34
- if (filePath.includes(".zip"))
35
- return `${this.config.hugin.url}${this.config.hugin.uploadZip}`;
36
- return `${this.config.hugin.url}${this.config.hugin.uploadFile}`;
37
- }
38
- }
@@ -1,45 +0,0 @@
1
- const configService = require('./ConfigService')
2
-
3
- class InviteService {
4
-
5
- constructor(workspace) {
6
- this.workspace = workspace
7
- this.conf = configService.get('managerApi')
8
- }
9
-
10
- async findAllPending() {
11
- let url = `${this.conf.url}${this.conf.invites.my}`
12
- let invites = await this.workspace.http.get(url)
13
- return invites.filter(inv => inv.status === 'ACTIVE')
14
- }
15
-
16
- async accept(inviteToAccept) {
17
- if (!inviteToAccept) {
18
- throw new Error('Convite indefinido')
19
- }
20
- let url = `${this.conf.url}${this.conf.invites.accept}`
21
- await this.workspace.http.put(url, inviteToAccept)
22
- }
23
-
24
- async sendInvite(slug, email) {
25
- let url = `${this.conf.url}${this.conf.invites.send}`
26
- await this.workspace.http.post(url, { email, slug })
27
- }
28
-
29
- async findAllBySlug(slug) {
30
- let url = `${this.conf.url}${this.conf.invites.slug}`.replace(':slug', slug)
31
- let invites = await this.workspace.http.get(url)
32
- return invites
33
- }
34
-
35
- async remove(invite) {
36
- if (!invite) {
37
- throw new Error('Convite indefinido')
38
- }
39
- let url = `${this.conf.url}${this.conf.invites.remove}`.replace(':inviteToken', invite.token)
40
- await this.workspace.http.delete(url, {})
41
- }
42
-
43
- }
44
-
45
- module.exports = InviteService
@@ -1,191 +0,0 @@
1
- const axios = require("axios")
2
- const configService = require("./ConfigService")
3
- const CDN_83io_LIBRARY = configService.get("cdn")?.library
4
- const TrackingEitriAnalytics = require("./TrackingEitriAnalytics")
5
- const { validateUUID } = require("../util/GenericUtils")
6
-
7
- class LibsService {
8
- static async validateLibsVersions({ libs = [], eitriAppConf = {} }) {
9
- const libsList = libs
10
-
11
- if (eitriAppConf["eitri-commons"]) {
12
- libsList.push({
13
- name: "eitri-commons",
14
- version: eitriAppConf["eitri-commons"],
15
- })
16
- }
17
-
18
- const { luminusUiVersion, bifrostVersion, commonsVersion } = this.getEitriConfLibsVersions(libsList)
19
-
20
- if (commonsVersion) {
21
- const validCommonsVersion = await this.validCommonsVersion(commonsVersion)
22
- if (!validCommonsVersion) {
23
- throw new Error(`A versão [${commonsVersion}] do [eitri-commons] definida em seu eitri-app.conf é inválida.`)
24
- }
25
- }
26
-
27
- if (!luminusUiVersion) {
28
- throw new Error("Nenhuma versão do [luminus-ui/eitri-app-components] encontrada em seu eitri-app.conf")
29
- }
30
-
31
- if (!bifrostVersion) {
32
- throw new Error("Nenhuma versão do [bifrost/eitri-app-client] encontrada em seu eitri-app.conf")
33
- }
34
-
35
- const { luminusUiVersions, bifrostVersions } = await this.simultaneousRequestAndHandleData()
36
- const allBifrostVersions = bifrostVersions?.versions?.concat(
37
- bifrostVersions?.betaVersions,
38
- bifrostVersions?.alphaVersions,
39
- )
40
-
41
- if (!luminusUiVersion.includes("@") && !validateUUID(luminusUiVersion)) {
42
- const existsLuminus = luminusUiVersions?.versions?.some((version) => version === luminusUiVersion)
43
- if (!existsLuminus) {
44
- this.throwNonExistentLibError({
45
- libName: "luminus-ui/eitri-app-components",
46
- eitriConfLibVersion: luminusUiVersion,
47
- availableVersions: luminusUiVersions,
48
- eitriAppConf,
49
- })
50
- }
51
- }
52
-
53
- if (!bifrostVersion.includes("@")) {
54
- const existsBifrost = allBifrostVersions.some((version) => version === bifrostVersion)
55
- if (!existsBifrost) {
56
- this.throwNonExistentLibError({
57
- libName: "bifrost/eitri-app-client",
58
- eitriConfLibVersion: bifrostVersion,
59
- availableVersions: allBifrostVersions,
60
- eitriAppConf,
61
- })
62
- }
63
- }
64
- }
65
-
66
- static async validCommonsVersion(commonsVersion) {
67
- try {
68
- const fullUrl = `${CDN_83io_LIBRARY.url}${CDN_83io_LIBRARY.commons.versions}`
69
- const response = await axios.get(fullUrl)
70
- const data = response.data;
71
- return data.versions.includes(commonsVersion)
72
- } catch (error) {
73
- const errorMessage = error?.message || "Erro na obtenção de versões do Bifrost"
74
- this.sendErrorToAnalytics("getBifrostVersions", errorMessage)
75
- }
76
-
77
- return false
78
- }
79
-
80
- static getEitriConfLibsVersions(libs = []) {
81
- const luminusUiNames = ["eitri-app-components", "eitri-luminus"]
82
- const biFrostNames = ["eitri-app-client", "eitri-bifrost"]
83
- const commonsNames = ["eitri-commons"]
84
- const bifrostVersion = libs.find((lib) => biFrostNames?.includes(lib.name))?.version
85
- const luminusUiVersion = libs.find((lib) => luminusUiNames?.includes(lib.name))?.version
86
- const commonsVersion = libs.find((lib) => commonsNames?.includes(lib.name))?.version
87
-
88
- return {
89
- luminusUiVersion,
90
- bifrostVersion,
91
- commonsVersion,
92
- }
93
- }
94
-
95
- static async simultaneousRequestAndHandleData() {
96
- const promises = await Promise.allSettled([this.getBifrostVersions(), this.getLuminusUiVersions()])
97
- .then((res) => res)
98
- .catch((err) => err)
99
-
100
- const [bifrost, luminus] = promises
101
-
102
- let allBifrostVersions = {}
103
- if (bifrost?.status === "fulfilled") {
104
- allBifrostVersions = bifrost.value
105
- }
106
-
107
- let allLuminusVersions = {}
108
- if (luminus?.status === "fulfilled") {
109
- allLuminusVersions = luminus.value
110
- }
111
-
112
- return {
113
- luminusUiVersions: allLuminusVersions,
114
- bifrostVersions: allBifrostVersions,
115
- }
116
- }
117
-
118
- static handleRawDatas(promises = []) {
119
- const [bifrost, luminus] = promises
120
-
121
- const allBifrostVersions = []
122
- if (bifrost?.status === "fulfilled") {
123
- const versions = bifrost?.value?.versions?.concat(bifrost?.value?.betaVersions, bifrost?.value?.alphaVersions)
124
- allBifrostVersions.push(...versions)
125
- }
126
-
127
- const allLuminusVersions = []
128
- if (luminus?.status === "fulfilled") {
129
- allLuminusVersions.push(...luminus.value.versions)
130
- }
131
-
132
- return {
133
- luminusUiVersions: allLuminusVersions,
134
- bifrostVersions: allBifrostVersions,
135
- }
136
- }
137
-
138
- static async getBifrostVersions() {
139
- const fullUrl = `${CDN_83io_LIBRARY.url}${CDN_83io_LIBRARY.bifrost.versions}`
140
- try {
141
- const response = await axios.get(fullUrl)
142
- return response.data
143
- } catch (error) {
144
- const errorMessage = error?.message || "Erro na obtenção de versões do Bifrost"
145
- this.sendErrorToAnalytics("getBifrostVersions", errorMessage)
146
- }
147
- }
148
-
149
- static async getLuminusUiVersions() {
150
- const fullUrl = `${CDN_83io_LIBRARY.url}${CDN_83io_LIBRARY.luminusUi.versions}`
151
- try {
152
- const response = await axios.get(fullUrl)
153
- return response.data
154
- } catch (error) {
155
- const errorMessage = error?.message || "Erro na obtenção de versões do LuminusUI"
156
- this.sendErrorToAnalytics("getLuminusUiVersions", errorMessage)
157
- }
158
- }
159
-
160
- static sendErrorToAnalytics(method = "", errorMessage = "") {
161
- TrackingEitriAnalytics.sendEvent({
162
- eventName: `${method}.error`,
163
- userId: "",
164
- data: { errorMessage },
165
- })
166
- }
167
-
168
- static throwNonExistentLibError(input = { libName: "", eitriConfLibVersion: "", availableVersions: [], eitriAppConf: {} }) {
169
- const { libName, eitriConfLibVersion, availableVersions, eitriAppConf } = input
170
-
171
- const friendlyErrorMessage = `Versão da biblioteca [${libName}] não encontrada`
172
- console.log(`\n\x1b[1m\x1b[31m${friendlyErrorMessage}\x1b[0m\n`)
173
- console.log("Veja as versões disponíveis abaixo e atualize o arquivo eitri-app.conf\n")
174
- console.log(availableVersions)
175
-
176
- TrackingEitriAnalytics.sendEvent({
177
- eventName: "version.eitri-libs.not.found",
178
- userId: "",
179
- data: {
180
- errorMessage: `Versão da biblioteca ${libName} não encontrada`,
181
- eitriConfLibVersion,
182
- availableVersions,
183
- eitriAppConf,
184
- },
185
- })
186
-
187
- process.exit(1)
188
- }
189
- }
190
-
191
- module.exports = LibsService
@@ -1,10 +0,0 @@
1
- class ManageEnvService {
2
- async getEnvVariables(workspace, url, miniConf, env, email, fileName) {
3
- const { slug, version } = miniConf
4
- const mountedQuery = `env=${env}&slug=${slug}&miniAppVersion=${version}&fileName=${fileName}&email=${email}`
5
- const result = await workspace.http.get(`${url}/env?${mountedQuery}`)
6
- return result
7
- }
8
- }
9
-
10
- module.exports = ManageEnvService