deploy-webapp 1.0.7 → 1.0.9
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/dist/0.1_migrator.js +11 -3
- package/dist/utils/constants.js +10 -1
- package/install.js +39 -7
- package/package.json +1 -1
- package/src/utils/ids.csv +1 -1
package/dist/0.1_migrator.js
CHANGED
|
@@ -44,7 +44,6 @@ const _2_workflow_step_1 = require("./functions/2_workflow_step");
|
|
|
44
44
|
const _3_client_function_1 = require("./functions/3_client_function");
|
|
45
45
|
const _4_workflow_form_groups_1 = require("./functions/4_workflow_form_groups");
|
|
46
46
|
const _1_workflow_1 = require("./functions/1_workflow");
|
|
47
|
-
const logsDirectory = path.resolve(__dirname, "./utils");
|
|
48
47
|
const runMigration = async () => {
|
|
49
48
|
if (!constants_1.emailLoginQA || !constants_1.passwordLoginQA || !constants_1.emailLoginPROD || !constants_1.passwordLoginPROD || !constants_1.client || !constants_1.serviceKey) {
|
|
50
49
|
throw new Error("Variáveis de ambiente WEBAPP_QA_EMAIL_LOGIN, WEBAPP_QA_PASSWORD_LOGIN, WEBAPP_PROD_EMAIL_LOGIN, WEBAPP_PROD_PASSWORD_LOGIN, CLIENT_ID e/ou SERVICE_KEY não definidas");
|
|
@@ -55,10 +54,19 @@ const runMigration = async () => {
|
|
|
55
54
|
(0, console_1.log)(`${constants_1.cor.Yellow}Históricos limpos. Iniciando migração...${constants_1.cor.Reset}`);
|
|
56
55
|
const access_token_qa = await (0, qa_client_1.loginQA)(constants_1.client, constants_1.serviceKey, constants_1.emailLoginQA, constants_1.passwordLoginQA);
|
|
57
56
|
const access_token_prod = await (0, prod_client_1.loginPROD)(constants_1.client, constants_1.serviceKey, constants_1.emailLoginPROD, constants_1.passwordLoginPROD);
|
|
58
|
-
|
|
57
|
+
// Procurar arquivos na raiz do projeto (process.cwd())
|
|
58
|
+
const projectRoot = process.cwd();
|
|
59
|
+
const updateWorkflow = path.resolve(projectRoot, "updateWorkflow.json");
|
|
60
|
+
const csvFilePath = path.resolve(projectRoot, "ids.csv");
|
|
61
|
+
// Verificar se os arquivos existem
|
|
62
|
+
if (!fs.existsSync(updateWorkflow)) {
|
|
63
|
+
throw new Error(`Arquivo updateWorkflow.json não encontrado em: ${projectRoot}\nCertifique-se de que o arquivo está na raiz do projeto.`);
|
|
64
|
+
}
|
|
65
|
+
if (!fs.existsSync(csvFilePath)) {
|
|
66
|
+
throw new Error(`Arquivo ids.csv não encontrado em: ${projectRoot}\nCertifique-se de que o arquivo está na raiz do projeto.`);
|
|
67
|
+
}
|
|
59
68
|
const getUpdateWorkflow = fs.readFileSync(updateWorkflow, "utf8");
|
|
60
69
|
const updateWorkflowData = JSON.parse(getUpdateWorkflow);
|
|
61
|
-
const csvFilePath = path.resolve(logsDirectory, "ids.csv");
|
|
62
70
|
const csv = require("csvtojson");
|
|
63
71
|
const jsonArray = await csv({ delimiter: ";" }).fromFile(csvFilePath);
|
|
64
72
|
const arrayIds = jsonArray.map((row) => ({
|
package/dist/utils/constants.js
CHANGED
|
@@ -14,7 +14,16 @@ const dotenv_1 = __importDefault(require("dotenv"));
|
|
|
14
14
|
const fs_1 = __importDefault(require("fs"));
|
|
15
15
|
const path_1 = __importDefault(require("path"));
|
|
16
16
|
dotenv_1.default.config();
|
|
17
|
-
|
|
17
|
+
// Determinar o diretório de trabalho correto
|
|
18
|
+
// Se estiver em node_modules, usar process.cwd() (raiz do projeto)
|
|
19
|
+
// Caso contrário, usar __dirname (modo desenvolvimento)
|
|
20
|
+
function getWorkingDirectory() {
|
|
21
|
+
if (__dirname.includes('node_modules')) {
|
|
22
|
+
return process.cwd();
|
|
23
|
+
}
|
|
24
|
+
return __dirname;
|
|
25
|
+
}
|
|
26
|
+
const logsDirectory = getWorkingDirectory();
|
|
18
27
|
exports.client = process.env.CLIENT;
|
|
19
28
|
exports.serviceKey = process.env.SERVICE_KEY;
|
|
20
29
|
exports.clientIdQA = process.env.CLIENT_ID_QA;
|
package/install.js
CHANGED
|
@@ -52,19 +52,37 @@ const filesToCopy = [
|
|
|
52
52
|
const migrateJsContent = `require('dotenv').config();
|
|
53
53
|
const { runMigration } = require('deploy-webapp');
|
|
54
54
|
|
|
55
|
-
console.log('🚀 Iniciando
|
|
55
|
+
console.log('🚀 Iniciando deploy...\n');
|
|
56
56
|
|
|
57
57
|
runMigration()
|
|
58
58
|
.then(() => {
|
|
59
|
-
console.log('
|
|
59
|
+
console.log('\n✅ Deploy concluído com sucesso!');
|
|
60
60
|
process.exit(0);
|
|
61
61
|
})
|
|
62
62
|
.catch((error) => {
|
|
63
|
-
console.error('
|
|
63
|
+
console.error('\n❌ Erro no deploy:', error);
|
|
64
64
|
process.exit(1);
|
|
65
65
|
});
|
|
66
66
|
`;
|
|
67
67
|
|
|
68
|
+
// Conteúdo do arquivo .env template a ser criado
|
|
69
|
+
const envTemplateContent = `# Configurações Gerais
|
|
70
|
+
CLIENT=seu_client_id
|
|
71
|
+
SERVICE_KEY=sua_service_key
|
|
72
|
+
|
|
73
|
+
# Ambiente QA
|
|
74
|
+
CLIENT_ID_QA=client_id_qa
|
|
75
|
+
EMAIL_LOGIN_QA=email@qa.com
|
|
76
|
+
PASSWORD_LOGIN_QA=senha_qa
|
|
77
|
+
URL_QA=https://url-qa.com
|
|
78
|
+
|
|
79
|
+
# Ambiente PROD
|
|
80
|
+
CLIENT_ID_PROD=client_id_prod
|
|
81
|
+
EMAIL_LOGIN_PROD=email@prod.com
|
|
82
|
+
PASSWORD_LOGIN_PROD=senha_prod
|
|
83
|
+
URL_PROD=https://url-prod.com
|
|
84
|
+
`;
|
|
85
|
+
|
|
68
86
|
// Verificar se estamos em node_modules (instalação do pacote)
|
|
69
87
|
const isInstalled = packagePath.includes('node_modules');
|
|
70
88
|
|
|
@@ -126,6 +144,20 @@ if (!fs.existsSync(migrateJsPath)) {
|
|
|
126
144
|
console.log('ℹ️ deploy-webapp: migrate.js já existe, mantendo arquivo existente.');
|
|
127
145
|
}
|
|
128
146
|
|
|
147
|
+
// Criar arquivo .env se não existir
|
|
148
|
+
const envPath = path.join(projectRoot, '.env');
|
|
149
|
+
if (!fs.existsSync(envPath)) {
|
|
150
|
+
try {
|
|
151
|
+
fs.writeFileSync(envPath, envTemplateContent, 'utf8');
|
|
152
|
+
console.log('✅ deploy-webapp: .env criado com sucesso!');
|
|
153
|
+
copiedCount++;
|
|
154
|
+
} catch (error) {
|
|
155
|
+
console.error('❌ deploy-webapp: Erro ao criar .env:', error.message);
|
|
156
|
+
}
|
|
157
|
+
} else {
|
|
158
|
+
console.log('ℹ️ deploy-webapp: .env já existe, mantendo arquivo existente.');
|
|
159
|
+
}
|
|
160
|
+
|
|
129
161
|
// Atualizar package.json com scripts se necessário
|
|
130
162
|
const packageJsonPath = path.join(projectRoot, 'package.json');
|
|
131
163
|
if (fs.existsSync(packageJsonPath)) {
|
|
@@ -214,11 +246,11 @@ if (copiedCount > 0) {
|
|
|
214
246
|
console.log(`\n✨ deploy-webapp: ${copiedCount} arquivo(s) criado(s) automaticamente na raiz do projeto!`);
|
|
215
247
|
console.log(`\n📝 Arquivos criados em: ${projectRoot}`);
|
|
216
248
|
console.log('\n📋 Próximos passos:');
|
|
217
|
-
console.log(' 1.
|
|
218
|
-
console.log(' 2. ✏️ Edite
|
|
219
|
-
console.log(' 3.
|
|
249
|
+
console.log(' 1. 🔐 Edite .env com suas credenciais (substitua os valores de exemplo)');
|
|
250
|
+
console.log(' 2. ✏️ Edite ids.csv com os IDs dos workflows que deseja migrar');
|
|
251
|
+
console.log(' 3. ✏️ Edite updateWorkflow.json com suas configurações específicas');
|
|
220
252
|
console.log(' 4. 🚀 Execute: yarn start ou npm start\n');
|
|
221
|
-
console.log('💡 Dica: Tudo está configurado! Basta
|
|
253
|
+
console.log('💡 Dica: Tudo está configurado! Basta preencher os valores e executar yarn start!\n');
|
|
222
254
|
} else {
|
|
223
255
|
console.log('\nℹ️ deploy-webapp: Todos os arquivos já existem na raiz do projeto.');
|
|
224
256
|
console.log(' Execute: yarn start ou npm start para iniciar a migração.\n');
|
package/package.json
CHANGED
package/src/utils/ids.csv
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
workflow_id;
|
|
2
|
-
cole os ids dos workflows que deseja deployar aqui
|
|
2
|
+
cole os ids dos workflows que deseja deployar aqui;
|