I had a dependency conflict somewhere between paper-input and gold-phone-input. I read in stackoverflow about it and cleared the node_modules directory as well as package-lock.json and reinstalled using npm install later. This fixed the dependency issue between paper-input and gold-phone-input.
And since then, none of the directives are seeming to work. And instead of applying a directive, it prints the javascript code of the directive I'm using into the html. There were no errors logged in console.

Here is the link to the package-lock.json
I'm using polymer-cli to serve up the files.
In version 0.13 of lit-html the way directives are defined has changed, and it sounds like this could have caused the issue you see. Make sure you don't have two different versions of lit-html, through some other dependencies, installed.
Try running npm dedupe
Hey! I found that there has been two versions of lit-html being used so I tried using a older version of lit-html installed at my root node_modules so that all are in sync. But didn't help. Also tried running npm dedupe. Same as before.
dedupe probably doesn't work because @material/mwc-base and @material/mwc-ripple require ^0.12.0 while @polymer/lit-element requires ^0.13.0. Downgrade @polymer/lit-element to version 0.6.2 (exactly) and it should work, since v0.6.3 upgraded to lit-html v0.13.0.
Most helpful comment
dedupeprobably doesn't work because@material/mwc-baseand@material/mwc-ripplerequire^0.12.0while@polymer/lit-elementrequires^0.13.0. Downgrade@polymer/lit-elementto version 0.6.2 (exactly) and it should work, since v0.6.3 upgraded to lit-html v0.13.0.