# Debug node-red-contrib-ical-events

  1. First of all, we have to install Node-RED locally as a global package
    npm i -g node-red
    
  2. run node-red once and shutdown it after a few seconds, in order to generate a .node-red folder in your $HOME folder
  3. node-red
    
  4. create a launch.json under ~/.node-red/.vscode

    launch_json

    {
        "version": "0.2.0",
        "configurations": [
            {
                "type": "node",
                "request": "attach",
                "name": "Attach to node-red",
                "port": 9229,
                "trace": true,
                "sourceMaps": true,
                "outFiles": ["/Users/benjamin/.node-red/node_modules/node-red-contrib-ical-events/dist/**/*.js"]
            }
        ]
    }
    
  5. Now clone node-red-contrib-ical-events and install the dependencies.
    cd $HOME
    git clone https://github.com/naimo84/node-red-contrib-ical-events
    npm i 
    
  6. Connect node-red-contrib-ical-events via npm install to the $HOME/.node-red folder
    cd $HOME/.node-red
    npm install $HOME/node-red-contrib-ical-events
    

    The package.json under $HOME/.node-red should now look like the following:

    {
        "name": "node-red-project",
        "description": "A Node-RED Project",
        "version": "0.0.1",
        "private": true,
        "dependencies": {
            "node-red-contrib-ical-events": "file:../node-red-contrib-ical-events"
        }
    }
    
  7. Now it's really important to open the correct folder as you can see under topic

    create launch.json.

    I'm doing this wrong after so many years of Node-RED module coding 😉
    The correct folder to get a breakpoint into the module is:

    $HOME/.node-red/node_modules/node-red-contrib-ical-events
    
  8. Run the dev task, which opens a remote debugging (opens new window) port 9229
    cd $HOME/.node-red/node_modules/node-red-contrib-ical-events
    npm run dev
    
  9. Attach to node-red under VS Code's "Run and Debug"

    attach

  10. Now open http://localhost:1880 (opens new window) and add a node, trigger it and happy debugging ;)