deploy-webapp 1.0.4 → 1.0.7
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/install.js +123 -8
- package/package.json +1 -1
- package/src/utils/ids.csv +1 -2
- package/src/utils/updateWorkflow.json +2 -2
package/install.js
CHANGED
|
@@ -12,10 +12,10 @@ function findProjectRoot(startPath) {
|
|
|
12
12
|
// Encontrar o índice de node_modules e pegar o diretório pai
|
|
13
13
|
const nodeModulesIndex = startPath.indexOf('node_modules');
|
|
14
14
|
const candidateRoot = startPath.substring(0, nodeModulesIndex);
|
|
15
|
-
|
|
15
|
+
|
|
16
16
|
// Normalizar o caminho (remover barra final se houver)
|
|
17
17
|
const normalizedRoot = candidateRoot.replace(/[\/\\]$/, '');
|
|
18
|
-
|
|
18
|
+
|
|
19
19
|
// Verificar se existe package.json nesse diretório (raiz do projeto)
|
|
20
20
|
const packageJsonPath = path.join(normalizedRoot, 'package.json');
|
|
21
21
|
if (fs.existsSync(packageJsonPath)) {
|
|
@@ -33,7 +33,7 @@ function findProjectRoot(startPath) {
|
|
|
33
33
|
// Se não encontrou package.json, ainda assim usar o diretório acima de node_modules
|
|
34
34
|
return normalizedRoot;
|
|
35
35
|
}
|
|
36
|
-
|
|
36
|
+
|
|
37
37
|
// Fallback: usar process.cwd() (diretório onde o comando foi executado)
|
|
38
38
|
// Isso funciona porque quando yarn/npm instala, o cwd é a raiz do projeto
|
|
39
39
|
return process.cwd();
|
|
@@ -48,6 +48,23 @@ const filesToCopy = [
|
|
|
48
48
|
{ source: path.join(packagePath, 'README.md'), dest: 'README.md' }
|
|
49
49
|
];
|
|
50
50
|
|
|
51
|
+
// Conteúdo do arquivo migrate.js a ser criado
|
|
52
|
+
const migrateJsContent = `require('dotenv').config();
|
|
53
|
+
const { runMigration } = require('deploy-webapp');
|
|
54
|
+
|
|
55
|
+
console.log('🚀 Iniciando migração de workflows...\\n');
|
|
56
|
+
|
|
57
|
+
runMigration()
|
|
58
|
+
.then(() => {
|
|
59
|
+
console.log('\\n✅ Migração concluída com sucesso!');
|
|
60
|
+
process.exit(0);
|
|
61
|
+
})
|
|
62
|
+
.catch((error) => {
|
|
63
|
+
console.error('\\n❌ Erro na migração:', error);
|
|
64
|
+
process.exit(1);
|
|
65
|
+
});
|
|
66
|
+
`;
|
|
67
|
+
|
|
51
68
|
// Verificar se estamos em node_modules (instalação do pacote)
|
|
52
69
|
const isInstalled = packagePath.includes('node_modules');
|
|
53
70
|
|
|
@@ -95,17 +112,115 @@ filesToCopy.forEach(({ source, dest }) => {
|
|
|
95
112
|
}
|
|
96
113
|
});
|
|
97
114
|
|
|
115
|
+
// Criar arquivo migrate.js se não existir
|
|
116
|
+
const migrateJsPath = path.join(projectRoot, 'migrate.js');
|
|
117
|
+
if (!fs.existsSync(migrateJsPath)) {
|
|
118
|
+
try {
|
|
119
|
+
fs.writeFileSync(migrateJsPath, migrateJsContent, 'utf8');
|
|
120
|
+
console.log('✅ deploy-webapp: migrate.js criado com sucesso!');
|
|
121
|
+
copiedCount++;
|
|
122
|
+
} catch (error) {
|
|
123
|
+
console.error('❌ deploy-webapp: Erro ao criar migrate.js:', error.message);
|
|
124
|
+
}
|
|
125
|
+
} else {
|
|
126
|
+
console.log('ℹ️ deploy-webapp: migrate.js já existe, mantendo arquivo existente.');
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
// Atualizar package.json com scripts se necessário
|
|
130
|
+
const packageJsonPath = path.join(projectRoot, 'package.json');
|
|
131
|
+
if (fs.existsSync(packageJsonPath)) {
|
|
132
|
+
try {
|
|
133
|
+
let packageJson = {};
|
|
134
|
+
const packageJsonContent = fs.readFileSync(packageJsonPath, 'utf8');
|
|
135
|
+
|
|
136
|
+
// Tentar parsear o JSON, se falhar criar um novo objeto
|
|
137
|
+
try {
|
|
138
|
+
packageJson = JSON.parse(packageJsonContent);
|
|
139
|
+
} catch (parseError) {
|
|
140
|
+
console.log('⚠️ deploy-webapp: package.json inválido, criando novo...');
|
|
141
|
+
packageJson = {};
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
let updated = false;
|
|
145
|
+
|
|
146
|
+
// Garantir que name e version existam
|
|
147
|
+
if (!packageJson.name) {
|
|
148
|
+
packageJson.name = path.basename(projectRoot);
|
|
149
|
+
updated = true;
|
|
150
|
+
}
|
|
151
|
+
if (!packageJson.version) {
|
|
152
|
+
packageJson.version = '1.0.0';
|
|
153
|
+
updated = true;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
// Criar scripts se não existir
|
|
157
|
+
if (!packageJson.scripts) {
|
|
158
|
+
packageJson.scripts = {};
|
|
159
|
+
updated = true;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
// Adicionar script start se não existir ou se for diferente
|
|
163
|
+
if (!packageJson.scripts.start || packageJson.scripts.start !== 'node migrate.js') {
|
|
164
|
+
packageJson.scripts.start = 'node migrate.js';
|
|
165
|
+
updated = true;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
// Adicionar script migrate se não existir ou se for diferente
|
|
169
|
+
if (!packageJson.scripts.migrate || packageJson.scripts.migrate !== 'node migrate.js') {
|
|
170
|
+
packageJson.scripts.migrate = 'node migrate.js';
|
|
171
|
+
updated = true;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
// Garantir que dependencies existe
|
|
175
|
+
if (!packageJson.dependencies) {
|
|
176
|
+
packageJson.dependencies = {};
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
// Salvar sempre (mesmo que não tenha atualizado, garante formatação correta)
|
|
180
|
+
fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2) + '\n', 'utf8');
|
|
181
|
+
if (updated) {
|
|
182
|
+
console.log('✅ deploy-webapp: Scripts adicionados/atualizados no package.json!');
|
|
183
|
+
copiedCount++;
|
|
184
|
+
} else {
|
|
185
|
+
console.log('ℹ️ deploy-webapp: Scripts já existem no package.json.');
|
|
186
|
+
}
|
|
187
|
+
} catch (error) {
|
|
188
|
+
console.error('❌ deploy-webapp: Erro ao atualizar package.json:', error.message);
|
|
189
|
+
console.error(' Stack:', error.stack);
|
|
190
|
+
}
|
|
191
|
+
} else {
|
|
192
|
+
// Se não existe package.json, criar um novo
|
|
193
|
+
try {
|
|
194
|
+
const newPackageJson = {
|
|
195
|
+
name: path.basename(projectRoot),
|
|
196
|
+
version: '1.0.0',
|
|
197
|
+
scripts: {
|
|
198
|
+
start: 'node migrate.js',
|
|
199
|
+
migrate: 'node migrate.js'
|
|
200
|
+
},
|
|
201
|
+
dependencies: {
|
|
202
|
+
'deploy-webapp': require(path.join(packagePath, 'package.json')).version || 'latest'
|
|
203
|
+
}
|
|
204
|
+
};
|
|
205
|
+
fs.writeFileSync(packageJsonPath, JSON.stringify(newPackageJson, null, 2) + '\n', 'utf8');
|
|
206
|
+
console.log('✅ deploy-webapp: package.json criado com scripts!');
|
|
207
|
+
copiedCount++;
|
|
208
|
+
} catch (error) {
|
|
209
|
+
console.error('❌ deploy-webapp: Erro ao criar package.json:', error.message);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
|
|
98
213
|
if (copiedCount > 0) {
|
|
99
|
-
console.log(`\n✨ deploy-webapp: ${copiedCount} arquivo(s)
|
|
214
|
+
console.log(`\n✨ deploy-webapp: ${copiedCount} arquivo(s) criado(s) automaticamente na raiz do projeto!`);
|
|
100
215
|
console.log(`\n📝 Arquivos criados em: ${projectRoot}`);
|
|
101
216
|
console.log('\n📋 Próximos passos:');
|
|
102
217
|
console.log(' 1. ✏️ Edite ids.csv com os IDs dos workflows que deseja migrar');
|
|
103
218
|
console.log(' 2. ✏️ Edite updateWorkflow.json com suas configurações específicas');
|
|
104
219
|
console.log(' 3. 🔐 Crie o arquivo .env na raiz com suas credenciais (veja README.md)');
|
|
105
|
-
console.log(' 4. 🚀
|
|
106
|
-
console.log('💡 Dica:
|
|
220
|
+
console.log(' 4. 🚀 Execute: yarn start ou npm start\n');
|
|
221
|
+
console.log('💡 Dica: Tudo está configurado! Basta editar os arquivos e executar yarn start!\n');
|
|
107
222
|
} else {
|
|
108
|
-
console.log('\nℹ️ deploy-webapp: Todos os arquivos
|
|
109
|
-
console.log('
|
|
223
|
+
console.log('\nℹ️ deploy-webapp: Todos os arquivos já existem na raiz do projeto.');
|
|
224
|
+
console.log(' Execute: yarn start ou npm start para iniciar a migração.\n');
|
|
110
225
|
}
|
|
111
226
|
|
package/package.json
CHANGED
package/src/utils/ids.csv
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
{
|
|
2
|
-
"flow_form_id": "
|
|
3
|
-
"updateWorkflowProtocolFunction": "
|
|
2
|
+
"flow_form_id": "",
|
|
3
|
+
"updateWorkflowProtocolFunction": ""
|
|
4
4
|
}
|