Escribir módulos de importación con NodeJS
Aquí hay un ejemplo de un módulo de importación NodeJS que podría servir como esqueleto.
#!/usr/bin/env node process.stdin.resume(); process.stdin.setEncoding('utf8'); process.stdin.once('data', function (input) { process.stdin.pause(); input = JSON.parse( input ); console.log({ [process.env.CLARIVE_RETURN]: { 'hello': input.quux } }); });
Warning
No olvide aplicar la bandera de ejecución +x a sus módulos de importación.
Las reglas de Clarive solo pueden invocar módulos que sean ejecutables.
Asegúrese de que la definición shebang #! apunte a un binario válido
en la imagen del contenedor docker que se utilizará con
su módulo.
Para probar el módulo de importación NodeJS anterior desde la línea de comandos, pruebe el siguiente comando:
echo '{ "quux": 123 }' | CLARIVE_RETURN=1234 ./node_hello.js
Si todo salió bien, se debería mostrar la siguiente salida.
{"1234": { "hello": 123 } }
Usar importaciones NodeJS en su rulebook¶
Para usar un módulo NodeJS primero debe registrarlo en un repositorio Git gestionado por Clarive.
Supongamos que hay un proyecto llamado MyProject configurado en su sistema, y
que el proyecto tiene un repositorio Git llamado MyRepo. Por lo tanto, la ruta a su
rulebook y módulo sería:
/MyProject/MyRepo/.clarive.yml /MyProject/MyRepo/.clarive/imports/node_hello.js
Ahora en su rulebook importe el archivo NodeJS con la directiva import:.
Puede probar esto usando el REPL.
image: node workspace: - MyProject/MyRepo import: - /MyProject/MyRepo/.clarive/imports do: - echo: "and now for something completely different:" - node_hello: quux: "world"