So I found a solution for this.
Using a File resource upload your folders into /tmp/modules
In the json add extra arguments as this
"extra_arguments" : ["--modulepath=/tmp/modules","--disable_warnings"," deprecations"," -e 'include <classname>'"]
The actual command that comes up on packer will be --> puppet apply --detailed-exitcodes --modulepath=/tmp/modules --disable_warnings deprecations -e 'include <class_name>' /tmp/packer-puppet-masterless/manifests
Unfortunately we cannot leave the manifest_file column blank so it may cause a double uploading of your manifest. But hey u can upload a dummy init.pp too...
The init.pp manifest will be something like this.
class <class_name>{
include <class_name>::<another_module_name>
}
ex
class abcd{
include abcd::xyz