eitri-cli 1.10.1 → 1.11.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 (79) hide show
  1. package/eitri-cli-v2/Cargo.toml +1 -0
  2. package/eitri-cli-v2/config/config.dev.toml +67 -0
  3. package/eitri-cli-v2/config/config.loc.toml +67 -0
  4. package/eitri-cli-v2/config/config.prod.toml +62 -0
  5. package/eitri-cli-v2/config/config.runes-foundry.toml +7 -0
  6. package/eitri-cli-v2/config/config.test.toml +67 -0
  7. package/eitri-cli-v2/eitri-cli-v2.darwin-arm64.node +0 -0
  8. package/eitri-cli-v2/eitri-cli-v2.darwin-x64.node +0 -0
  9. package/eitri-cli-v2/eitri-cli-v2.linux-x64-gnu.node +0 -0
  10. package/eitri-cli-v2/eitri-cli-v2.win32-x64-msvc.node +0 -0
  11. package/index.js +4 -1
  12. package/package.json +1 -1
  13. package/src/modules/vegvisir/VegvisirService.js +1 -1
  14. package/src/service/Emulator/AndroidEmulatorService.js +25 -3
  15. package/src/service/MiniLog.js +5 -46
  16. package/src/service/factories/WoodCoffeeFactory.js +4 -3
  17. package/src/util/LibUtil.js +32 -0
  18. package/eitri-cli-v2/src/commands/mod.rs +0 -2
  19. package/eitri-cli-v2/src/commands/publish.rs +0 -35
  20. package/eitri-cli-v2/src/commands/run_test.rs +0 -41
  21. package/eitri-cli-v2/src/config/mod.rs +0 -1
  22. package/eitri-cli-v2/src/config/user_credentials.rs +0 -38
  23. package/eitri-cli-v2/src/infra/http_client.rs +0 -493
  24. package/eitri-cli-v2/src/infra/mod.rs +0 -1
  25. package/eitri-cli-v2/src/lib.rs +0 -30
  26. package/eitri-cli-v2/src/model/auth_response.rs +0 -8
  27. package/eitri-cli-v2/src/model/credentials.rs +0 -8
  28. package/eitri-cli-v2/src/model/eitri_conf.rs +0 -43
  29. package/eitri-cli-v2/src/model/mod.rs +0 -8
  30. package/eitri-cli-v2/src/model/process_output.rs +0 -8
  31. package/eitri-cli-v2/src/model/revision.rs +0 -14
  32. package/eitri-cli-v2/src/model/test_config.rs +0 -7
  33. package/eitri-cli-v2/src/model/url.rs +0 -11
  34. package/eitri-cli-v2/src/model/workspace_auth.rs +0 -4
  35. package/eitri-cli-v2/src/services/blind_guardian.rs +0 -87
  36. package/eitri-cli-v2/src/services/eitri_foundry.rs +0 -84
  37. package/eitri-cli-v2/src/services/eitri_manager.rs +0 -78
  38. package/eitri-cli-v2/src/services/mod.rs +0 -4
  39. package/eitri-cli-v2/src/services/workspace.rs +0 -49
  40. package/eitri-cli-v2/src/utils/convert_eitri_conf.rs +0 -98
  41. package/eitri-cli-v2/src/utils/mod.rs +0 -1
  42. package/test/Executor.js +0 -60
  43. package/test/Factory.js +0 -13
  44. package/test/Helper.js +0 -15
  45. package/test/_fixtures/factory.js +0 -30
  46. package/test/_fixtures/miniWebApp/miniapp.conf.js +0 -4
  47. package/test/_fixtures/miniapp.conf.js +0 -5
  48. package/test/_fixtures/server/HelloWorldBackend.js +0 -7
  49. package/test/_fixtures/src/Home.js +0 -5
  50. package/test/_fixtures/src/Home2.js +0 -5
  51. package/test/_fixtures/src/commons/util.js +0 -3
  52. package/test/_fixtures/src/components/TagA.jsx +0 -4
  53. package/test/_fixtures/src/components/TagB.jsx +0 -4
  54. package/test/_fixtures/src/components/TagC.jsx +0 -3
  55. package/test/_fixtures/src/components/TagD.jsx +0 -3
  56. package/test/_fixtures/src/server/foo.js +0 -7
  57. package/test/_fixtures/src/views/AboutTemplate.jsx +0 -14
  58. package/test/_fixtures/woodcoffee/miniapp.conf.js +0 -5
  59. package/test/ame.conf.js +0 -3
  60. package/test/cmd/clean.test.js +0 -66
  61. package/test/cmd/create.test.js +0 -252
  62. package/test/cmd/list.test.js +0 -74
  63. package/test/cmd/manage-env.test.js +0 -168
  64. package/test/e2e/cli.test.js +0 -473
  65. package/test/miniapp.conf.js +0 -3
  66. package/test/model/Payload.test.js +0 -35
  67. package/test/modules/vegvisir/VegvisirService.test.js +0 -37
  68. package/test/service/BlindGuardian.test.js +0 -84
  69. package/test/service/CheckAmeConf.test.js +0 -313
  70. package/test/service/Http.test.js +0 -312
  71. package/test/service/InviteService.test.js +0 -117
  72. package/test/service/MiniWebAppFactory.test.js +0 -40
  73. package/test/service/TagTree.test.js +0 -81
  74. package/test/service/TargetService.test.js +0 -48
  75. package/test/service/TrackingService.test.js +0 -105
  76. package/test/service/UserAmeConf.test.js +0 -47
  77. package/test/service/WoodCoffeeFactory.test.js +0 -148
  78. package/test/service/Workspace.test.js +0 -211
  79. package/test/utils/getWorkspaceId.test.js +0 -17
