@silasfmartins/testhub 1.0.0
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/.github/copilot-instructions.md +520 -0
- package/biome.json +37 -0
- package/dist/index.d.ts +45 -0
- package/dist/index.js +169 -0
- package/dist/scripts/consumer-postinstall.d.ts +15 -0
- package/dist/scripts/consumer-postinstall.js +785 -0
- package/dist/scripts/generate-docs.d.ts +16 -0
- package/dist/scripts/generate-docs.js +1363 -0
- package/dist/scripts/generate-index.d.ts +2 -0
- package/dist/scripts/generate-index.js +314 -0
- package/dist/scripts/init-api.d.ts +2 -0
- package/dist/scripts/init-api.js +525 -0
- package/dist/scripts/init-banco.d.ts +2 -0
- package/dist/scripts/init-banco.js +347 -0
- package/dist/scripts/init-frontend.d.ts +2 -0
- package/dist/scripts/init-frontend.js +627 -0
- package/dist/scripts/init-mobile.d.ts +2 -0
- package/dist/scripts/init-mobile.js +481 -0
- package/dist/scripts/init-scenarios.d.ts +2 -0
- package/dist/scripts/init-scenarios.js +846 -0
- package/dist/scripts/init-ssh.d.ts +2 -0
- package/dist/scripts/init-ssh.js +639 -0
- package/dist/scripts/package-versions.d.ts +57 -0
- package/dist/scripts/package-versions.js +768 -0
- package/dist/scripts/postinstall.d.ts +1 -0
- package/dist/scripts/postinstall.js +527 -0
- package/dist/scripts/robust-build.d.ts +7 -0
- package/dist/scripts/robust-build.js +88 -0
- package/dist/scripts/setup-local-packages.d.ts +31 -0
- package/dist/scripts/setup-local-packages.js +237 -0
- package/dist/scripts/smart-override.d.ts +2 -0
- package/dist/scripts/smart-override.js +1360 -0
- package/dist/scripts/sync-configs.d.ts +27 -0
- package/dist/scripts/sync-configs.js +248 -0
- package/dist/scripts/test-biome-parse.d.ts +5 -0
- package/dist/scripts/test-biome-parse.js +84 -0
- package/dist/scripts/ultracite-setup.d.ts +4 -0
- package/dist/scripts/ultracite-setup.js +310 -0
- package/dist/scripts/update-all-init-scripts.d.ts +2 -0
- package/dist/scripts/update-all-init-scripts.js +52 -0
- package/dist/scripts/update-biome-schema.d.ts +15 -0
- package/dist/scripts/update-biome-schema.js +124 -0
- package/dist/src/AutoCoreFacade.d.ts +145 -0
- package/dist/src/AutoCoreFacade.js +217 -0
- package/dist/src/api/ApiActions.d.ts +297 -0
- package/dist/src/api/ApiActions.js +1905 -0
- package/dist/src/api/Certificate.d.ts +60 -0
- package/dist/src/api/Certificate.js +79 -0
- package/dist/src/api/JsonResponse.d.ts +116 -0
- package/dist/src/api/JsonResponse.js +206 -0
- package/dist/src/appium/DeviceFarmViewer.d.ts +79 -0
- package/dist/src/appium/DeviceFarmViewer.js +1083 -0
- package/dist/src/appium/MobileActions.d.ts +347 -0
- package/dist/src/appium/MobileActions.js +1632 -0
- package/dist/src/appium/MobileConnection.d.ts +160 -0
- package/dist/src/appium/MobileConnection.js +772 -0
- package/dist/src/config/envLoader.d.ts +123 -0
- package/dist/src/config/envLoader.js +361 -0
- package/dist/src/config/jest-safe-setup.d.ts +19 -0
- package/dist/src/config/jest-safe-setup.js +369 -0
- package/dist/src/config/timeouts.d.ts +32 -0
- package/dist/src/config/timeouts.js +38 -0
- package/dist/src/desktop/DesktopActions.d.ts +46 -0
- package/dist/src/desktop/DesktopActions.js +398 -0
- package/dist/src/desktop/DesktopConnection.d.ts +32 -0
- package/dist/src/desktop/DesktopConnection.js +84 -0
- package/dist/src/domain/entities/TestExecution.d.ts +117 -0
- package/dist/src/domain/entities/TestExecution.js +150 -0
- package/dist/src/domain/entities/TestReport.d.ts +114 -0
- package/dist/src/domain/entities/TestReport.js +179 -0
- package/dist/src/domain/repositories/ITestRepository.d.ts +196 -0
- package/dist/src/domain/repositories/ITestRepository.js +14 -0
- package/dist/src/domain/schemas/ValidationSchemas.d.ts +159 -0
- package/dist/src/domain/schemas/ValidationSchemas.js +181 -0
- package/dist/src/functions/errors/BaseError.d.ts +78 -0
- package/dist/src/functions/errors/BaseError.js +245 -0
- package/dist/src/functions/errors/ConfigurationError.d.ts +16 -0
- package/dist/src/functions/errors/ConfigurationError.js +48 -0
- package/dist/src/functions/errors/ErrorCatalog.d.ts +148 -0
- package/dist/src/functions/errors/ErrorCatalog.js +157 -0
- package/dist/src/functions/errors/GlobalErrorHandler.d.ts +101 -0
- package/dist/src/functions/errors/GlobalErrorHandler.js +281 -0
- package/dist/src/functions/errors/IntegrationError.d.ts +17 -0
- package/dist/src/functions/errors/IntegrationError.js +51 -0
- package/dist/src/functions/errors/SecurityError.d.ts +14 -0
- package/dist/src/functions/errors/SecurityError.js +42 -0
- package/dist/src/functions/errors/SystemError.d.ts +12 -0
- package/dist/src/functions/errors/SystemError.js +36 -0
- package/dist/src/functions/errors/ValidationError.d.ts +14 -0
- package/dist/src/functions/errors/ValidationError.js +61 -0
- package/dist/src/functions/errors/index.d.ts +12 -0
- package/dist/src/functions/errors/index.js +13 -0
- package/dist/src/global-setup.d.ts +1 -0
- package/dist/src/global-setup.js +1037 -0
- package/dist/src/helpers/BancoActions.d.ts +188 -0
- package/dist/src/helpers/BancoActions.js +581 -0
- package/dist/src/helpers/EnviromentHelper.d.ts +17 -0
- package/dist/src/helpers/EnviromentHelper.js +66 -0
- package/dist/src/helpers/ParallelExecutionHelper.d.ts +183 -0
- package/dist/src/helpers/ParallelExecutionHelper.js +375 -0
- package/dist/src/helpers/SyncSignal.d.ts +15 -0
- package/dist/src/helpers/SyncSignal.js +44 -0
- package/dist/src/hubdocs/CategoryDetector.d.ts +83 -0
- package/dist/src/hubdocs/CategoryDetector.js +401 -0
- package/dist/src/hubdocs/DirectStatementInterceptor.d.ts +54 -0
- package/dist/src/hubdocs/DirectStatementInterceptor.js +243 -0
- package/dist/src/hubdocs/ExecutionTracker.d.ts +107 -0
- package/dist/src/hubdocs/ExecutionTracker.js +702 -0
- package/dist/src/hubdocs/HubDocs.d.ts +395 -0
- package/dist/src/hubdocs/HubDocs.js +3586 -0
- package/dist/src/hubdocs/StatementMethodFilter.d.ts +71 -0
- package/dist/src/hubdocs/StatementMethodFilter.js +618 -0
- package/dist/src/hubdocs/StatementTracker.d.ts +417 -0
- package/dist/src/hubdocs/StatementTracker.js +2419 -0
- package/dist/src/hubdocs/SwaggerGenerator.d.ts +59 -0
- package/dist/src/hubdocs/SwaggerGenerator.js +405 -0
- package/dist/src/hubdocs/index.d.ts +9 -0
- package/dist/src/hubdocs/index.js +9 -0
- package/dist/src/hubdocs/types.d.ts +114 -0
- package/dist/src/hubdocs/types.js +5 -0
- package/dist/src/infrastructure/DependencyContainer.d.ts +142 -0
- package/dist/src/infrastructure/DependencyContainer.js +250 -0
- package/dist/src/infrastructure/adapters/AppiumAdapter.d.ts +168 -0
- package/dist/src/infrastructure/adapters/AppiumAdapter.js +468 -0
- package/dist/src/infrastructure/adapters/OracleAdapter.d.ts +150 -0
- package/dist/src/infrastructure/adapters/OracleAdapter.js +388 -0
- package/dist/src/infrastructure/adapters/PlaywrightAdapter.d.ts +192 -0
- package/dist/src/infrastructure/adapters/PlaywrightAdapter.js +382 -0
- package/dist/src/infrastructure/adapters/SSHAdapter.d.ts +141 -0
- package/dist/src/infrastructure/adapters/SSHAdapter.js +428 -0
- package/dist/src/interfaces.d.ts +501 -0
- package/dist/src/interfaces.js +25 -0
- package/dist/src/internal/fakes/__fake-actions__.d.ts +17 -0
- package/dist/src/internal/fakes/__fake-actions__.js +21 -0
- package/dist/src/internal/fakes/__forbidden__.d.ts +10 -0
- package/dist/src/internal/fakes/__forbidden__.js +18 -0
- package/dist/src/internal/fakes/__honeypot__.d.ts +15 -0
- package/dist/src/internal/fakes/__honeypot__.js +24 -0
- package/dist/src/octane/OctaneReporter.d.ts +13 -0
- package/dist/src/octane/OctaneReporter.js +61 -0
- package/dist/src/playwright/CryptoActions.d.ts +20 -0
- package/dist/src/playwright/CryptoActions.js +75 -0
- package/dist/src/playwright/EnhancedWebActions.d.ts +7 -0
- package/dist/src/playwright/EnhancedWebActions.js +65 -0
- package/dist/src/playwright/WebActions.d.ts +1599 -0
- package/dist/src/playwright/WebActions.js +11788 -0
- package/dist/src/playwright/actions/ActionTimeline.d.ts +36 -0
- package/dist/src/playwright/actions/ActionTimeline.js +101 -0
- package/dist/src/playwright/actions/RecoveryQueue.d.ts +82 -0
- package/dist/src/playwright/actions/RecoveryQueue.js +130 -0
- package/dist/src/playwright/actions/SelectorCache.d.ts +53 -0
- package/dist/src/playwright/actions/SelectorCache.js +96 -0
- package/dist/src/playwright/actions/index.d.ts +13 -0
- package/dist/src/playwright/actions/index.js +14 -0
- package/dist/src/playwright/actions/types.d.ts +147 -0
- package/dist/src/playwright/actions/types.js +5 -0
- package/dist/src/playwright/fixtures.d.ts +112 -0
- package/dist/src/playwright/fixtures.js +718 -0
- package/dist/src/playwright/network-logs-reporter.d.ts +7 -0
- package/dist/src/playwright/network-logs-reporter.js +66 -0
- package/dist/src/playwright/registerRecoveryWrappers.d.ts +1 -0
- package/dist/src/playwright/registerRecoveryWrappers.js +54 -0
- package/dist/src/security/BuildSecurity.d.ts +12 -0
- package/dist/src/security/BuildSecurity.js +138 -0
- package/dist/src/security/EulaProtection.d.ts +70 -0
- package/dist/src/security/EulaProtection.js +155 -0
- package/dist/src/security/HoneypotManager.d.ts +46 -0
- package/dist/src/security/HoneypotManager.js +234 -0
- package/dist/src/security/KeysManager.d.ts +36 -0
- package/dist/src/security/KeysManager.js +158 -0
- package/dist/src/security/ProofOfWorkIntegration.d.ts +64 -0
- package/dist/src/security/ProofOfWorkIntegration.js +206 -0
- package/dist/src/security/SecurityValidation.d.ts +21 -0
- package/dist/src/security/SecurityValidation.js +163 -0
- package/dist/src/security/SourceMapProtection.d.ts +55 -0
- package/dist/src/security/SourceMapProtection.js +220 -0
- package/dist/src/security/protector.d.ts +1 -0
- package/dist/src/security/protector.js +97 -0
- package/dist/src/ssh/SSHActions.d.ts +262 -0
- package/dist/src/ssh/SSHActions.js +790 -0
- package/dist/src/ssh/SSHClient.d.ts +99 -0
- package/dist/src/ssh/SSHClient.js +409 -0
- package/dist/src/statements/BaseStatement.d.ts +38 -0
- package/dist/src/statements/BaseStatement.js +78 -0
- package/dist/src/testContext/AuthStateManager.d.ts +93 -0
- package/dist/src/testContext/AuthStateManager.js +256 -0
- package/dist/src/testContext/CoverageManager.d.ts +198 -0
- package/dist/src/testContext/CoverageManager.js +917 -0
- package/dist/src/testContext/TestAnnotations.d.ts +476 -0
- package/dist/src/testContext/TestAnnotations.js +2647 -0
- package/dist/src/testContext/TestContext.d.ts +138 -0
- package/dist/src/testContext/TestContext.js +369 -0
- package/dist/src/testContext/UnifiedHtmlGenerator.d.ts +7 -0
- package/dist/src/testContext/UnifiedHtmlGenerator.js +264 -0
- package/dist/src/testContext/UnifiedReportManager.d.ts +211 -0
- package/dist/src/testContext/UnifiedReportManager.js +1206 -0
- package/dist/src/testhub/DynamicConfigManager.d.ts +121 -0
- package/dist/src/testhub/DynamicConfigManager.js +320 -0
- package/dist/src/testhub/SystemsManager.d.ts +119 -0
- package/dist/src/testhub/SystemsManager.js +365 -0
- package/dist/src/testhub/TestHubClient.d.ts +335 -0
- package/dist/src/testhub/TestHubClient.js +1215 -0
- package/dist/src/testhub/TestHubReporter.d.ts +62 -0
- package/dist/src/testhub/TestHubReporter.js +576 -0
- package/dist/src/testhub/TestHubVars.d.ts +116 -0
- package/dist/src/testhub/TestHubVars.js +273 -0
- package/dist/src/utils/ActionInterceptor.d.ts +59 -0
- package/dist/src/utils/ActionInterceptor.js +741 -0
- package/dist/src/utils/ArtifactsCompressor.d.ts +43 -0
- package/dist/src/utils/ArtifactsCompressor.js +181 -0
- package/dist/src/utils/AutoLogsFinal.d.ts +47 -0
- package/dist/src/utils/AutoLogsFinal.js +148 -0
- package/dist/src/utils/CodeGenSession.d.ts +114 -0
- package/dist/src/utils/CodeGenSession.js +264 -0
- package/dist/src/utils/ConfigLogger.d.ts +133 -0
- package/dist/src/utils/ConfigLogger.js +611 -0
- package/dist/src/utils/CustomReporter.d.ts +22 -0
- package/dist/src/utils/CustomReporter.js +352 -0
- package/dist/src/utils/DataStore.d.ts +171 -0
- package/dist/src/utils/DataStore.js +484 -0
- package/dist/src/utils/DatabaseInterceptor.d.ts +19 -0
- package/dist/src/utils/DatabaseInterceptor.js +295 -0
- package/dist/src/utils/DateHelper.d.ts +16 -0
- package/dist/src/utils/DateHelper.js +120 -0
- package/dist/src/utils/DateValidator.d.ts +4 -0
- package/dist/src/utils/DateValidator.js +51 -0
- package/dist/src/utils/DocumentGenerator.d.ts +35 -0
- package/dist/src/utils/DocumentGenerator.js +129 -0
- package/dist/src/utils/EvidenceCapture.d.ts +90 -0
- package/dist/src/utils/EvidenceCapture.js +600 -0
- package/dist/src/utils/EvidenceReportGenerator.d.ts +70 -0
- package/dist/src/utils/EvidenceReportGenerator.js +799 -0
- package/dist/src/utils/FrameManagementUtil.d.ts +42 -0
- package/dist/src/utils/FrameManagementUtil.js +75 -0
- package/dist/src/utils/GlobalStatementsInterceptor.d.ts +1 -0
- package/dist/src/utils/GlobalStatementsInterceptor.js +1 -0
- package/dist/src/utils/HTMLTemplate.d.ts +1 -0
- package/dist/src/utils/HTMLTemplate.js +1034 -0
- package/dist/src/utils/InterceptacaoMagica.d.ts +23 -0
- package/dist/src/utils/InterceptacaoMagica.js +365 -0
- package/dist/src/utils/LogSanitizer.d.ts +35 -0
- package/dist/src/utils/LogSanitizer.js +110 -0
- package/dist/src/utils/Logger.d.ts +65 -0
- package/dist/src/utils/Logger.js +284 -0
- package/dist/src/utils/McpLocalClient.d.ts +141 -0
- package/dist/src/utils/McpLocalClient.js +871 -0
- package/dist/src/utils/PDFEvidenceGenerator.d.ts +20 -0
- package/dist/src/utils/PDFEvidenceGenerator.js +156 -0
- package/dist/src/utils/SpecFileAnalyzer.d.ts +35 -0
- package/dist/src/utils/SpecFileAnalyzer.js +209 -0
- package/dist/src/utils/StatementInterceptor.d.ts +18 -0
- package/dist/src/utils/StatementInterceptor.js +87 -0
- package/dist/src/utils/StatementLogger.d.ts +33 -0
- package/dist/src/utils/StatementLogger.js +113 -0
- package/dist/src/utils/StatementsInterceptor.d.ts +1 -0
- package/dist/src/utils/StatementsInterceptor.js +1 -0
- package/dist/src/utils/TeamsFlushHook.d.ts +17 -0
- package/dist/src/utils/TeamsFlushHook.js +168 -0
- package/dist/src/utils/TerminalLogCapture.d.ts +158 -0
- package/dist/src/utils/TerminalLogCapture.js +531 -0
- package/dist/src/utils/TestMethodLogger.d.ts +70 -0
- package/dist/src/utils/TestMethodLogger.js +95 -0
- package/dist/src/utils/UnifiedTeardown.d.ts +4 -0
- package/dist/src/utils/UnifiedTeardown.js +400 -0
- package/dist/src/utils/XPathCatalog.d.ts +152 -0
- package/dist/src/utils/XPathCatalog.js +350 -0
- package/dist/src/utils/generators.d.ts +90 -0
- package/dist/src/utils/generators.js +167 -0
- package/dist/src/utils/testRecovery/ResilientPlaywright.d.ts +152 -0
- package/dist/src/utils/testRecovery/ResilientPlaywright.js +715 -0
- package/dist/src/utils/testRecovery/TestRecoveryClient.d.ts +801 -0
- package/dist/src/utils/testRecovery/TestRecoveryClient.js +1415 -0
- package/dist/src/utils/testRecovery/autoFixCode.d.ts +65 -0
- package/dist/src/utils/testRecovery/autoFixCode.js +32 -0
- package/dist/vitest.config.d.ts +2 -0
- package/dist/vitest.config.js +59 -0
- package/dist/wdio.conf.d.ts +1 -0
- package/dist/wdio.conf.js +420 -0
- package/package.json +137 -0
- package/protect-loader.mjs +643 -0
- package/scripts/consumer-postinstall.ts +975 -0
- package/scripts/generate-index.ts +343 -0
- package/scripts/init-api.ts +613 -0
- package/scripts/init-banco.ts +437 -0
- package/scripts/init-frontend.ts +727 -0
- package/scripts/init-mobile.ts +558 -0
- package/scripts/init-scenarios.ts +925 -0
- package/scripts/init-ssh.ts +734 -0
- package/scripts/package-versions.ts +978 -0
- package/scripts/postinstall.ts +605 -0
- package/scripts/smart-override.ts +1675 -0
- package/scripts/sync-configs.ts +302 -0
- package/scripts/ultracite-setup.ts +370 -0
- package/src/types/globals.d.ts +48 -0
- package/tsconfig.json +29 -0
- package/types/autocore-sync-signal.d.ts +10 -0
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// @ts-nocheck
|
|
3
|
+
import { execSync } from 'node:child_process';
|
|
4
|
+
import * as fs from 'node:fs';
|
|
5
|
+
import * as path from 'node:path';
|
|
6
|
+
class LocalPackagesSetup {
|
|
7
|
+
projectRoot;
|
|
8
|
+
packageJsonPath;
|
|
9
|
+
constructor() {
|
|
10
|
+
this.projectRoot = process.cwd();
|
|
11
|
+
this.packageJsonPath = path.join(this.projectRoot, 'package.json');
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* 🚀 Executa setup completo de pacotes locais
|
|
15
|
+
*/
|
|
16
|
+
async run() {
|
|
17
|
+
console.log('\n🔧 ============================================');
|
|
18
|
+
console.log('🔧 Setup de Pacotes Locais do AutoCore');
|
|
19
|
+
console.log('🔧 ============================================\n');
|
|
20
|
+
// 1. Verificar se package.json existe
|
|
21
|
+
if (!fs.existsSync(this.packageJsonPath)) {
|
|
22
|
+
console.error('❌ package.json não encontrado!');
|
|
23
|
+
console.log('💡 Execute este script na raiz do seu projeto');
|
|
24
|
+
process.exit(1);
|
|
25
|
+
}
|
|
26
|
+
// 2. Verificar se autocore está instalado
|
|
27
|
+
const autocoreInstalled = this.isAutocoreInstalled();
|
|
28
|
+
if (!autocoreInstalled) {
|
|
29
|
+
console.error('❌ AutoCore não está instalado!');
|
|
30
|
+
console.log('💡 Execute primeiro: npm install');
|
|
31
|
+
process.exit(1);
|
|
32
|
+
}
|
|
33
|
+
console.log('✅ AutoCore detectado\n');
|
|
34
|
+
// 3. Perguntar quais pacotes configurar
|
|
35
|
+
const localPackages = await this.promptForLocalPackages();
|
|
36
|
+
if (localPackages.length === 0) {
|
|
37
|
+
console.log('ℹ️ Nenhum pacote local configurado');
|
|
38
|
+
console.log('💡 Se você tiver pacotes locais, adicione-os ao package.json com file: protocol');
|
|
39
|
+
process.exit(0);
|
|
40
|
+
}
|
|
41
|
+
// 4. Atualizar package.json com file: paths
|
|
42
|
+
this.updatePackageJson(localPackages);
|
|
43
|
+
// 5. Reinstalar dependências
|
|
44
|
+
console.log('\n📦 Reinstalando dependências com pacotes locais...\n');
|
|
45
|
+
try {
|
|
46
|
+
execSync('npm install', { stdio: 'inherit' });
|
|
47
|
+
console.log('\n✅ Pacotes locais configurados com sucesso!');
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
console.error('\n❌ Erro ao reinstalar dependências:', error);
|
|
51
|
+
process.exit(1);
|
|
52
|
+
}
|
|
53
|
+
// 6. Resumo
|
|
54
|
+
this.printSummary(localPackages);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Verifica se AutoCore está instalado
|
|
58
|
+
*/
|
|
59
|
+
isAutocoreInstalled() {
|
|
60
|
+
const autoCorePath = path.join(this.projectRoot, 'node_modules', '@rbqa', 'autocore');
|
|
61
|
+
return fs.existsSync(autoCorePath);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Detecta pacotes locais disponíveis
|
|
65
|
+
*/
|
|
66
|
+
async promptForLocalPackages() {
|
|
67
|
+
const localPackages = [];
|
|
68
|
+
// Pacotes comuns que podem ter versões locais
|
|
69
|
+
const commonPackages = [
|
|
70
|
+
{ name: '@rbqa/test-zip-api', description: 'API ZIP' },
|
|
71
|
+
{ name: '@rbqa/test-mobile-app', description: 'Mobile App' },
|
|
72
|
+
{ name: '@rbqa/test-frontend', description: 'Frontend' },
|
|
73
|
+
{ name: '@rbqa/test-ssh-connection', description: 'SSH' },
|
|
74
|
+
{ name: '@rbqa/test-banco-oracle', description: 'Banco Oracle' },
|
|
75
|
+
];
|
|
76
|
+
console.log('📦 Pacotes @rbqa disponíveis para desenvolvimento local:\n');
|
|
77
|
+
for (const pkg of commonPackages) {
|
|
78
|
+
// Verificar se o pacote existe localmente
|
|
79
|
+
const possiblePaths = [
|
|
80
|
+
path.join(this.projectRoot, '..', pkg.name.split('/')[1]),
|
|
81
|
+
path.join(this.projectRoot, '..', '..', pkg.name.split('/')[1]),
|
|
82
|
+
];
|
|
83
|
+
for (const localPath of possiblePaths) {
|
|
84
|
+
if (fs.existsSync(localPath)) {
|
|
85
|
+
const pkgJsonPath = path.join(localPath, 'package.json');
|
|
86
|
+
if (fs.existsSync(pkgJsonPath)) {
|
|
87
|
+
console.log(`✅ Encontrado: ${pkg.name}`);
|
|
88
|
+
console.log(` 📁 ${localPath}`);
|
|
89
|
+
localPackages.push({
|
|
90
|
+
name: pkg.name,
|
|
91
|
+
localPath: path.relative(this.projectRoot, localPath),
|
|
92
|
+
description: pkg.description,
|
|
93
|
+
});
|
|
94
|
+
break;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
if (localPackages.length === 0) {
|
|
100
|
+
console.log('ℹ️ Nenhum pacote local detectado automaticamente');
|
|
101
|
+
console.log('💡 Você pode adicionar manualmente no package.json:');
|
|
102
|
+
console.log(' "dependencies": {');
|
|
103
|
+
console.log(' "@rbqa/test-zip-api": "file:../test-zip-api"');
|
|
104
|
+
console.log(' }');
|
|
105
|
+
}
|
|
106
|
+
return localPackages;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Atualiza package.json com file: paths
|
|
110
|
+
*/
|
|
111
|
+
updatePackageJson(localPackages) {
|
|
112
|
+
console.log('\n📝 Atualizando package.json...\n');
|
|
113
|
+
const packageJson = JSON.parse(fs.readFileSync(this.packageJsonPath, 'utf-8'));
|
|
114
|
+
packageJson.dependencies = packageJson.dependencies || {};
|
|
115
|
+
for (const pkg of localPackages) {
|
|
116
|
+
const oldVersion = packageJson.dependencies[pkg.name];
|
|
117
|
+
packageJson.dependencies[pkg.name] = `file:${pkg.localPath}`;
|
|
118
|
+
console.log(`📦 ${pkg.name}`);
|
|
119
|
+
console.log(` ❌ Antes: ${oldVersion || 'não instalado'}`);
|
|
120
|
+
console.log(` ✅ Agora: file:${pkg.localPath}`);
|
|
121
|
+
}
|
|
122
|
+
fs.writeFileSync(this.packageJsonPath, JSON.stringify(packageJson, null, 2) + '\n', 'utf-8');
|
|
123
|
+
console.log('\n✅ package.json atualizado');
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Imprime resumo final
|
|
127
|
+
*/
|
|
128
|
+
printSummary(localPackages) {
|
|
129
|
+
console.log('\n📊 ============================================');
|
|
130
|
+
console.log('📊 Resumo da Configuração');
|
|
131
|
+
console.log('📊 ============================================\n');
|
|
132
|
+
console.log('✅ Pacotes locais configurados:');
|
|
133
|
+
for (const pkg of localPackages) {
|
|
134
|
+
console.log(` 📦 ${pkg.name} → file:${pkg.localPath}`);
|
|
135
|
+
}
|
|
136
|
+
console.log('\n💡 Próximos passos:');
|
|
137
|
+
console.log(' 1. Desenvolva normalmente');
|
|
138
|
+
console.log(' 2. Mudanças nos pacotes locais são refletidas automaticamente');
|
|
139
|
+
console.log(' 3. Para voltar ao Azure: npm run setup:azure\n');
|
|
140
|
+
console.log('🔧 Comandos úteis:');
|
|
141
|
+
console.log(' npm run build - Compilar projeto');
|
|
142
|
+
console.log(' npm run test:preprod - Executar testes');
|
|
143
|
+
console.log(' npm run update - Atualizar índices\n');
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Reverte para usar pacotes do Azure
|
|
147
|
+
*/
|
|
148
|
+
async revertToAzure() {
|
|
149
|
+
console.log('\n🔄 Revertendo para pacotes do Azure DevOps...\n');
|
|
150
|
+
const packageJson = JSON.parse(fs.readFileSync(this.packageJsonPath, 'utf-8'));
|
|
151
|
+
const fileProtocolPackages = [];
|
|
152
|
+
// Encontrar todos os pacotes com file: protocol
|
|
153
|
+
for (const [name, version] of Object.entries(packageJson.dependencies || {})) {
|
|
154
|
+
if (typeof version === 'string' && version.startsWith('file:')) {
|
|
155
|
+
fileProtocolPackages.push(name);
|
|
156
|
+
delete packageJson.dependencies[name];
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
if (fileProtocolPackages.length === 0) {
|
|
160
|
+
console.log('ℹ️ Nenhum pacote local encontrado');
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
// Salvar package.json sem os pacotes locais
|
|
164
|
+
fs.writeFileSync(this.packageJsonPath, JSON.stringify(packageJson, null, 2) + '\n', 'utf-8');
|
|
165
|
+
console.log('📦 Pacotes removidos:');
|
|
166
|
+
fileProtocolPackages.forEach((pkg) => console.log(` ❌ ${pkg}`));
|
|
167
|
+
// Reinstalar do Azure
|
|
168
|
+
console.log('\n📥 Reinstalando do Azure DevOps...\n');
|
|
169
|
+
try {
|
|
170
|
+
execSync('npm install', { stdio: 'inherit' });
|
|
171
|
+
console.log('\n✅ Revertido para Azure DevOps com sucesso!');
|
|
172
|
+
}
|
|
173
|
+
catch (error) {
|
|
174
|
+
console.error('\n❌ Erro ao reinstalar:', error);
|
|
175
|
+
process.exit(1);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
// ==========================================
|
|
180
|
+
// CLI Execution
|
|
181
|
+
// ==========================================
|
|
182
|
+
async function main() {
|
|
183
|
+
const args = process.argv.slice(2);
|
|
184
|
+
const command = args[0] || 'setup';
|
|
185
|
+
const setup = new LocalPackagesSetup();
|
|
186
|
+
try {
|
|
187
|
+
switch (command) {
|
|
188
|
+
case 'setup':
|
|
189
|
+
case 'local':
|
|
190
|
+
await setup.run();
|
|
191
|
+
break;
|
|
192
|
+
case 'revert':
|
|
193
|
+
case 'azure':
|
|
194
|
+
await setup.revertToAzure();
|
|
195
|
+
break;
|
|
196
|
+
case 'help':
|
|
197
|
+
console.log(`
|
|
198
|
+
🔧 Setup Local Packages
|
|
199
|
+
|
|
200
|
+
COMANDOS:
|
|
201
|
+
setup, local - Configura pacotes locais (padrão)
|
|
202
|
+
revert, azure - Reverte para Azure DevOps
|
|
203
|
+
help - Mostra esta ajuda
|
|
204
|
+
|
|
205
|
+
EXEMPLOS:
|
|
206
|
+
# Configurar pacotes locais
|
|
207
|
+
npm run setup:local
|
|
208
|
+
npx tsx node_modules/@silasfmartins/testhub/scripts/setup-local-packages.ts
|
|
209
|
+
|
|
210
|
+
# Reverter para Azure
|
|
211
|
+
npm run setup:azure
|
|
212
|
+
npx tsx node_modules/@silasfmartins/testhub/scripts/setup-local-packages.ts revert
|
|
213
|
+
|
|
214
|
+
WORKFLOW RECOMENDADO:
|
|
215
|
+
1. npm install # Primeira instalação do Azure
|
|
216
|
+
2. npm run setup:local # Configurar pacotes locais para dev
|
|
217
|
+
3. [desenvolver e testar]
|
|
218
|
+
4. npm run setup:azure # Reverter antes de commit
|
|
219
|
+
`);
|
|
220
|
+
break;
|
|
221
|
+
default:
|
|
222
|
+
console.error(`❌ Comando desconhecido: ${command}`);
|
|
223
|
+
console.log('Use "help" para ver comandos disponíveis');
|
|
224
|
+
process.exit(1);
|
|
225
|
+
}
|
|
226
|
+
process.exit(0);
|
|
227
|
+
}
|
|
228
|
+
catch (error) {
|
|
229
|
+
console.error('❌ Erro:', error);
|
|
230
|
+
process.exit(1);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
// Rodar apenas se executado diretamente
|
|
234
|
+
if (import.meta.url === `file://${process.argv[1].replace(/\\/g, '/')}`) {
|
|
235
|
+
main();
|
|
236
|
+
}
|
|
237
|
+
export { LocalPackagesSetup };
|