eitri-cli 1.13.0 → 1.14.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.
- package/bitbucket-pipelines.yml +2 -1
- package/eitri-cli-v2/eitri-cli-v2.darwin-arm64.node +0 -0
- package/eitri-cli-v2/eitri-cli-v2.darwin-x64.node +0 -0
- package/eitri-cli-v2/eitri-cli-v2.linux-x64-gnu.node +0 -0
- package/eitri-cli-v2/eitri-cli-v2.win32-x64-msvc.node +0 -0
- package/eitri-cli-v2/index.d.ts +4 -0
- package/eitri-cli-v2/index.js +2 -1
- package/index.js +170 -178
- package/package.json +1 -1
- package/src/modules/vegvisir/VegvisirCommand.js +62 -40
- package/src/service/factories/QRCodeStarterFactory.js +34 -2
package/bitbucket-pipelines.yml
CHANGED
|
@@ -13,6 +13,7 @@ pipelines:
|
|
|
13
13
|
script:
|
|
14
14
|
- cd eitri-cli-v2
|
|
15
15
|
- npm i
|
|
16
|
+
- npm i puppeteer@21.4.1
|
|
16
17
|
- npm run build:debug
|
|
17
18
|
- cd ..
|
|
18
19
|
- npm i
|
|
@@ -126,4 +127,4 @@ pipelines:
|
|
|
126
127
|
- RELEASE_VERSION=$(git describe --tags --abbrev=0 | sed 's/^v//')
|
|
127
128
|
- node -e "const fs = require('fs'); const packageJson = JSON.parse(fs.readFileSync('package.json')); packageJson.version = process.env.RELEASE_VERSION; fs.writeFileSync('package.json', JSON.stringify(packageJson, null, 4));"
|
|
128
129
|
- echo 'New release'
|
|
129
|
-
- echo $RELEASE_VERSION
|
|
130
|
+
- echo $RELEASE_VERSION
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/eitri-cli-v2/index.d.ts
CHANGED
package/eitri-cli-v2/index.js
CHANGED
|
@@ -295,10 +295,11 @@ if (!nativeBinding) {
|
|
|
295
295
|
throw new Error(`Failed to load native binding`)
|
|
296
296
|
}
|
|
297
297
|
|
|
298
|
-
const { publish, runTest, eitriLibs, doctor, app } = nativeBinding
|
|
298
|
+
const { publish, runTest, eitriLibs, doctor, app, workspace } = nativeBinding
|
|
299
299
|
|
|
300
300
|
module.exports.publish = publish
|
|
301
301
|
module.exports.runTest = runTest
|
|
302
302
|
module.exports.eitriLibs = eitriLibs
|
|
303
303
|
module.exports.doctor = doctor
|
|
304
304
|
module.exports.app = app
|
|
305
|
+
module.exports.workspace = workspace
|
package/index.js
CHANGED
|
@@ -8,194 +8,186 @@ const { workspace } = require("./src/service/Workspace");
|
|
|
8
8
|
const configService = require("./src/service/ConfigService");
|
|
9
9
|
const VegvisirCommand = require("./src/modules/vegvisir/VegvisirCommand");
|
|
10
10
|
const AppCommand = require("./src/modules/app/AppCommand");
|
|
11
|
-
const debug = require(
|
|
12
|
-
|
|
11
|
+
const debug = require("debug")("eitri:run");
|
|
13
12
|
|
|
14
13
|
const run = async () => {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
// Continuando como antes...
|
|
14
|
+
const NEW_CLI_VERSION = process.env.CLI_VERSION === "v2";
|
|
15
|
+
|
|
16
|
+
debug("Iniciando run()");
|
|
17
|
+
// Temporariamente necessário por conta de no contexto do Rust não saber o diretório atual, dessa forma exportando o fullPath do config é possível.
|
|
18
|
+
// Quando se tornar uma CLI somente em rust no processo de instalação podemos declarar o caminho, como é via NPM pode ter caminhos variados de acordo com sistema de versionamento, NVM, Volta, ASDF é necessário a variável abaixo.
|
|
19
|
+
process.env.CONFIG_DIR_PATH = path.join(__dirname, "eitri-cli-v2", "config");
|
|
20
|
+
try {
|
|
21
|
+
const srcFolder2watch = path.join(process.cwd(), "src");
|
|
22
|
+
workspace.setFolder2Watch(srcFolder2watch);
|
|
23
|
+
workspace.setServerUrl(`${configService.get("workspace").url}`);
|
|
24
|
+
} catch (e) {
|
|
25
|
+
debug("Erro no set da pasta", { message: e?.message, error: e });
|
|
26
|
+
if (process.env.LOG_LEVEL === "full") {
|
|
27
|
+
console.log("Current directory listening has failed", e);
|
|
31
28
|
}
|
|
29
|
+
// Continuando como antes...
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
program.option("-v, --version", "Mostra a versão da CLI").action(() => {
|
|
33
|
+
const { version } = require("./src/cmd/version");
|
|
34
|
+
version();
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
program
|
|
38
|
+
.command("login")
|
|
39
|
+
.description(
|
|
40
|
+
"Configura suas credenciais de desenvolvedor no dispositivo local"
|
|
41
|
+
)
|
|
42
|
+
.option("--yes", "Aceita o redirecionamento para o console")
|
|
43
|
+
.action(async (cmdObj) => {
|
|
44
|
+
require("./src/cmd/login")(cmdObj);
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
program
|
|
48
|
+
.command("create <project-name>")
|
|
49
|
+
.description(`Cria um projeto com um Eitri-App totalmente funcional.`)
|
|
50
|
+
.option("--yes", "Aceita os valores default para nome título e organização")
|
|
51
|
+
.option(
|
|
52
|
+
"--application <application>",
|
|
53
|
+
"Define o application de execução do Eitri-App"
|
|
54
|
+
)
|
|
55
|
+
.option("-v, --verbose", "Exibe mais logs")
|
|
56
|
+
.action((projectName, cmdObj) => {
|
|
57
|
+
require("./src/cmd/create")(projectName, cmdObj);
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
let startProgram = program
|
|
61
|
+
.command("start")
|
|
62
|
+
.description("Inicia o seu Eitri-App em um workspace online")
|
|
63
|
+
.option("-v, --verbose", "Exibe mais logs")
|
|
64
|
+
.option("-f, --force", "Força o start")
|
|
65
|
+
.option("-S, --show-deeplink", "Exibe o deep link do workspace")
|
|
66
|
+
.option("-sm, --skip-mini-log", "Skipa conexão com o mini-log")
|
|
67
|
+
.option(
|
|
68
|
+
"-P, --qr-printer <qrPrinter>",
|
|
69
|
+
"Indica qual programa imprimirá o QR Code. Se omitido, exibe o QrCode no terminal. Valores válidos: terminal|chrome|msedge|firefox"
|
|
70
|
+
)
|
|
71
|
+
.option(
|
|
72
|
+
"-e, --emulator <platform>",
|
|
73
|
+
"Abre o Eitri-App no emulador, desde que seja definido qual plataforma será aberto, android ou ios."
|
|
74
|
+
)
|
|
75
|
+
.option("-sh, --shared", "Executa o Eitri-App no modo compartilhável.");
|
|
76
|
+
|
|
77
|
+
startProgram.action((cmdObj) => {
|
|
78
|
+
require("./src/cmd/start")(cmdObj);
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
program
|
|
82
|
+
.command("push-version")
|
|
83
|
+
.description(
|
|
84
|
+
"Cria e envia uma versão do Eitri-App para o Console, possibilitando também publicar em um ambiente."
|
|
85
|
+
)
|
|
86
|
+
.option("-l, --local", "Aponta para o servidor local")
|
|
87
|
+
.option("-v, --verbose", "Exibe mais logs")
|
|
88
|
+
.option(
|
|
89
|
+
"-r, --release",
|
|
90
|
+
"Gera uma nova release baseado nos commits. Um arquivo CHANGELOG.md será gerado automaticamente."
|
|
91
|
+
)
|
|
92
|
+
.option("-s, --shared", "Publica o Eitri-App compartilhado")
|
|
93
|
+
.option(
|
|
94
|
+
"-m, --message <revision-message>",
|
|
95
|
+
"Adiciona comentários na versão"
|
|
96
|
+
)
|
|
97
|
+
.option("-y, --yes", "Aceita automaticamente as respostas do prompt.")
|
|
98
|
+
.action((cmdObj) => {
|
|
99
|
+
require("./src/cmd/push-version")(cmdObj);
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
program
|
|
103
|
+
.command("clean")
|
|
104
|
+
.description(
|
|
105
|
+
"Realiza a limpeza do workspace remoto do desenvolvedor. Útil quando há mal funcionamento na compilação em nuvem do Eitri-App."
|
|
106
|
+
)
|
|
107
|
+
.option("-v, --verbose", "Exibe mais logs")
|
|
108
|
+
.action(async (cmdObj) => {
|
|
109
|
+
if (NEW_CLI_VERSION) {
|
|
110
|
+
console.log("clean (v2)");
|
|
111
|
+
const eitriCLIV2 = require("./eitri-cli-v2/index.js");
|
|
112
|
+
return await eitriCLIV2.workspace.clean();
|
|
113
|
+
}
|
|
114
|
+
require("./src/cmd/clean")(cmdObj);
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
program
|
|
118
|
+
.command("self-update")
|
|
119
|
+
.description("Desinstala a versão antiga e instala a mais nova")
|
|
120
|
+
.action(() => {
|
|
121
|
+
require("child_process").execSync(
|
|
122
|
+
"npm uninstall -g eitri-cli && npm i eitri-cli -g",
|
|
123
|
+
{ stdio: "inherit" }
|
|
124
|
+
);
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
program
|
|
128
|
+
.command("libs")
|
|
129
|
+
.description("Listagem das versões das Bibliotecas do Eitri")
|
|
130
|
+
.option("--bifrost", "Lista todas as versões do Bifrost")
|
|
131
|
+
.option("--luminus", "Lista todas as versões do Luminus")
|
|
132
|
+
.action(async (cmdObj) => {
|
|
133
|
+
const eitriCLIV2 = require("./eitri-cli-v2/index.js");
|
|
134
|
+
await eitriCLIV2.eitriLibs(cmdObj);
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
program
|
|
138
|
+
.command("doctor")
|
|
139
|
+
.description(
|
|
140
|
+
"Valida as dependências externas para execução da CLI do Eitri"
|
|
141
|
+
)
|
|
142
|
+
.action(async (cmdObj) => {
|
|
143
|
+
if (NEW_CLI_VERSION) {
|
|
144
|
+
console.log("doctor (v2)");
|
|
145
|
+
const eitriCLIV2 = require("./eitri-cli-v2/index.js");
|
|
146
|
+
return await eitriCLIV2.doctor();
|
|
147
|
+
}
|
|
148
|
+
require("./src/cmd/doctor")(cmdObj);
|
|
149
|
+
});
|
|
32
150
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
151
|
+
program
|
|
152
|
+
.command("publish")
|
|
153
|
+
.description("Publica a versão atual no environment selecionado.")
|
|
154
|
+
.option(
|
|
155
|
+
"-e, --environment <environment>",
|
|
156
|
+
"Define o environment que publicará a versão atual presente no eitri-conf"
|
|
157
|
+
)
|
|
158
|
+
.option("-m, --message <publish-message>", "Adiciona comentários na versão")
|
|
159
|
+
.action(async (cmdObj) => {
|
|
160
|
+
const eitriCLIV2 = require("./eitri-cli-v2/index.js");
|
|
161
|
+
await eitriCLIV2.publish(cmdObj.environment, cmdObj.message || "");
|
|
36
162
|
});
|
|
37
163
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
program
|
|
49
|
-
.command("create <project-name>")
|
|
50
|
-
.description(`Cria um projeto com um Eitri-App totalmente funcional.`)
|
|
51
|
-
.option(
|
|
52
|
-
"--yes",
|
|
53
|
-
"Aceita os valores default para nome título e organização"
|
|
54
|
-
)
|
|
55
|
-
.option(
|
|
56
|
-
"--application <application>",
|
|
57
|
-
"Define o application de execução do Eitri-App"
|
|
58
|
-
)
|
|
59
|
-
.option("-v, --verbose", "Exibe mais logs")
|
|
60
|
-
.action((projectName, cmdObj) => {
|
|
61
|
-
require("./src/cmd/create")(projectName, cmdObj);
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
let startProgram = program
|
|
65
|
-
.command("start")
|
|
66
|
-
.description("Inicia o seu Eitri-App em um workspace online")
|
|
67
|
-
.option("-v, --verbose", "Exibe mais logs")
|
|
68
|
-
.option("-f, --force", "Força o start")
|
|
69
|
-
.option("-S, --show-deeplink", "Exibe o deep link do workspace")
|
|
70
|
-
.option("-sm, --skip-mini-log", "Skipa conexão com o mini-log")
|
|
71
|
-
.option(
|
|
72
|
-
"-P, --qr-printer <qrPrinter>",
|
|
73
|
-
"Indica qual programa imprimirá o QR Code. Se omitido, exibe o QrCode no terminal. Valores válidos: terminal|chrome|msedge|firefox"
|
|
74
|
-
)
|
|
75
|
-
.option(
|
|
76
|
-
"-e, --emulator <platform>",
|
|
77
|
-
"Abre o Eitri-App no emulador, desde que seja definido qual plataforma será aberto, android ou ios."
|
|
78
|
-
)
|
|
79
|
-
.option(
|
|
80
|
-
"-sh, --shared",
|
|
81
|
-
"Executa o Eitri-App no modo compartilhável."
|
|
82
|
-
);
|
|
83
|
-
|
|
84
|
-
startProgram.action((cmdObj) => {
|
|
85
|
-
require("./src/cmd/start")(cmdObj);
|
|
164
|
+
program
|
|
165
|
+
.command("test")
|
|
166
|
+
.description("Executa os testes do eitri-app.")
|
|
167
|
+
.option(
|
|
168
|
+
"-p --path <test_path>",
|
|
169
|
+
"Define o path do arquivo de teste que será executado."
|
|
170
|
+
)
|
|
171
|
+
.action(async (cmdObj) => {
|
|
172
|
+
return require("./src/cmd/runTests")(cmdObj);
|
|
86
173
|
});
|
|
87
174
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
.option(
|
|
101
|
-
"-m, --message <revision-message>",
|
|
102
|
-
"Adiciona comentários na versão"
|
|
103
|
-
)
|
|
104
|
-
.option("-y, --yes", "Aceita automaticamente as respostas do prompt.")
|
|
105
|
-
.action((cmdObj) => {
|
|
106
|
-
require("./src/cmd/push-version")(cmdObj);
|
|
107
|
-
});
|
|
108
|
-
|
|
109
|
-
program
|
|
110
|
-
.command("clean")
|
|
111
|
-
.description(
|
|
112
|
-
"Realiza a limpeza do workspace remoto do desenvolvedor. Útil quando há mal fucionamento na compilação em nuvem do Eitri-App."
|
|
113
|
-
)
|
|
114
|
-
.option("-v, --verbose", "Exibe mais logs")
|
|
115
|
-
.action((cmdObj) => {
|
|
116
|
-
require("./src/cmd/clean")(cmdObj);
|
|
117
|
-
});
|
|
118
|
-
|
|
119
|
-
program
|
|
120
|
-
.command("self-update")
|
|
121
|
-
.description("Desinstala a versão antiga e instala a mais nova")
|
|
122
|
-
.action(() => {
|
|
123
|
-
require("child_process").execSync(
|
|
124
|
-
"npm uninstall -g eitri-cli && npm i eitri-cli -g",
|
|
125
|
-
{ stdio: "inherit" }
|
|
126
|
-
);
|
|
127
|
-
});
|
|
128
|
-
|
|
129
|
-
program
|
|
130
|
-
.command("libs")
|
|
131
|
-
.description("Listagem das versões das Bibliotecas do Eitri")
|
|
132
|
-
.option(
|
|
133
|
-
"--bifrost",
|
|
134
|
-
"Lista todas as versões do Bifrost"
|
|
135
|
-
)
|
|
136
|
-
.option(
|
|
137
|
-
"--luminus",
|
|
138
|
-
"Lista todas as versões do Luminus"
|
|
139
|
-
)
|
|
140
|
-
.action(async (cmdObj) => {
|
|
141
|
-
const eitriCLIV2 = require('./eitri-cli-v2/index.js')
|
|
142
|
-
await eitriCLIV2.eitriLibs(cmdObj);
|
|
143
|
-
|
|
144
|
-
});
|
|
145
|
-
|
|
146
|
-
program
|
|
147
|
-
.command("doctor")
|
|
148
|
-
.description("Valida as dependências externas para execução da CLI do Eitri")
|
|
149
|
-
.action(async (cmdObj) => {
|
|
150
|
-
if (NEW_CLI_VERSION) {
|
|
151
|
-
console.log("doctor (v2)")
|
|
152
|
-
const eitriCLIV2 = require('./eitri-cli-v2/index.js')
|
|
153
|
-
return await eitriCLIV2.doctor()
|
|
154
|
-
}
|
|
155
|
-
require("./src/cmd/doctor")(cmdObj);
|
|
156
|
-
});
|
|
157
|
-
|
|
158
|
-
program
|
|
159
|
-
.command("publish")
|
|
160
|
-
.description("Publica a versão atual no environment selecionado.")
|
|
161
|
-
.option(
|
|
162
|
-
"-e, --environment <environment>",
|
|
163
|
-
"Define o environment que publicará a versão atual presente no eitri-conf"
|
|
164
|
-
)
|
|
165
|
-
.option(
|
|
166
|
-
"-m, --message <publish-message>",
|
|
167
|
-
"Adiciona comentários na versão"
|
|
168
|
-
)
|
|
169
|
-
.action(async (cmdObj) => {
|
|
170
|
-
const eitriCLIV2 = require('./eitri-cli-v2/index.js')
|
|
171
|
-
await eitriCLIV2.publish(cmdObj.environment, cmdObj.message || '')
|
|
172
|
-
});
|
|
173
|
-
|
|
174
|
-
program
|
|
175
|
-
.command("test")
|
|
176
|
-
.description("Executa os testes do eitri-app.")
|
|
177
|
-
.option(
|
|
178
|
-
"-p --path <test_path>",
|
|
179
|
-
"Define o path do arquivo de teste que será executado."
|
|
180
|
-
)
|
|
181
|
-
.action(async (cmdObj) => { return require("./src/cmd/runTests")(cmdObj) });
|
|
182
|
-
|
|
183
|
-
program.addCommand(VegvisirCommand());
|
|
184
|
-
program.addCommand(AppCommand());
|
|
185
|
-
|
|
186
|
-
if (
|
|
187
|
-
process.argv.length > 2 &&
|
|
188
|
-
!program.commands.map((cmd) => cmd._name).includes(process.argv[2])
|
|
189
|
-
) {
|
|
190
|
-
if (!process.argv[2].startsWith("-")) {
|
|
191
|
-
console.log(
|
|
192
|
-
`\n ${emoji.lib.rotating_light.char} Comando ${process.argv[2]} inexistente.\n`
|
|
193
|
-
);
|
|
194
|
-
program.help();
|
|
195
|
-
}
|
|
175
|
+
program.addCommand(VegvisirCommand());
|
|
176
|
+
program.addCommand(AppCommand());
|
|
177
|
+
|
|
178
|
+
if (
|
|
179
|
+
process.argv.length > 2 &&
|
|
180
|
+
!program.commands.map((cmd) => cmd._name).includes(process.argv[2])
|
|
181
|
+
) {
|
|
182
|
+
if (!process.argv[2].startsWith("-")) {
|
|
183
|
+
console.log(
|
|
184
|
+
`\n ${emoji.lib.rotating_light.char} Comando ${process.argv[2]} inexistente.\n`
|
|
185
|
+
);
|
|
186
|
+
program.help();
|
|
196
187
|
}
|
|
188
|
+
}
|
|
197
189
|
|
|
198
|
-
|
|
190
|
+
program.parse(process.argv);
|
|
199
191
|
};
|
|
200
192
|
|
|
201
193
|
module.exports = run;
|
package/package.json
CHANGED
|
@@ -1,44 +1,66 @@
|
|
|
1
1
|
const commander = require("commander");
|
|
2
2
|
|
|
3
3
|
module.exports = function VegvisirCommand() {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
4
|
+
const NEW_CLI_VERSION = process.env.CLI_VERSION === "v2";
|
|
5
|
+
|
|
6
|
+
const workspaceCommand = commander
|
|
7
|
+
.command("workspace")
|
|
8
|
+
.description(
|
|
9
|
+
"Gerencia os workspaces do desenvolvedor, para mais informações execute 'eitri workspace --help'"
|
|
10
|
+
);
|
|
11
|
+
|
|
12
|
+
workspaceCommand
|
|
13
|
+
.command("list")
|
|
14
|
+
.description("Lista os workspaces do usuário")
|
|
15
|
+
.action(async (cmdObj) => {
|
|
16
|
+
require("./cmd/list")(cmdObj);
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
workspaceCommand
|
|
20
|
+
.command("use")
|
|
21
|
+
.description("Seleciona qual workspace a ser utilizado")
|
|
22
|
+
.option(
|
|
23
|
+
"--local",
|
|
24
|
+
"Seleciona um workspace para um diretório de Eitri-App específico"
|
|
25
|
+
)
|
|
26
|
+
.option(
|
|
27
|
+
"--name <workspace-name>",
|
|
28
|
+
"Permite selecionar um workspace previamente criado pelo nome"
|
|
29
|
+
)
|
|
30
|
+
.action(async (cmdObj) => {
|
|
31
|
+
require("./cmd/use.js")(cmdObj);
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
workspaceCommand
|
|
35
|
+
.command("create")
|
|
36
|
+
.description("Cria um workspace para desenvolvimento de Eitri-Apps")
|
|
37
|
+
.action((cmdObj) => {
|
|
38
|
+
require("./cmd/create")(cmdObj);
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
workspaceCommand
|
|
42
|
+
.command("current")
|
|
43
|
+
.description(
|
|
44
|
+
"Exibe o workspace atual, obedecendo a prioridade Local > Global."
|
|
45
|
+
)
|
|
46
|
+
.action(async (cmdObj) => {
|
|
47
|
+
if (NEW_CLI_VERSION) {
|
|
48
|
+
const eitriCLIV2 = require("../../../eitri-cli-v2/index.js");
|
|
49
|
+
return await eitriCLIV2.workspace.current();
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
require("./cmd/current")(cmdObj);
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
workspaceCommand
|
|
56
|
+
.command("clean")
|
|
57
|
+
.description(
|
|
58
|
+
"Realiza a limpeza do workspace remoto do desenvolvedor. Útil quando há mal funcionamento na compilação em nuvem do Eitri-App. Obedece a prioridade Local > Global."
|
|
59
|
+
)
|
|
60
|
+
.action(async () => {
|
|
61
|
+
const eitriCLIV2 = require("../../../eitri-cli-v2/index.js");
|
|
62
|
+
await eitriCLIV2.workspace.clean();
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
return workspaceCommand;
|
|
44
66
|
};
|
|
@@ -3,6 +3,7 @@ const readline = require("readline");
|
|
|
3
3
|
const chalk = require("chalk");
|
|
4
4
|
const os = require("os");
|
|
5
5
|
const EmulatorService = require("../EmulatorService");
|
|
6
|
+
const qrcode = require('qrcode')
|
|
6
7
|
|
|
7
8
|
function QRCodeStarter(
|
|
8
9
|
args,
|
|
@@ -51,6 +52,7 @@ function QRCodeStarter(
|
|
|
51
52
|
await tryOpenEmulator(fullUrl, args);
|
|
52
53
|
}
|
|
53
54
|
|
|
55
|
+
await listenerKeyPressToShowQrCode(fullUrl);
|
|
54
56
|
await listenerKeyPressToOpenEmulator(fullUrl, args.deepLinks);
|
|
55
57
|
};
|
|
56
58
|
}
|
|
@@ -74,8 +76,7 @@ async function listenerKeyPressToOpenEmulator(url, deepLinks) {
|
|
|
74
76
|
if(!deepLinks || deepLinks?.length < 1) return;
|
|
75
77
|
const enterText = chalk.blue.bold("Enter");
|
|
76
78
|
console.log("================================================");
|
|
77
|
-
console.log(`\t${chalk.
|
|
78
|
-
console.log("================================================");
|
|
79
|
+
console.log(`\t${chalk.blue.bold("Abertura de Eitri-App automática")}`);
|
|
79
80
|
console.log(
|
|
80
81
|
`Digite ${chalk.blue.bold(
|
|
81
82
|
"a"
|
|
@@ -110,6 +111,37 @@ async function listenerKeyPressToOpenEmulator(url, deepLinks) {
|
|
|
110
111
|
});
|
|
111
112
|
}
|
|
112
113
|
|
|
114
|
+
async function listenerKeyPressToShowQrCode(url) {
|
|
115
|
+
const enterText = chalk.green.bold("Enter");
|
|
116
|
+
|
|
117
|
+
console.log("================================================");
|
|
118
|
+
console.log(
|
|
119
|
+
`Digite ${chalk.green.bold(
|
|
120
|
+
"q"
|
|
121
|
+
)} e pressione ${enterText} no terminal para exibir o QrCode`
|
|
122
|
+
);
|
|
123
|
+
|
|
124
|
+
console.log("================================================");
|
|
125
|
+
readline.emitKeypressEvents(process.stdin);
|
|
126
|
+
|
|
127
|
+
process.stdin.on("keypress", async (_, key) => {
|
|
128
|
+
try {
|
|
129
|
+
if(key){
|
|
130
|
+
if (key.name == "q" || key.name == "Q") {
|
|
131
|
+
qrcode.toString(url, {type:"terminal", small: true}, function(_, qrCode) {
|
|
132
|
+
console.log(qrCode)
|
|
133
|
+
})
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
} catch (error) {
|
|
138
|
+
console.error("Não foi possível exibir o QR Code. Não se preocupe, seu desenvolvimento não foi interrompido.")
|
|
139
|
+
console.log(error);
|
|
140
|
+
process.exit(0);
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
|
|
113
145
|
function extractShareId(url) {
|
|
114
146
|
const [, shareId] = url.split("/share/");
|
|
115
147
|
return shareId;
|