deploy-webapp 1.0.1 → 1.0.4

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 (2) hide show
  1. package/install.js +53 -13
  2. package/package.json +1 -1
package/install.js CHANGED
@@ -4,7 +4,42 @@ const path = require('path');
4
4
  // Caminho do pacote instalado
5
5
  const packagePath = __dirname;
6
6
  const utilsPath = path.join(packagePath, 'src', 'utils');
7
- const projectRoot = process.cwd();
7
+
8
+ // Encontrar a raiz do projeto (subir de node_modules até encontrar package.json do projeto)
9
+ function findProjectRoot(startPath) {
10
+ // Se estamos em node_modules, subir até a raiz do projeto
11
+ if (startPath.includes('node_modules')) {
12
+ // Encontrar o índice de node_modules e pegar o diretório pai
13
+ const nodeModulesIndex = startPath.indexOf('node_modules');
14
+ const candidateRoot = startPath.substring(0, nodeModulesIndex);
15
+
16
+ // Normalizar o caminho (remover barra final se houver)
17
+ const normalizedRoot = candidateRoot.replace(/[\/\\]$/, '');
18
+
19
+ // Verificar se existe package.json nesse diretório (raiz do projeto)
20
+ const packageJsonPath = path.join(normalizedRoot, 'package.json');
21
+ if (fs.existsSync(packageJsonPath)) {
22
+ // Verificar se não é o package.json do próprio pacote deploy-webapp
23
+ try {
24
+ const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
25
+ if (packageJson.name !== 'deploy-webapp') {
26
+ return normalizedRoot;
27
+ }
28
+ } catch (e) {
29
+ // Se não conseguir ler, assumir que é a raiz
30
+ return normalizedRoot;
31
+ }
32
+ }
33
+ // Se não encontrou package.json, ainda assim usar o diretório acima de node_modules
34
+ return normalizedRoot;
35
+ }
36
+
37
+ // Fallback: usar process.cwd() (diretório onde o comando foi executado)
38
+ // Isso funciona porque quando yarn/npm instala, o cwd é a raiz do projeto
39
+ return process.cwd();
40
+ }
41
+
42
+ const projectRoot = findProjectRoot(packagePath);
8
43
 
9
44
  // Arquivos a serem copiados (com seus caminhos de origem)
10
45
  const filesToCopy = [
@@ -13,16 +48,18 @@ const filesToCopy = [
13
48
  { source: path.join(packagePath, 'README.md'), dest: 'README.md' }
14
49
  ];
15
50
 
16
- console.log('📦 deploy-webapp: Configurando arquivos de configuração...');
17
-
18
51
  // Verificar se estamos em node_modules (instalação do pacote)
19
52
  const isInstalled = packagePath.includes('node_modules');
20
53
 
21
54
  if (!isInstalled) {
22
- console.log('ℹ️ deploy-webapp: Executando em modo desenvolvimento, pulando cópia de arquivos.');
55
+ // Modo desenvolvimento - não fazer nada
23
56
  process.exit(0);
24
57
  }
25
58
 
59
+ console.log('📦 deploy-webapp: Configurando arquivos de configuração...');
60
+ console.log(` 📍 Pacote instalado em: ${packagePath}`);
61
+ console.log(` 📍 Raiz do projeto: ${projectRoot}`);
62
+
26
63
  // Criar função para copiar arquivo
27
64
  function copyFileIfNotExists(sourcePath, destFile) {
28
65
  const destPath = path.join(projectRoot, destFile);
@@ -33,9 +70,9 @@ function copyFileIfNotExists(sourcePath, destFile) {
33
70
  return false;
34
71
  }
35
72
 
36
- // Se o arquivo destino já existe, não sobrescrever
73
+ // Se o arquivo destino já existe, não sobrescrever (protege configurações do usuário)
37
74
  if (fs.existsSync(destPath)) {
38
- console.log(`ℹ️ deploy-webapp: ${destFile} já existe, mantendo arquivo existente.`);
75
+ console.log(`ℹ️ deploy-webapp: ${destFile} já existe na raiz do projeto, mantendo arquivo existente.`);
39
76
  return false;
40
77
  }
41
78
 
@@ -59,13 +96,16 @@ filesToCopy.forEach(({ source, dest }) => {
59
96
  });
60
97
 
61
98
  if (copiedCount > 0) {
62
- console.log(`\n✨ deploy-webapp: ${copiedCount} arquivo(s) de configuração criado(s) na raiz do projeto.`);
63
- console.log('📝 Próximos passos:');
64
- console.log(' 1. Edite ids.csv com os IDs dos workflows');
65
- console.log(' 2. Edite updateWorkflow.json com suas configurações');
66
- console.log(' 3. Crie o arquivo .env com suas credenciais');
67
- console.log(' 4. Execute: node -e "require(\'deploy-webapp\')" ou crie um script personalizado\n');
99
+ console.log(`\n✨ deploy-webapp: ${copiedCount} arquivo(s) de configuração criado(s) automaticamente na raiz do projeto!`);
100
+ console.log(`\n📝 Arquivos criados em: ${projectRoot}`);
101
+ console.log('\n📋 Próximos passos:');
102
+ console.log(' 1. ✏️ Edite ids.csv com os IDs dos workflows que deseja migrar');
103
+ console.log(' 2. ✏️ Edite updateWorkflow.json com suas configurações específicas');
104
+ console.log(' 3. 🔐 Crie o arquivo .env na raiz com suas credenciais (veja README.md)');
105
+ console.log(' 4. 🚀 Crie um arquivo migrate.js e execute: node migrate.js\n');
106
+ console.log('💡 Dica: Os arquivos já estão prontos para edição na raiz do seu projeto!\n');
68
107
  } else {
69
- console.log('\nℹ️ deploy-webapp: Todos os arquivos de configuração já existem ou não foram encontrados.\n');
108
+ console.log('\nℹ️ deploy-webapp: Todos os arquivos de configuração já existem na raiz do projeto.');
109
+ console.log(' Se precisar recriar, delete os arquivos e reinstale o pacote.\n');
70
110
  }
71
111
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "deploy-webapp",
3
- "version": "1.0.1",
3
+ "version": "1.0.4",
4
4
  "description": "Script para deploy de esteiras no WebApp.",
5
5
  "main": "dist/0_index.js",
6
6
  "bin": {