Q: Create Vue Directive that doesn't expect an expression This code:
// template in pug
#review-step.container

    .panel(v-test.a)

// in main.js
Vue.directive('test', function(el, binding) {
    console.log(binding.modifiers)
})

Gives these errors:
[Vue warn]: Property or method "v" is not defined on the instance but referenced during render. ...
[Vue warn]: Property or method "test" is not defined on the instance but referenced during render. ...
TypeError: Cannot read property 'a' of undefined. ...

If I change the directive to v-test.a="" then it works fine. Similarly, v-pre, v-cloak, and v-once all work fine, so it isn't pug compiling the template incorrectly.
I want to know how to create a directive that expects no expression, like v-pre, v-cloak, or v-b-modal from bootstrap-vue (which by the way is the reason I'm really here, since that directive is having this same problem).
I can't find this anywhere, the vue custom directives docs have nothing, and searching for directive pre or something similar in the vue repo hasn't helped me turn up how the vue team has accomplished this.

A: It turns out it was pug. I don't know how the vue team has made their directives work regardless, but pug is mirroring attributes.
Unfortunately I need to figure out how to pass the doctype option to the vue webpack loader, unless I want to declare that at the top of every template.