@@ -1,211 +0,0 @@
1
- /* eslint-disable no-undef */
2
-
3
- const nock = require('nock')
4
- const path = require('path')
5
- const url = require('url')
6
-
7
- describe('Workspace', () => {
8
- let workspace, folder2watch
9
- beforeEach(() => {
10
- nock.cleanAll()
11
- folder2watch = path.resolve(__dirname, '..', '_fixtures')
12
-
13
- workspace = require('../../src/service/Workspace').workspace
14
- workspace.setFolder2Watch(folder2watch)
15
- workspace.setServerUrl('https://dev.eitri.calindra.com.br')
16
- workspace.setMiniConf({ version: '0.1.0' })
17
- workspace.blindGuardian.getToken = async () => {
18
- return { accessToken: 'xpto' }
19
- }
20
- })
21
-
22
- afterEach(() => {
23
- nock.cleanAll()
24
- })
25
-
26
- describe('.upsert(filePath)', () => {
27
- it('envia o nome do arquivo para o servidor relativo a pasta do projeto local', (done) => {
28
- nock('https://dev.eitri.calindra.com.br')
29
- .post('/foundry/fileupload', (body) => {
30
- let m = body.match(/\s+\/src\/Home\.js/)
31
- expect(m).not.toBeNull()
32
- done()
33
- return true
34
- })
35
- .reply(200, {})
36
- let filePath = path.resolve(folder2watch, 'src', 'Home.js')
37
- workspace.upsert(filePath)
38
- })
39
- it('envia o arquivo para o servidor', (done) => {
40
- nock('https://dev.eitri.calindra.com.br')
41
- .post('/foundry/fileupload', (body) => {
42
- let m = body.match(/name="file"; filename="Home\.js"/)
43
- expect(m).not.toBeNull()
44
- done()
45
- return true
46
- })
47
- .reply(200, {})
48
- let filePath = path.resolve(folder2watch, 'src', 'Home.js')
49
- workspace.upsert(filePath)
50
- })
51
- it('envia em sequencia', (done) => {
52
- nock('https://dev.eitri.calindra.com.br')
53
- .post('/foundry/fileupload')
54
- .delayBody(1000)
55
- .reply(200, { request: 1 })
56
- nock('https://dev.eitri.calindra.com.br')
57
- .post('/foundry/fileupload')
58
- .delayBody(100)
59
- .reply(200, { request: 2 })
60
- let filePath = path.resolve(folder2watch, 'src', 'Home.js')
61
- let a = workspace.upsert(filePath)
62
- let filePath2 = path.resolve(folder2watch, 'src', 'Home2.js')
63
- let b = workspace.upsert(filePath2)
64
- Promise.all([a, b])
65
- .then(() => {
66
- done()
67
- })
68
- .catch(done)
69
- })
70
-
71
- it('deve enviar de forma concorrente', async (done) => {
72
- nock('https://dev.eitri.calindra.com.br')
73
- .post('/foundry/fileupload')
74
- .delayBody(1000)
75
- .reply(200, { request: 1 })
76
- nock('https://dev.eitri.calindra.com.br')
77
- .post('/foundry/fileupload')
78
- .delayBody(100)
79
- .reply(200, { request: 2 })
80
- let filePath = path.resolve(folder2watch, 'src', 'Home.js')
81
- let filePath2 = path.resolve(folder2watch, 'src', 'Home2.js')
82
- const data = await workspace.upsert([filePath, filePath2], {}, true)
83
-
84
- data.forEach(result => {
85
- expect(result.time).toBeTruthy()
86
- expect(result.filePath).toBeTruthy()
87
- expect(result.relativePath).toBeTruthy()
88
- })
89
- done()
90
- })
91
-
92
- it('deve retornar error se o fileName conter carácteres inválidos quando o arquivo for enviado sequencialmente', async () => {
93
- let filePath = path.resolve(folder2watch, 'src', 'Homé.js')
94
- const data = await workspace.upsert(filePath, {})
95
- expect(data.message).toBe(' - No nome do arquivo possui um ou mais caracteres não permitidos: Homé.js')
96
- })
97
-
98
- it('deve retornar error se o fileName conter carácteres inválidos quando o arquivo for enviado concorrentemente', async () => {
99
- let filePath = path.resolve(folder2watch, 'src', 'Homé.js')
100
- const data = await workspace.upsert([filePath], {}, true)
101
- expect(data.message).toBe(' - No nome do arquivo possui um ou mais caracteres não permitidos: Homé.js')
102
- })
103
- }, 10000)
104
-
105
- describe('.delete(filePath)', () => {
106
- it('pede para o servidor apagar o arquivo', async () => {
107
- let scope = nock('https://dev.eitri.calindra.com.br')
108
- .delete(/\/foundry\/fileupload.*/)
109
- .reply(200, {})
110
- let filePath = path.resolve(folder2watch, 'src', 'Home.js')
111
- await workspace.delete(filePath)
112
- expect(scope.isDone()).toBe(true)
113
- })
114
- })
115
-
116
- describe('.listFilesInCorrectOrder()', () => {
117
- it('concatena os componentes', async () => {
118
- workspace.folder2watch = path.resolve(
119
- __dirname,
120
- '..',
121
- '_fixtures',
122
- 'src'
123
- )
124
- let files = await workspace.listFilesInCorrectOrder()
125
- let names = files.map((fileName) => path.basename(fileName))
126
- expect(names.slice(0, 4)).toEqual([
127
- 'TagC.jsx',
128
- 'TagB.jsx',
129
- 'TagA.jsx',
130
- 'TagD.jsx',
131
- ])
132
- })
133
- })
134
-
135
- describe('.availableTargets()', () => {
136
-
137
- const expectedTarget ={
138
- 'id': 7,
139
- 'name': 'CALINDRA_MOBILE',
140
- 'minimumCliVersion': '1.16.5',
141
- 'boilerplateUrl': 'https://github.com/Calindra/servless-backend-template',
142
- 'superAppClientLibName': 'eitri-app-client',
143
- 'componentsLibName': 'eitri-app-components',
144
- 'description': 'CALINDRA_MOBILE',
145
- 'status': 'ACTIVE',
146
- 'platform': 'mobile',
147
- 'targetConfig': [
148
- {
149
- 'id': 'default',
150
- 'libUrl': 'https://www.npmjs.com/package/eitri-app-client',
151
- 'runnerUrl': 'https://dev.eitri.calindra.com.br/app/',
152
- 'bootstrapBaseUrl': 'http://localhost:3333',
153
- 'askUserDataApiUrl': 'https://dev.eitri.calindra.com.br/miniapp-manager-api/o/mini-apps/:slug/token'
154
- },
155
- {
156
- 'id': 'ws',
157
- 'libUrl': 'https://www.npmjs.com/package/eitri-app-client',
158
- 'runnerUrl': 'https://dev.eitri.calindra.com.br/app/',
159
- 'bootstrapBaseUrl': 'http://localhost:3333',
160
- 'askUserDataApiUrl': 'https://dev.eitri.calindra.com.br/miniapp-manager-api/p/mini-apps/:slug/token/foundry'
161
- }
162
- ],
163
- 'default': false
164
- }
165
-
166
- it.skip('should return targets', async () => {
167
- nock('https://dev.eitri.calindra.com.br', { allowUnmocked: true })
168
- .get(/\/eitri-manager-api\/p\/users\/self\/targets/)
169
- .reply(200, [expectedTarget])
170
- const result = await workspace.availableTargets()
171
- expect(result).toBeDefined()
172
- expect(result).toContainEqual(expectedTarget)
173
- })
174
- })
175
-
176
- describe('.postFile()', () => {
177
- afterEach(() => {
178
- nock.cleanAll()
179
- })
180
- it('deve invocar o postLambda quando o relativePath incluir a pasta server', async () => {
181
-
182
- nock('https://dev.eitri.calindra.com.br')
183
- .post('/foundry/server')
184
- .delayBody(1000)
185
- .reply(200, { request: 1 })
186
-
187
- const filePath = path.resolve(folder2watch, 'server', 'HelloWorldBackend.js')
188
-
189
- const spiedPostLambda = jest.spyOn(workspace, 'postLambda')
190
- await workspace.postFile(filePath, false, {})
191
-
192
- expect(spiedPostLambda).toHaveBeenCalled()
193
- expect(spiedPostLambda).toHaveBeenCalledTimes(1)
194
- })
195
-
196
- it('deve invocar o postFormData quando o relativePath incluir o watchDir do miniapp', async () => {
197
- nock('https://dev.eitri.calindra.com.br')
198
- .post('/foundry/fileupload')
199
- .delayBody(1000)
200
- .reply(200, { request: 1 })
201
-
202
- const filePath = path.resolve(folder2watch, 'src', 'Home.js')
203
-
204
- const spiedPostFormData = jest.spyOn(workspace, 'postFormData')
205
- await workspace.postFile(filePath, false, {})
206
-
207
- expect(spiedPostFormData).toHaveBeenCalled()
208
- expect(spiedPostFormData).toHaveBeenCalledTimes(1)
209
- })
210
- })
211
- })
@@ -1,17 +0,0 @@
1
- const VegvisirService = require("../../src/modules/vegvisir/VegvisirService");
2
- const fs = require('fs/promises')
3
- const vegvisirService = new VegvisirService()
4
-
5
-
6
- jest.mock('fs', () => ({
7
- existsSync: (path) => true
8
- }))
9
-
10
- describe('Get WorkspaceID Tests', () => {
11
-
12
- it('should return error if workspace file not found', async () => {
13
- const promise = vegvisirService.getWorkspace()
14
- await expect(promise).rejects.toThrow("Você não tem nenhum workspace definido para desenvolvimento, execute o comando 'eitri workspace use' para definir um workspace.")
15
- });
16
-
17
- });