Adds logging to a javascript file when a function starts
npm install @alu0100889772/addlogging#### Aprendizaje con la herramienta Inspect
Observando el código podemos aprender que a partir de el código inicial, lo primero que se hace es transformarlo en un AST.

Este AST se va recorriendo hasta que encuentre un nodo con un 'type' FunctionDeclaration o FunctionExpression. Cuando lo ha encontrado es cuando añadimos nuestro propio nodo al AST con el Logging de que se ha entrado en esa función.
Esto se hace creado el código con el logging:
``javascriptconsole.log('Entering ${name}(
let beforeCode = )');;
``
Y luego pasando el código por esprima.parse que lo transforma para poder inyectarlo al AST.
#### Añadir los parámetros de la función al Logging
Para poder añadir al Logging los parámetros de la función a la que se entra tenemos que observar el hijo de node que se llama params. Es un Array por lo que simplemente creamos un bucle que lo recorra y añadimos los nombres de los parámetros.

#### Usando commander
El paquete commander nos facilita la interfaz de comandos de nuestro programa. Añade fácilmente las opciones -h y -V además de permitir que creemos opciones personalizadas.
Para esta práctica añadí las siguientes líneas de código:
`javascript
const program = require('commander');
const {version, description} = require('./package.json');
program
.version(version)
.arguments('
.description(description)
.option('-o, --output
program.parse(process.argv);
`
Gracias a esto ya funcionan las opciones -h y -V. La opción -o \

#### Documentación
###### Table of Contents
* addLogging
* Parameters
* addBeforeCode
* Parameters
##### addLogging
This function starts the process to comment every function of the input code.
###### Parameters
* code input
* String code.
Returns String commented code.
##### addBeforeCode
This function adds a comment after the program enters a function.
###### Parameters
* node` node where the comment will be injected.