SuiteScript Logger CLI
npm install new-relic-loggersrc/)
--lang ts: @hitc/netsuite-types en devDependencies
bash
npm i -D new-relic-logger
`
Uso (recomendado con npx)
`bash
npx --yes new-relic-logger generate --lang js
`
Alternativas:
`bash
Instalación global (opcional)
npm i -g new-relic-logger
new-relic-logger generate --lang js
Si estás en este repo
node ./bin/new-relic-logger.js generate --lang js
`
Comandos
$3
- Output (fijo): src/FileCabinet/SuiteScripts/logger
- Formato: SuiteScript 2.x AMD (define([], function () {}))
- Compatibilidad NetSuite: sin exports ESM
- Archivos generados: constants.js, getInfoTransaction.js, newRelicClient.js, utils/generateUUID.js
`bash
npx --yes new-relic-logger generate --lang js
`
$3
- Output (fijo): src/TypeScript/logger
- Requisito: el proyecto destino debe tener @hitc/netsuite-types en devDependencies
- Nota: la compilación a JS la hace tu proyecto SuiteApp (no este CLI)
`bash
npx --yes new-relic-logger generate --lang ts
`
Qué genera (estructura)
$3
`
src/
FileCabinet/
SuiteScripts/
logger/
constants.js
getInfoTransaction.js
newRelicClient.js
utils/
generateUUID.js
`
$3
`
src/
TypeScript/
logger/
constants.ts
getInfoTransaction.ts
newRelicClient.ts
types.d.ts
utils/
generateUUID.ts
`
Uso del logger generado (ejemplo mínimo)
En tu SuiteScript, importa NewRelicClient desde la carpeta generada:
`ts
import { NewRelicClient } from './logger/newRelicClient';
const nrClient = new NewRelicClient({
id: 12345,
type: 'invoice',
processType: 'certification',
});
nrClient.bufferLogInfo('Proceso iniciado');
nrClient.flushLogs();
`
> La documentación completa del cliente (logs, métricas, eventos, buffering, etc.) está en src/README.md.
Flags
- --lang: js o ts (obligatorio)
- --dest: ruta a la raíz del proyecto destino (default: directorio actual)
- --force: sobrescribe si el output ya existe
- --help / -h: muestra ayuda
Help (salida del CLI)
`text
new-relic-logger
Usage:
new-relic-logger generate --lang js|ts [--dest ] [--force]
Flags:
--help shows this help message and exits
--lang js|ts (required)
--dest path (default: current directory)
--force overwrites if already exists
``