impex-runner
v1.1.1
Published
Biblioteca Node.js para executar scripts ImpEx no SAP Commerce (Hybris) via HAC
Maintainers
Readme
impex-runner
Biblioteca Node.js para executar scripts ImpEx no SAP Commerce (Hybris) via HAC.
Documentacao atualizada para a versao 1.1.0.
Caracteristicas
- Execucao sequencial de multiplos scripts ImpEx
- Login automatico no HAC
- Controle de erro com parada configuravel
- Delay configuravel entre scripts
- Suporte a SSL/TLS e timeout
- Criacao automatica de
impex-launcher.jseimpex-runner-config/no projeto cliente - Inclusao automatica de
impex-runner-config/no.gitignore - Resolucao de caminhos
.impexa partir da raiz real do projeto
Instalacao
npm install impex-runnerDepois da instalacao, a lib cria automaticamente no projeto cliente:
impex-launcher.jsimpex-runner-config/.env.localimpex-runner-config/.env.d1impex-runner-config/.env.s1impex-runner-config/.env.prdimpex-runner-config/README.md
Uso
Para usar a biblioteca no projeto, basta seguir estes 3 passos:
- Configure o arquivo
impex-launcher.js. - Ajuste a lista de caminhos dos arquivos
.impexque deseja executar. - Execute:
node impex-launcher.jsExemplo de lista de scripts no impex-launcher.js:
const scripts = [
'impexs/01-users.impex',
'impexs/02-products.impex',
'impexs/03-categories.impex'
] ; Como informar os scripts
Os caminhos dos arquivos .impex devem ser informados de forma relativa a raiz do projeto.
Exemplo correto:
const scripts = [
'core-customize/hybris/bin/custom/b2b/b2binitialdata/resources/b2binitialdata/import/sampledata/contentCatalogs/B2BContentCatalog/structureds/test/login/01-test-login.impex'
] ; Evite usar caminhos como:
const scripts = [
'../../../../../../../core-customize/hybris/bin/custom/.../01-test-login.impex'
] ; A biblioteca detecta a raiz do projeto priorizando:
.gitpom.xmlbuild.gradlepackage.jsoncomo fallback
Se precisar sobrescrever isso manualmente:
const config = {
hacUrl: 'https://localhost:9002/hac',
username: 'admin',
password: 'nimdaa',
projectRoot: '/projects/your-project'
} ; Configuracao
config
| Propriedade | Tipo | Obrigatorio | Padrao | Descricao |
| --- | --- | --- | --- | --- |
| hacUrl | string | Sim | - | URL do HAC |
| username | string | Sim | - | Usuario do HAC |
| password | string | Sim | - | Senha do HAC |
| verifySSL | boolean | Nao | true | Valida certificado SSL |
| timeout | number | Nao | 60000 | Timeout em ms |
| environment | string | Nao | - | Nome do ambiente para log |
| projectRoot | string | Nao | auto | Raiz do projeto para resolver os arquivos |
options
| Propriedade | Tipo | Padrao | Descricao |
| --- | --- | --- | --- |
| clearTerminal | boolean | true | Limpa o terminal antes da execucao |
| stopOnError | boolean | true | Interrompe ao encontrar erro |
| delayBetweenScripts | number | 1000 | Delay entre scripts em ms |
Retorno
runImpexScripts(config, scripts, options) retorna uma Promise<Array> com o resultado de cada arquivo executado.
Exemplo:
[
{ script: '01-users.impex', success: true },
{ script: '02-products.impex', success: false, error: '...' }
]Seguranca
Nao commite credenciais no repositorio.
Os arquivos de ambiente sao criados dentro de impex-runner-config/ e o postinstall tenta adicionar essa pasta ao .gitignore automaticamente.
Exemplo usando variaveis de ambiente:
const config = {
hacUrl: process.env.HAC_URL,
username: process.env.HAC_USERNAME,
password: process.env.HAC_PASSWORD,
verifySSL: process.env.VERIFY_SSL === 'true'
} ; Fluxo recomendado
- Instale a lib com
npm install impex-runner - Configure o arquivo
impex-launcher.js - Ajuste os caminhos dos
.impexdesejados - Execute
node impex-launcher.js
Licenca
MIT. Veja LICENSE.
